Update: I've done a new examination of Bluetooth devices and latency in 2019, check it out here.
A few months ago, I discussed situations where Bluetooth audio latency can be a problem for users. In short, for media playback it seems to be a mostly-solved problem1, but it's not great for realtime feedback. The Bluetooth devices I tested last time had roughly 3x the latency of a wired connection (~80ms vs ~230ms). For realtime sounds like keyboard clicks, VoiceOver prompts and game sound effects, whose entire point is to be concurrent with visuals, this really detracts from the user experience. As before, I also have a personal interest in this issue. My app Tapt relies on low audio latency; it involves tapping the rhythm of a song, and high audio latency makes it a much less pleasant experience. My hope was AirPods would be the first sign that this issue was beginning to improve.
I just received my AirPods yesterday, and I love them. As advertised, they paired easily, switch between devices seamlessly and sound great. So, the natural thing to do was test their latency and compare it to the previous results. For the sake of consistency, I also re-ran the test with a wired connection and the Brainwavz earphones I compared last time. The latter two gave almost identical results to the first test2, so I'm happy that there's a pretty good degree of consistency between the tests. For reference, the latency I'm measuring is the difference in time between tapping on the glass, and when a sound is actually produced.
Disappointingly, and contrary to what I had hoped, AirPods have the worst latency of everything I've tested so far. For context, a wired connection achieved latencies of 61ms playing Tapt, and 106ms using the iOS keyboard. The AirPods had latencies of 251ms and 296ms respectively, in the same tests. Even the worst offender in my previous test, the JBL Flip 2, achieved significantly shorter latencies (218ms and 258ms, respectively). In contrast, my £30 Brainwavz Bluetooth eabuds achieved respective latencies of 199ms and 249ms in the same two tests. I would theorise3 that perhaps the need to ensure both AirPods play sounds in sync necessitates some small amount of additional communication, and thus latency.4 Hopefully it's something that could be improved with software updates in future. Of course any wireless technology is going to be slower than a contemporary wired solution, and I didn't expect the AirPods' latency to be on par with wired audio, but their failure to beat the latency of much cheaper Bluetooth earbuds is a downer.
I've embedded a video of my test below. You should be able to hear the thud of my finger tapping on the screen, followed by the relevant sound from the phone. It gives a pretty good idea of what each connection feels like in terms of latency.
I've linked a YouTube video showing this in the header for the post, have a look if you want to hear for yourself.
On iOS and macOS anyway. I've had pretty mixed experience on Windows and Android. ↩︎
I've included the new results on the spreadsheet from before: http://bit.ly/btlatency ↩︎
Read: make a complete guess ↩︎
Once or twice so far, I've noticed that the first in a series of keyboard taps has actually felt very slightly out of sync between my ears, but it fixes itself right away and only happens with 'realtime' events. ↩︎