Developer – ‘It Is Not Possible To Play Music On An Android Phone’

Google Android Phone Music Application LatencyFrench music site Musique Tactile has an interesting post on the state of Google’s Android multi-touch operating system, and why Android music app development is lagging so far behind development on Apple’s iOS:

Google’s multitouch operating system is far behind Apple’s iOS regarding musical creation possibilities. The lag is measurable: about 350 milliseconds. It seems insignificant but it is not.

This latency problem on Android stops developers from writing musical apps that could compete with those available on iPhone or iPad.

They compared latency on a variety of mobile devices. They found that, at best, Android devices have almost 20 times the latency of iOS devices:

  • iOS latency – 5.8 ms
  • Best Android device latency – 108.8 ms
  • Standard Android latency – 371.5 ms

Here’s a set of audio demos that highlight what this means for musicians. The first example demonstrates zero latency. The second, latency on an iOS device. The last two examples demonstrate latency on Android devices:

This level of latency doesn’t preclude using Android for some types of apps, especially ones where the focus is on programming sequences. But it does demonstrate why many music app developers are avoiding Android for interactive music apps.

Musique Tactile sums up the situation like this:

It is not possible to play music with an Android phone.

For the time being, iOS is for creatives while Android is for content consumption. This will remain the case until Google starts to listen to what audio developers have been asking for more than two years.

What do you think of the state of Android as a music platform  – and the prospects for its future?

via PalmSounds

