Re: Bluetooth Headset - Voice Commands
Sorry for beeing late here ;) Mike Hodson schrieb: > On 2/28/07, Jonathon Suggs <[EMAIL PROTECTED]> wrote: [...] > 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). SCO uses another transfer interface than A2DP - A2DP runs through the normal data channel und SCO audio is routed through a synchronous channel though also ending up somewhere else, namely the PCM interface of the BT chipset. The PCM interface can be routed either to HCI (the host controller interface) or a dedicated PCM output of the chipset. This can be used on dedicated hardware to channel the PCM data directly to some audio codec and amplifier not wasting HCI bandwidth and making building headsets easier ;) Some chipsets can have this routing hardwired to PCM so that you will never be able to get the SCO audio data into your software. So buttomline here is that it largely depends on the BT chipset and its firmware if or if not the SCO data can be routed to HCI. Since AFAIK the NEO will use a CSR chipset the probability is high that it can be rerouted if HCI is not yet default. For A2DP the whole thing is easier since A2DP is always a normal data connection sending out audio data packets through userspace. > Furthermore, it is definitely plausible that the bluetooth controller > in your pocketpc is somehow intertwined with the GSM chipset. If this > chip has no provision of routing audio into the software, and only > considers bluetooth a voice service, then it would talk directly to > the wireless interface and its GSM chip. The windows mobile/ppc > software can't grab it. In theory this could be possible, if the GSM chipset has a matching PCM input. [...] > Mike Cheers nils faerber -- kernel concepts GbRTel: +49-271-771091-12 Sieghuetter Hauptweg 48Fax: +49-271-771091-19 D-57072 Siegen Mob: +49-176-21024535 -- ___ OpenMoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Re: Bluetooth Headset - Voice Commands
Mike Hodson wrote: On 2/28/07, Jonathon Suggs <[EMAIL PROTECTED]> 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 Controller...so 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). 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. ___ OpenMoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Re: Bluetooth Headset - Voice Commands
On 2/28/07, Jonathon Suggs <[EMAIL PROTECTED]> 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 Controller...so 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). Furthermore, it is definitely plausible that the bluetooth controller in your pocketpc is somehow intertwined with the GSM chipset. If this chip has no provision of routing audio into the software, and only considers bluetooth a voice service, then it would talk directly to the wireless interface and its GSM chip. The windows mobile/ppc software can't grab it. Please keep in mind, this is speculation, however knowing how my linuxbox works with bluetooth audio is the background for my educated guess :) The pocketpc routing is probable, but again speculation. If I'm wrong, please let me know :) Mike ___ OpenMoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Bluetooth Headset - Voice Commands
I know we never came to an official conclusion on the voice command question, but I'm going to intentionally jump ahead and ask another question concerning Bluetooth. So for the sake of the question, lets assume we have a program called VoiceControl that handles taking spoken commands and taking appropriate action...and we'll assume its an awesome program too. When there is no call currently in progress, can we press the button on the headset and have that do two things. First, route the audio input and output to the Bluetooth headset and secondly call VoiceControl? That way when driving/walking I could have the phone docked/cradled/in my pocket and when I wanted to make a phone call, I could simply press the bluetooth headset button and say "Call [whoever]" and the phone automatically dial [whoever]. 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 Controller...so I am hopeful it won't suffer the same limitation. ___ OpenMoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community