Bluetooth Headset - Voice Commands

Jonathon Suggs jsuggs at
Thu Mar 1 17:06:17 CET 2007

Mike Hodson wrote:
> On 2/28/07, Jonathon Suggs <jsuggs at> wrote:
>> The reason that I ask is that on my PocketPC phone (iMate PDA2K), there
>> is supposedly a hardware limitation that will not allow for this to
>> occur.  It can have the bluetooth headset button initiate the program,
>> but it cannot use the bluetooth headset to transfer the audio to the
>> program.  It has to use the built-in microphone for routing audio to the
>> voice command software.  I don't remember specifics, but I think it was
>> because the bluetooth module tied to the gsm module in hardware or
>> something along those lines.
>> All of that to ask, is the bluetooth implementation on this device going
>> to have that same limitation?  I was looking through the wiki and
>> noticed the bluetooth is connected to the USB Host I am
>> hopeful it won't suffer the same limitation.
> I'm going out on a limb here and hypothesizing again, however it may
> shed some light:
> My understanding of how the OpenMoko software stack works, is that it
> will be using some a software audio routing interface, either direct
> ALSA or gstreamer (tied into ALSA as the audio access method). The
> audio can go between the mic/speaker thru the wolfson codec, or you
> can  switch it to the bluetooth device.
> By being connected to the USB bus, this works exactly like every
> current Linux computer with bluetooth: as of now, the BlueZ stack can
> do SCO / headset, and they are working daily on properly working A2DP
> (advanced audio) stereo codec support both as alsa modules.  It would
> then be my guess, that all the OpenMoko software would have to do, is
> change the alsa input/output by responding handsfree button or avrcp
> commands (for stereo headsets).
> <snip>
That sounds reasonable and based on what I can see about the hardware in 
the wiki seems correct.  So unless someone sees a problem, then I think 
we are good to go with that.

So, somewhere in the configuration there needs to be a setting for 
handling BT headset (and button presses).  The first thing should be a 
checkbox for "Respond to Headset Presses"  then if it is checked, then 
it will have a box for a command to run.  The command would be (from my 
previous example) "/path/to/VoiceControl".  I guess there should also be 
another checkbox for "Route Audio to Headset" which would do just that.  
Allowing my previous scenario of being able to initiate voice commands 
from the BT headset possible.

Does this make sense to everyone?

The reason I think this is so useful is that it can make the phone (with 
a BT headset) operateable without having to ever touch it (useful while 
driving).  You could have the phone docked and say "Run GPS" or "Call 
John Smith" or "Show John Smith" or "Directions to John Smith" and it 
take the appropriate action all while keeping you eyes on the road.  
There are plenty of other possibilities, but those are just the ones 
that I find useful.

More information about the community mailing list