68 thoughts on “Developer – ‘It Is Not Possible To Play Music On An Android Phone’

  1. WTF is “Musique Tactile” and why should we care what they say?

    I’d like to see real tests with real results posted, not this bullshit.

    1. I totally agree this sounds like BS. My first thought is: aren’t (action) *GAMES* playable on an Android device? I don’t have one but I’ve never read any complaints about latency on gaming. While the visuals latency is obviously different than the audio latency, they surely have to be correlated.

      1. Thats because games dont process the audio data in realtime, and therefor can create static buffers before playing the sound, while music apps have to stream into an already existing buffer, which is uber slow on android

    2. bs? are you slow? its a fact. download any drum machine on android and try to play with it on an android phone. if you have no issues with the latency issues then you might actually have mental issues. its a very problematic overlook and has switched my vote back to ios.

    3. I agree. I bought one of the first android phones and was happy. Then iOS started touch instruments and I tried them out. Even on older slower devices the response was incredible. I said if iOS can do it so can android. I downloaded an app for android and the latency made it absolutely impossible to live record with a metronome. Waited for fl studio to be produced on android with hopes of an improvement and was sadly disappointed. Well I guess you know what happened next….iOS it is and not an ounce of regret. You can’t go around saying its a BS test when you haven’t actually tried both platforms. I don’t bring down either one because each OS has it’s strength. I tested both for touchscreen lag and iOS devices kill android in that department. Do your research and then speak with a knowledgable point not as an “android only” fan. You sound dumb

    4. I totally agree with synthhead. I been composing music for 12 years and I use the three avaiable tablets in the market to create and sync music and some people are so in love with their Android units that make them blind to their defects.

      Ipad has a huge response difference as stated in the example above and has been tested over and over. Since music is created on realtime there is no way that the device will predict the next move. Games are contained into posibilities and the user just “glide” between the developer options thats why they compensate the slow reponse.

      A good example is ipad drum meister grand. There is an excellent example in youtube how people actually perform live with the app.

      However there isn’t one single app for android that can hold a 30 second session without having a horrible loss of response because lag issues.

      New Windows phones impress with their performance but after a minute also shows lag issues and I am talking about $20 pro apps, not another android bloatware that probably half of the issue is the 10 banner ads that they download while the app is loaded.

      The example used clearly shows the problem and only real users that actually use their devices to create music can notice the lagging difference. Is not about a person with one finger pressing one area, we are talking at least 3 to 6 fingers, multi simultaneous presses in a coordinated manner.

      I do have an android but i accept the fact that most of the really nice things of the device you get it by rooting and hacking the phone in order to work better (except live music creation). Te

    5. This is not bs at all. I specifically googled this because i was not able to play the drums on any drums app without this terrible lag. My wifes and coworkers iphones never have this lag. If you know any drummers out there ask them to play you something on your android vs an iphone and let them tell you how awful it is on the android vs the iphone. Why would someone just make this up?

    6. It’s 2017 and this issue is still unsolved even in the latest Android version available – 7.1. A few years ago I wanted to learn finger-drumming with an app called “Real Drum” on my Xperia SP. It was basically impossible – the latency exceeded 200ms. Recently, I got a Galaxy S8 and I’ve been searching for a good, low-latency drumming app. Unfortunately, every app I’ve tried (including Real Drum) STILL had an unacceptable delay between touching the screen and producing the sound. It’s less significant now than it was before, but it still makes it really hard to play with a metronome. The fact that Google is ignoring this problem makes me sad. I KNOW that they could fix it if they really wanted to – making a low-latency audio/touch system can’t be that hard. This company makes tens of billions USD annually, god damn it! I’m not saying that this should be their priority, but it’s been over 12 years since Google bought Android!!! FFS!

    1. how do you figure? I hit a button to download a song, I don’t care if it takes 1/3 of a second to register and begin. I hit a button to launch a midi drum sequence, 1/3 of a second lag is gonna ruin my song. depending on the tempo, it could be a whole beat behind.

      1. You’re not serious are you? Let’s say you finally get a drum sequence in and then you want to play a bass part along with it… that delay in the last example is so bad you will never get the timing right to play a bass part in time to the song. Maybe you can step enter it, but on my iPhone I’m making tracks, playing new parts in real-time and it’s rocking out.

  2. The title should really be rephrased as “It’s not possibly to play music on an Android Phone IN REAL TIME”. It’s definitely possible to play music, but developers may need to think out of the box and create new types of instruments that don’t necessarily require a real-time/low-latency response.

    Who gets to decide what latency is acceptable? The developers or the consumers? There’s piano applications on Android with very high ratings and the consumers definitely seem happy with the top rated ones. If that’s the case, why is there this backlash from developers? If the demand is there and people are ok with higher latency applications, what is the problem?

    1. A music box? Roll your finger on touch screen and after awhile hear it playing Johannes Brahms’ Lullaby. I would pay 0,00$ for that.

    2. Exactly what Seth said. Although this is a problem for many developers of keyboard/drum pad type apps, it doesn’t limit sequencers or other creative music apps. It’s foolish to dismiss an entire market and insult its developers and users by saying it’s for “content consumption” because of a downside like that. In fact, saying it’s impossible shows a lack of creativity. iOS and android both have plenty of things I could go on about as a developer that need improvement; the only important thing is just choosing the one (or both) that’s most suited for you.

      1. while I agree with you to an extent, part of the allure of these devices is the ability to play instruments LIVE with new performance techniques and gestures. Sequencers do not lend themselves to improvisation.

    3. They’re OK with it because it’s the best there is.

      If Android Market also offered piano applications with 6 ms latency, then the ones with 300 ms latency would be rated VERY poorly indeed.

      It’s a relativity thing.

      If you do not know that you can get electricity, you will rate oil lamps very highly.

  3. So, they’re talking about latency as a function of audio output buffer size, at least from that one drop quote, but they’re missing some critical test methodology questions here, like OS version or even which devices they’re describing.

    That said, yes, on the worst phones, those numbers – and the corresponding iOS numbers – look feasible. The worst case scenario is of course what typically drives development.

    Mikrosonic have had better luck using the new native OpenSL API available in recent OS updates, described (briefly) here:
    http://www.mikrosonic.com/news/2011/09/08/update-1-6-for-the-spc-music-sketchpad-released/

    One reason I haven’t addressed this topic in detail is because I’ve been trying for some time to get verifiable data. But this article is at least a bit misleading, in that we’ve had libpd-based developers running on much smaller buffer sizes. Now, that’s not an endorsement of Android as a platform, or even of latency performance across a wider variety of devices. Is it a problem? You betcha, and in broad strokes, that’s what the article says. Is the information in this article complete, verifiable, or useful in terms of specifics? Less so.

    I wouldn’t mix platform advocacy with measurements of latency. This is pure math.

    1. Peter – developers have been discussing Android’s latency problems for a couple of years now.

      Rather than ignoring the issue, because multi-trial lab data isn’t available, I see some value in looking at & discussing the data that is available.

  4. It is entirely possible to make zero-latency music with an android phone. One merely requires a hammer with which to strike the phone, thereby producing a percussive sound.

  5. The reason real time music isn’t really an option on Android, is due to the fact that all apps are written in Java and are interpreted in real time. iOS apps are written in Objective-C which are then compiled to machine code.

    There will be a difference in latency, undoubtedly. Google have however geared the entire Android OS more towards that anyone who knows the slightest about Java can contribute, whereas the bar for Apple’s OS is raised (not saying that one is smarter than the other at all, you imbecile).

    They are two different operating systems.

    1. Kudos! Yours & Peter Kirn’s comments are the most accurate and logical among this wash of flame-bait… *A tip o’ the hat!*

  6. Apparently Image Line is working on a low latency audio system for android (I think I read it here on Synthtopia some time ago). In the meantime the situation is like this.
    100 ms is really not something usable to play anything like a synth (except when you want to play pads with really long attach and release times) o for effects like Filtatron. On the other hand if you’re more into things like nanoloop you won’t even notice that there is something different.
    Guess Apple just had more experience with low latency audio due to years of work on mac osx.
    But then I wonder: real-time kernels are not really something new on Linux as well. I remember getting really low latencies (something between 10 and 5 ms) in ubuntu with the built-in sound card on a standard Dell laptop. So if Android is based on Linux, why can’t they just get this sorted out?
    Probably it’s just more work than it’s worth for the market. We are a nice. Apple maybe had the technology already ready, and they know that having musicians use their products is good for their image.

  7. this is such bullsh#t is this android 2.1 on a single core or android 4.0 on a quad core

    – just like the ipod touch ver 1 runs — sooo — much faster than the iphone 4s– LOL

    and what is the latency of windows phone ? or palm
    people have been doing music on phones and PDAs before iphone and android
    http://www.warmplace.ru/soft/sunvox/device_screens/TungstenT%20(PalmOS).jpg

    joking aside
    …… .. …latency is a non issue if your doing experimental music

    1. “latency is a non-issue if you’re doing experimental music”

      Not necessarily. For instance, I am an experimental thereminist. Processing sounds from my theremin through my 2nd gen iPod touch requires good latency, because I can’t play the damn thing without effectively instantaneous audio feedback. From the samples above, neither of the androids would be of any use to me.

    1. Note that the headline does not read “It’s not possible to listen to music on Android” or “It’s not possible to sequence on Android”.

      The article discusses ‘playing music’ in the context of music performance.

      Latency is not a concern with music playback and less of a concern with music sequencing apps.

    1. This resistive touch sceern is older technology so it is both finger and stylus it is pretty responsive.Cheaper tablets are where its at who can afford 600 for one device .600 for another be realistic people. Some people want to try new things without being poor.

    1. I do like DS-10+, but I use iMS-20 much more frequently because of its larger control surfaces, MIDI controller compatibility, and synchronization with iOS instruments.

      But hold on a second – can you sync DS-10+ against the iMS-20 using WiST??? That would be unbelievably awesome.

  8. I’d be wary of making claims that “it is not possible to play music on an Android Phone’ – someone will undoubtedly prove you wrong!

    I expect latency may be *much* better on Android if you use the Native Development Kit (NDK) and OpenSL rather than Java. Apparently the NDK comes with sample code for real-time effects and synthesis, so the latency can’t be completely intolerable.

    Disclaimer: I don’t have any Android devices – only iPhone/iPad, which work great for music! 😀

    1. Come on, 6ms is totally inaudible! You wouldn’t be able to tell the difference between 15 and 5 ms in blind tests I bet. I mean, ms means milliseconds, which means one second divided by thousand. so 6ms is like a second divided by 200 times.
      And no, my MBP doesn’t much better than the iPhone in terms of latency.

      1. Well, the speed of sound is about 1000 fps, making each millisecond of delay equivalent to moving your speakers (or headphones, as the case may be) another foot away from your head.

        As a simple experiment, try playing a patch through a 15 ms delay (or add delay to your DADSR amplitude envelope) and see if you notice it! I definitely can, although I can also sort of adjust my playing to compensate for it (sort of like playing a bass line slightly ahead of the beat). And of course you can also adjust it after the fact in the recording. 😉

        6 ms control latency isn’t terrible though – I think it’s comparable to what you get playing chords over 31 KHz MIDI.

  9. The problem is not that there exists cheap A-phones without the power to drive a music app, but there is a problem if a $500 phone with 2-4 cores cannot get near an iPhone. This has not been shown here, though there’s enough reason to worry.

    Technically Android is more open in 2 ways: The existing hardware range is much wider, and the Java VM will vary between different brands. This means you’ll always find phones doing worse than the last or next-to-last iPhone.

    There are two issues:
    – Roundtrip time: latency, time between input and output
    – jitter: how well timing of input is captured.
    A musician *can* adapt to hit buttons slightly ahead if needed, but she may not love it.
    If you get jitter on top of this, ie random response time, it gets strictly unplayable.

    As long as the Android problem is about roundtrip not jitter it should be ok-ish.
    But it limits developers in some ways – users don’t care to hear that their phone sucks, the program should damn well *make* it seem great. So there will be apps that work with a little lag – popular music programs ran on 486’s almost 20 years ago.

    That said, I think the reason for fewer cool apps on Android is about the IOS market stranglehold model and business factors, not so much technical stuff – you can always spin that away…

    1. Right, but adding more cores to a problem is never going to impact latency, apart from maybe off-loading tasks to an additional core that are blocking audio (but that’s not remotely what’s being described here). That’s a completely different vector.

      1. I’d have to agree with Peter on this.

        Faster phones with multi-core processors won’t necessarily deliver low-latency audio.

        It’s like the counterintuitive fact that ancient computers were actually a lot tighter as MIDI sequencers than today’s computers. Modern OS’s are juggling dozens of tasks, which tends to lead to jitter.

    2. Theres also the economical barrier. The openess of Androids hardware specifications also means really tight doors for developers;
      Its “easy” to make software for 1 phone and tablet.

      There is no conspiracy; its all about the money. Its really hard to stay alive in software market when you get, say, 4,99$/copy. And these applications we are talking about, are really ambitious. Once you make an application for iPhone its available for god knows how many millions of devices. You must also take care of your software after OS updates, and that too is comparably easy, when you need to only worry about one phone. And even then its hard to make a living. Many developers already ponder between popular features, necessary updates and what they would like to do, because features are time(=money) consuming to do and you don’t want to stay behind, which is when your application dies and so does your “living”.

      I cannot adapt for lag. It makes my playing utterly technical and completely destroys any emotion. You MUST love your instrument to be able to play with a feeling.

  10. It’s weird to hear people say latency doesn’t matter. If you don’t know what it feels like to play with low-latency toys, you might find the various apps whimsically fun– but if you were given the opportunity to A/B the same app with low and high latency, you will probably appreciate the immediacy of the control.

    That said, I agree that good music can be made with high latency. Good music can also be made without a CPU or anything digital for that matter. Good music is not what is at stake.

  11. Nanoloop is a sequencer, so doesn’t require a small buffer size.

    Pete Cole also argues for the native API approach, as employed by mikrosonic above:
    http://sseyod.blogspot.com/2011/12/android-high-performance-audio-how-to.html?spref=tw

    My guess is that that’s the same thing that Image-Line is doing.

    The Linux kernel is not the issue; it’s two things — the Hardware Abstraction Layer around the audio devices and then the APIs used to access that HAL. Java also has nothing to do with it; you can write a low-latency audio application in Java or any other language, if you like, and on Android you can write your DSP code as native code via the NDK. That’s what we’re doing with libpd; it’s running as entirely native code inside a Java application. (And, as it happens, that’s what we’re doing on desktop, where with Java and JACK we can get fantastic performance that’s a far cry from the Android trainwreck we’re describing here.) Now, once it has to go to or from the audio interface, then you run into these other issues .

    Latency is always simply a function, first and foremost, of whether you can consistently get audio out via as small a buffer as possible. You’re just trying to dump data to the audio output as quickly as possible.

    However, assuming we’re targeting 2.3 or later, the lack of data in the article above on using that native API as Intermorphic and mikrosonic suggest mean that this is old news, and not generally useful. The bug report thread everybody points to actually refers to stuff that isn’t true, to 1.x APIs.

    So, yes, I want to see the data on those new APIs; the information above seems like a waste of time. I still don’t think it’s going to be as good as iOS, but at least it’d be fresh, verified data.

      1. Ok. That was uncalled for. I retract. But it would be useful to get the facts straight.

        I don’t have a smart phone, and would resist getting an iPhone (or an iPod-for that matter)– because I don’t like how locked down the apps & file management are. I’d prefer a more open platform. I can wait.

        If Android phones have a big latency issue, how much can be solved with hardware, how much with software (OS) development? Or will another platform arise?

  12. my wife and I both got Droid Xs last year. I did zero research on the differences between the Iphone and the Droid X

    i foolishly assumed that the Google’s phone would be more open and developer friendly than Apple’s offerings.

    so when i got my new droid and started looking for some music apps to have fun with when away from my gear…. there weren’t any… and what was available was shoddy, over priced and under featured

    the latency was noticed as soon as i tried to play anything by hand… it wasn’t bad… it was 100% completely unacceptable.

    a year later.. the only music app worth a damn i’ve found on droid is Caustic… and its only fun as a simple tb303/drum machine scratch pad of sorts because the latency makes doing anything without a sequencer damn near impossible

    i had hoped that when google updated their OS the latency issue would be fixed… no such luck. 1 more year of this phone contract and then i wont buy a tool that i’d like to use as a toy… i’m just going to get an ipad to use as a toy when away from my gear.

  13. Pete Cole of Intermorphic shares his take on how to get high-performance audio on Android here:

    http://sseyod.blogspot.com/2011/12/android-high-performance-audio-how-to.html

    :Firstly, target Android 2.3 or later. This allows you to use OpenSL ES, which is the only realistic approach for low-latency audio on Android. The audio allows you to delivery audio with pretty low latency, and totally avoids any problems of garbage collection blocking you. This of course assumes that all your audio code is written in C++!

    As you’re using OpenSL ES, and assuming you have some very heavy audio DSP going-on (like in Mixtikl!), you’ll need to use a separate Posix thread to keep your audio callbacks pumped-up. Basically, if your OpenSL ES audio block callbacks take much time at all, then your audio will break-up. So, use a worker thread to keep sufficient audio pre-processed and ready to be picked-up and delivered via your callbacks!

    Finally, and believe me this is important (!): make sure you target armeabi-v7a, and that you use the right compiler flags to generate 32-bit ARM7 code. If you on the other hand use the default settings, you’ll generate Thumb code for armeabi – and your code will run staggeringly slower (!!), and audio break-up is inevitable if you’re doing anything serious. So: don’t bother targeting armeabi devices… and Thumb code is a no-no.”

    1. Musique Tacticle really should’ve read the Pete Cole (Mixkitl) article on high performance audio on Android before posting their “research”.

    2. Pete Cole of Intermorphic has posted additional thoughts on this:

      “the Android audio APIs – and that includes OpenSL – still miss the basic trick, which is to be able to offer a programmatic contract that is as simple as this:

      App : what sets of audio rates and formats do you support?
      (API responds, maybe only 22Khz stereo, for sake of simplicity here)
      App asks: how many audio blocks do I need to keep prepared and primed in the queue to guarantee no break-up, at this rate/format, with minimal latency?
      (API responds, maybe 2 blocks of 512 sample frames each).
      App prepares the first 2 blocks, submits, and gets “block delivery” callbacks; it runs a separate thread to keep internal queues topped-up ready to deliver to the callbacks.

      With that sort of contract, every app can run at minimal latency dictated by the underlying audio device (through the driver layer), on any device. Without that sort of contract, every app developer is kept guessing, and has to assume a worst case that works on all devices available for testing. :)”

      http://sseyod.blogspot.com/2011/12/android-how-to-reduce-audio-latency.html

      This isn’t an issue on iOS, where developers know what devices hardware capabilities are, but is a big concern for Android developers, who have to chose between developing for the lowest common denominator, excluding devices, or delivering an ‘iffy’ user experience.

  14. I’m not surprised that OS X and iOS have good latency since GarageBand has to work on both of them.

    So Apple, when can we get Logic on the iPad?!

  15. Is iRig MIDI available for android – NO and even if it was the latency would make it unusable in a midi based system.

    Whereas my iPhone works perfectly as a sequencer/drum machine/synth etc…

    For the moment it seems an easy choice…

  16. I just traded my Samsung Galaxy 2s for an iPhone 4s. Galaxy couldn’t even record simple audio of my piano in the living room without distortion. Any video of your kid’s school concert, etc. : forget it. Trash sound, no adjustment for limiter. Samsung is not responsive to these complaints from many users. No other music apps to speak of.

    So the iPhone already sounds great on video, and has MIDI apps that play my files, and WILL RECORD STEREO with the Tascam mic…..iRig, etc. Namm will have more iPhone/iPad apps than ever.

  17. Although the products are of sufficient quality, I find it objectionable that I have to purchase an Apple Care plan less than 6 months after purchasing the most expensive mp3 player on the market to get simple problems fixed. I will not buy anyting iOS for that reason. I like Android just fine. Actually, for all the hype, I’ve had a few small problems with the Apple products and no problems with the Android products. For that reason, I am a faithful Android user and will not waste any more of my hard earned money on Apple products. Keep the IPhone all of you that belong to the iFlock. The advertising is like leading sheep around the pasture. My money goes with Android every time.

  18. only musicians understand the importance of this article! for those who only play stupid games with their device stop making stupid comments. unfortunately im with the Android side and it sucks to know that google devs doesn’t care about making music with their device 🙁

Leave a Reply

Your email address will not be published. Required fields are marked *