Mar 172008

Some of you may recall a recent post in which I described my idea for building my own high-fidelity wireless headset. The recommendation from most people was just to buy a bluetooth headset. Today I was in the hardware store here in The Gap, looking around actually for something totally unrelated — mounting brackets for an antenna (which I didn’t find) — I happened to see they were selling some earmuffs with builtin bluetooth headset and AM/FM radios for about AU$100. This is cheaper than I had seen similar sets elsewhere… so I figured I’d bite the bullet and give them a shot. At worst, I’d have a pair of earmuffs (may come in useful if I start working in a noisy environment), with a radio built in.

Bullant ABA700 Headset They’re manufactured by Bullant, and can come in three forms: bluetooth headset only, radio only, and radio+bluetooth headset (model ABA700). They apparently provide about 85dB attenuation, meeting AS/NZS SLC80:11:Class1. Protocol wise, they support the SCO profile, and the documentation (single double-sided A4 page) seems to suggest support for A2DP (quote: “You can also listen to music stored on your Bluetooth Mobile Telephone if your Mobile Telephone has that feature” — I can’t imagine people wanting to listen to music at 8kHz, mono, 16-bit).

It took me a while to figure out how to get them going at first. What I didn’t realise, is to hear anything out of the Bluetooth component, one must first turn on the radio and tune it to some station — slightly annoying, but I can live with that. Audio quality with a local FM station is quite good — on-par with most consumer wideband FM receivers. (And noticeably better than the amateur set I’ve been using lately… but that’s hardly surprising given its purpose.)

However, I was right to be concerned about compatibility. Windows XP won’t talk to them at all — okay, no great loss, I hardly use that “OS” these days. They do work in Linux, both using the old snd-bt-sco+btsco driver, and using the newer bluez ALSA plugins. Audio quality is limited to what SCO is capable of, again, annoying as I prefer to record voice at 16kHz as clarity is slightly better, but I can live with 8kHz — I’ll have to read up on how to get A2DP working. However, I’m so far, only able to reliably use them, with apps that natively support ALSA.

Using the snd-bt-sco driver… I find parts of my speech get cut off. This was tested using Qtel (EchoLink client) and joining the *ECHOTEST* conference (an EchoLink conference that exists purely for testing a station).

Using the newer ALSA plugin, things seem to work okay, but nothing OSS-based will talk to it. Audacity is very hit-and-miss in detecting the headset. Qtel won’t talk to it properly even via the aoss wrapper. I suspect my portaudio v19-based lecture recording app will have similar problems, as it generally only seems to work properly with OSS.

It’s a great start… but I’m not sure this is quite the holy grail I’m after. I’ve been testing this on my father’s laptop, which has onboard Bluetooth. So naturally this means I’ll have to also invest in a cheap USB Bluetooth dongle for my laptop. I may wind up continuing down the path of homebrewing my own set, since it looks like the more flexible solution, and least likely to suffer compatibility issues with the applications I use. Still, it’s been a worthwhile exercise, and certainly I’ll have to keep an eye out for developments in Bluetooth support in future. 🙂

Postscript: Now that I have a Bluetooth headset, I’m in the market for a simple Bluetooth transceiver (using H2DP or SCO) that provides input/output jacks that can be hooked to standard analogue devices such as my amateur transceiver (Kenwood TH-F7E) and my non-Bluetooth enabled mobile phone (Nokia 3310).  I’m aware of RPF Communication’s TalkSafe devices — that’s the sort of thing I’m after.  If anyone knows of something similar to that, available here in Australia, I’d be most interested.

  2 Responses to “Messing with Bluetooth SCO”

  1. To use ALSA plugins from OSS applications, you should use the aoss wrapper and set the pcm.!default entry to the plugin. The OSS emulation only works for hardware interfaces.

  2. […] listen-only), even to the point of wanting to homebrew one.  On the advice of a number of people, I also gave Bluetooth a try — unsuccessfully I might […]