You are here

Android touch-to-sound latency

I have two Android devices at home, a Nexus 9 tablet and a Nexus 6 phone, and have some synth apps installed on both. I was curious what the total delay is between the time I tap a key on the screen and the time the device produces a sound.

So, I used a 3.5mm-to-1/4" cable to plug the Nexus 9 into the first input of my Zoom H4n recorder, and plugged a mic into the other input. I started up the app "Music Synthesizer" and set it to a piano sound. Subjectively, that app and "Grand Piano Pro" are the only apps I've found with subjectively acceptable latencies. On others the latency has either been too high or two unpredictable for me to be able to tap out simple rhythms reliably.

I put the mic right next to the screen, started a recording, and tapped a key on the screen.

I loaded the resulting recording into audacity and looked for the onset of the two noises--the sound of my finger hitting the screen, recorded by the mic, was in the first (left) channel, and the piano sound was in the second (right) channel. I could measure the difference between them--about 45 milliseconds.

I repeated that with the Nexus 6 and got about 50 milliseconds.

(Just to make sure the comparisons even made sense, I also tried just tapping the bare 3.5mm plug against the mic and looking at the result in Audacity, and the offset between the two signals was a tiny fraction of a millisecond, as I'd hope,)

I don't really know if those numbers are good or not. You can certainly hear that the finger-tap and the piano note aren't quite simultaneous. I guess the real test would be to try using them to play some real music. But there's plenty of other reasons why playing on a touch screen isn't very satisfying.

It might also be interesting to do the same experiment with a midi controller plugged into one of the Android devices. And might be interesting to compare to a hardware synth.