Current status of Bluetooth voice dialing on DROID
In several threads on DroidForums there are discussions of BT voice dialing. This post is adapted from a Motorola support forum posting and is intended to provide an overview of the current status.
1. What is the problem?
Pressing the Voice Dial button on a standard Bluetooth (BT) headset does not voice dial the DROID. To understand why this is true, see the notes section at the end of this post. To understand why a few BT devices can still voice dial despite this, see section 3e below.
2. Motorola's response
2a) Does Motorola acknowledge this issue? Yes.(
68184) Have their cats acknowledged this issue? Yes(
66642)
2b) Is Motorola committed to fixing this? Yes (
72336,
82841,
83708,
88801), but they have not been able to set a timeframe (
74532).
3. Are there workarounds? Yes, but they have limitations.
3a) Android's built-in Voice Search
Voice Search will show and then automatically dial a number from the contact list--sometimes. At other times it displays web results. Some (
69275) report this consistently works for them. Voice Search is initiated by long-pressing the search button, selecting the "search" microphone in Car Home, or selecting the "Voice Search" application.
3b) Android's built-in Voice Dialer
This dialer listens to the user then provides a list of choices. The selection must be seen and touched, after which it will dial. It is started by selecting the "Voice Dialer" application.
3c) Voice Dialer HF
Voice Dialer HF is a paid app that goes beyond the built-in voice dialer by adding voice prompts, reading the results aloud, and using voice confirmation. Users must follow the setup instructions to allow the camera button on the side of the phone to initiate dialing; they can then dial without touching or looking at the screen. However, this still has several
limitations compared to using a standard BT button--the phone must be out, and the phone's speakerphone and mic are used for the "which number conversation" (with
this exception). It then will automatically switch to BT for the call. It also currently supports only Android 2.x phones.
3d) 3rd party best-guess confidence dialer apps
Some apps, such as
Choice Dialer beta and
TopVoiceControl (both currently free) can be configured to directly dial if the spoken command is understood with high confidence. There is no voice confirmation.
3e) Using a BT device with internal voice recognition
Some BT devices make a copy of the phone's address book and do their own voice recognition. They then make a BT connection to the phone and ask it to dial the number. This uses a different BT command ("Place a call with a phone number supplied by the HF",
HFP spec v1.5, Table 3.1, item 8). This command is supported by DROID. These are generally more expensive BT devices. Each time a contact changes, the BT device must be re-synchronized before it will recognize the change.
Notes:
The Hands-Free Profile portion of the Bluetooth spec (HFP v1.5) specifies a "voice recognition activation" feature. However, it is optional for both the phone and the hands-free BT device (Table 3.1, item 15). Technically, Google/Motorola/Verizon are correct when they state they are HFP compliant--they did not implement an optional portion of the spec that most of us consider very important.
Google's published Android OS source code actually has the software to support activating the built-in Voice Dialer via BT. However, it was disabled in the DROID (as well as almost all other Android phones). This code was disabled in a couple key places (search the source for DISABLE_BT_VOICE_DIALING). In one place, the built-in Voice Dialer was told not to register as supporting BT. When it was disabled the
developer noted (see line 108) that the Voice Dialer provided a poor experience over BT because it poorly handles the lower-frequency BT input and "still requires visual confirmation." Developer comments
here and
here provide more insight.
Critically, in the
second key location, the Bluetooth handsfree handler was told to ignore
any application that says it can support BT voice dialing. Because of this, the BT device is told the DROID does not support "voice recognition activation," so the button press is never sent to the DROID. This functionality cannot be restored by outside developers. This is why a third-party application alone cannot completely restore normal BT voice dialing.