Consumer grade bluetooth speakers & latency
Posted: Tue Jun 26, 2018 9:15 pm
Ok, here's the deal: I'm playing guitar on the go through a small analog preamp (vox amplug) that sends it output to a bluetooth speaker connected via a 3,5mm stereo jack (no bluetooth is actually involved).
It's a poor man's setup, but still way better at low volume than all the crappy battery powered combos I got to try.
So far so good, until I tried my wife's speaker and heard...latency.
Looking at the specs of the latest generations of those speakers, they usually seem to use some kind of onboard DSPs in order to sound bigger than they look, so this is not too surprising. Bluetooth connection is also reputed to have latency issues, yet here I'm talking only about the 3,5mm analog input.
So I tried to make some measurements with jack_iodelay (since there doesn't seem to be much information on the topic floating around), and here are the results.
All the tests were run through a Focusrite 2i2 first Gen with the following Jack settings:
- First - straight to the soundcard with a patch cable to loop the input to the output:
-> this tells that my jack settings + soundcard produce a latency of about 8.1 ms roundtrip at 96khz. No surprise.
- going through my usual studio speakers
-> Slightly higher figure going through actual speakers and a microphone: Original figure + about 0.4 ms. I'll use this as a reference.
- going through the first small bluetooth speaker (Klipsch Groove)
-> compared to the reference above, that's 0.7 ms of additional latency added. Mesurable, but still quite negligible.
- going through the second bluetooth speaker (Anker Core 2)
-> That's bad. 24.5 ms added. I ran the test several times to be sure.
Probably not an issue when using the device for its intended purpose to play music from a mobile device, but clearly problematic for latency sensitive applications.
I'll try to add more results if I get my hands on some different models.
So, now you know
It's a poor man's setup, but still way better at low volume than all the crappy battery powered combos I got to try.
So far so good, until I tried my wife's speaker and heard...latency.
Looking at the specs of the latest generations of those speakers, they usually seem to use some kind of onboard DSPs in order to sound bigger than they look, so this is not too surprising. Bluetooth connection is also reputed to have latency issues, yet here I'm talking only about the 3,5mm analog input.
So I tried to make some measurements with jack_iodelay (since there doesn't seem to be much information on the topic floating around), and here are the results.
All the tests were run through a Focusrite 2i2 first Gen with the following Jack settings:
Code: Select all
/usr/bin/jackd -P89 -p128 -t2000 -dalsa -r96000 -p64 -n3 -Xseq -D -Chw:USB -Phw:USB -i2 -o2
Code: Select all
784.627 frames 8.173 ms total roundtrip latency
extra loopback latency: 528 frames
use 264 for the backend arguments -I and -O
- going through my usual studio speakers
Code: Select all
816.398 frames 8.504 ms total roundtrip latency
extra loopback latency: 560 frames
use 280 for the backend arguments -I and -O ?? Inv
- going through the first small bluetooth speaker (Klipsch Groove)
Code: Select all
883.775 frames 9.206 ms total roundtrip latency
extra loopback latency: 627 frames
use 313 for the backend arguments -I and -O Inv
- going through the second bluetooth speaker (Anker Core 2)
Code: Select all
3192.864 frames 33.259 ms total roundtrip latency
extra loopback latency: 2936 frames
use 1468 for the backend arguments -I and -O ??
Probably not an issue when using the device for its intended purpose to play music from a mobile device, but clearly problematic for latency sensitive applications.
I'll try to add more results if I get my hands on some different models.
So, now you know