Hands-free voice dialing with Voice Dialer HF

Discussion in 'Android App Developers' started by DFXmobile, Dec 11, 2009.

  1. DFXmobile
    Offline

    DFXmobile New Member

    Joined:
    Nov 20, 2009
    Messages:
    26
    Likes Received:
    0
    Trophy Points:
    0
    This thread is to consolidate discussions of Voice Dialer HF, developed by DFXmobile.

    Droid does not come with a hands-free voice dialer.

    Voice Dialer HF adds voice response to the Droid, so that voice-dialed calls can be made with one button press. This allows most users to dial without touching the screen. For effective use in the car, a car holder (dock) should be used, and the Droid should be plugged in.

    Before engaging in discussions below, please look over the following key parts of the DFXmobile website:To answer the number one question in the forums: Voice Dialer HF uses the phone's speakerphone/mic to talk to the user about which number to dial. It can then switch to Bluetooth for the call.
  2. 928Droid
    Offline

    928Droid Premium Member Theme Developer Premium Member

    Joined:
    Nov 24, 2009
    Messages:
    3,753
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Western North Carolina Mountains
    BUT.... if your BT Headset supports "Media Audio" (you can hear your music play through it, if not check for latest HS firmware ) you will hear the prompts in your BT headset AND it is really hard to tell that it is not using the BT mic.

    It works so well with my BT headset that it fooled me for quite a while that it wasn't really using the BT HS mic. Once I was told it didn't (it worked so well I still didn't believe it) I started some experiments. My wife had to take the phone into a room (and close the door) over 20 feet away for the phone to not "hear" my commands and respond properly. This was with my TV blaring and other ambient noise. All the while I heard the responses perfectly in my headset.

    This is a testiment to the excellent mic in the Droid AND to the amazing voice recognition of this app.
  3. DFXmobile
    Offline

    DFXmobile New Member

    Joined:
    Nov 20, 2009
    Messages:
    26
    Likes Received:
    0
    Trophy Points:
    0
    "Open ..." commands in Voice Dialer HF

    There have been questions in other forum threads about VDHF's Open command. Similar to the built-in Voice Dialer's Open command, we accept several system commands in addition to commands to start and use downloaded applications. Examples:
    "Open Alarm Clock"
    "Open Calendar" (will ask: corporate or standard)
    "Open Camera"
    "Open Wireless and Network Settings"
    (or just "Open Wireless" or "Open Network")
    "Open Asteroids" (assuming you have installed Asteroids)
    A complete list of system Open commands is listed on our website. In addition, users have come up with clever tricks to get access to an even more features, for example:
    "Open Voice Search" followed by "Navigate to Terry's Tacos"
    For downloaded applications, we look for two types of hooks into those apps -- VOICE_LAUNCH and LAUNCHER activities. If either of these is included, VDHF will listen for them. It is possible for one application to allow several different actions.

    Unfortunately, publishers are not always good about listing their activity names. If anyone runs into an app that publishes these activities for all the applications on the phone, please post a response and I will amend this posting. (Listing all activities found is on our eventual to-do list.)
  4. DFXmobile
    Offline

    DFXmobile New Member

    Joined:
    Nov 20, 2009
    Messages:
    26
    Likes Received:
    0
    Trophy Points:
    0
    Understanding timing in Voice Dialer HF

    Some users have asked about when the processing is done within VDHF, and why sometimes responses are instant and other times there may be seconds of delay. In using VDHF, there are three primary causes of delay:

    Loading
    If VDHF is not currently in memory, it will load. This causes a delay between the start signal (button press or icon tap) and "Say a command." This typically takes 3-5 seconds.

    Once loaded, VDHF will stay in memory as long as the Android OS does not need to push it out to make room for more applications than the memory can otherwise support.

    Reading contacts and (if needed) compiling grammar
    Each time VDHF is run, it makes a list of the names of all contacts with phone numbers. If this list of names changed since the last time VDHF ran, it compiles a new "grammar" for the speech recognizer, breaking each name down into phonemes and creating a rule tree. This happens while you answer the "Say a command" question. If you have a thousand contacts and one has changed, this may require a couple seconds extra beyond your response to recompile the grammar. VDHF may continue to say "Listening" or may say "Processing" during this time.

    Understanding what was said
    VDHF applies some simple processing as it listens. If it thinks there is a good chance it did not get a clear command, it will hold the microphone open for several seconds more. This is particularly likely to happen if VDHF hears speaking in progress at the time it first starts to listen. If you think this may be causing delay you see, test by waiting an extra-long time (a second) after the beep before speaking.
  5. Deuel
    Offline

    Deuel New Member

    Joined:
    Dec 8, 2009
    Messages:
    178
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    SoCal
    I hear you loud and clear 928! It had me fooled too. Found out when my phone was buried in the cupholder of my car. So close, yet so far... :dry:
  6. solar
    Offline

    solar Member

    Joined:
    Dec 8, 2009
    Messages:
    805
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    So Cal
    I'm glad devs are posting in the forums. I may never have found their product otherwise. I just purchsed the program and will give it a try later. I gave it a quick test and so far so good. Its nice to have voice prompts again! :)
  7. clavilab
    Offline

    clavilab New Member

    Joined:
    Jan 3, 2010
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    0
    i want to try this on my HTC but it looks like it is not available in the Market anymore. what happen to it?
  8. 928Droid
    Offline

    928Droid Premium Member Theme Developer Premium Member

    Joined:
    Nov 24, 2009
    Messages:
    3,753
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Western North Carolina Mountains

    Not compatible with Android 1.5, you will have to wait until HTC finally gets your Eris OS up to date before it will work. That is why it doesn't show up in your browser (already tried it with my wife's Eris).
  9. DFXmobile
    Offline

    DFXmobile New Member

    Joined:
    Nov 20, 2009
    Messages:
    26
    Likes Received:
    0
    Trophy Points:
    0
    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.
  10. 928Droid
    Offline

    928Droid Premium Member Theme Developer Premium Member

    Joined:
    Nov 24, 2009
    Messages:
    3,753
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Western North Carolina Mountains
    Very Good Informative post ^.. Thanks!
  11. JimMariner
    Offline

    JimMariner New Member

    Joined:
    Oct 29, 2009
    Messages:
    2,545
    Likes Received:
    6
    Trophy Points:
    0
    Location:
    SE Florida
    Yes I agree, Very Nice Post, I am sure this can answer alot of questions on this subject.

    Thanks DFX !
  12. revwillie
    Offline

    revwillie New Member

    Joined:
    Dec 7, 2009
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    1
    Wow, thanks for the information. It sort of confirms a couple of things I suspected. However, I still have to wonder if there is a way to port the voice response system from EZX to Android. Are the platforms too different?

    Moto could score a major win over the other Android handset builders if they implemented this for Droid or Devour.
  13. normbarb
    Offline

    normbarb New Member

    Joined:
    Nov 28, 2009
    Messages:
    31
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Gainesville, VA
    Thank you. Very thorough analysis. I hope that they get this working soon. Blackberrys handle voice dialing very well, not sure why Motorola/Google can't do it? Norm
  14. fuzzyb3
    Offline

    fuzzyb3 New Member

    Joined:
    Nov 19, 2009
    Messages:
    9
    Likes Received:
    0
    Trophy Points:
    1
    Thank you for posting this :) I have the HTC Eris, and I think I'm going to return it on Monday because I can't take the gamble that when they update to Eclair (?) that even the 3rd party apps will work :angry: This phone doesn't have a "picture" button, unless they could use the scroll button on the face of the phone. <sigh>
  15. DFXmobile
    Offline

    DFXmobile New Member

    Joined:
    Nov 20, 2009
    Messages:
    26
    Likes Received:
    0
    Trophy Points:
    0
    fuzzyb3,

    Unlike the Moto Droid, the HTC Droid Eris has dedicated call and end buttons. I expect that like other Android phones with those buttons, the long press on the call button may be mapped to alternate dialers. (As someone who seems to frequently find himself four clicks away from hanging up, I envy you those buttons.)
  16. fuzzyb3
    Offline

    fuzzyb3 New Member

    Joined:
    Nov 19, 2009
    Messages:
    9
    Likes Received:
    0
    Trophy Points:
    1
    DFX,
    Sorry to learn of your button envy LOL! I had one of the first iPhones, and got rid of it because the bluetooth didn't work on that either (and AT&T didn't work well in my area). From what I understand, they didn't fix it until the second generation phone came out, so I'm just leery about holding onto this Eris praying for a fix...If only the Eclair update would happen this weekend....
  17. DFXmobile
    Offline

    DFXmobile New Member

    Joined:
    Nov 20, 2009
    Messages:
    26
    Likes Received:
    0
    Trophy Points:
    0
    If a Nexus One user out there would like to help us test VDHF, please contact us via either PM or the DFXmobile feedback email address.

    Please mention Nexus One in the title.

    Edit: Thank you to those that responded.

    • It appears that 2.1 neither included a BT-enabled voice dialer nor enabled BT "voice activation" capability in their stack. We know it is coming (see Nick's Dec 12 4:29 pm comment). As soon as it is released OTA we plan to release an update supporting the BT button for both the Droid and Nexus One (as well as any other phone running the version of 2.x with the fix).
    • The Nexus One runs VDHF well (and quickly), but for now you must start it with the app icon--the Nexus One has neither a camera button nor a send button. That unfortunately defeats VDHF's ability to run today without looking at or touching the screen.

    Thanks,
    DFXmobile
  18. 928Droid
    Offline

    928Droid Premium Member Theme Developer Premium Member

    Joined:
    Nov 24, 2009
    Messages:
    3,753
    Likes Received:
    0
    Trophy Points:
    0
    Location:
    Western North Carolina Mountains
  19. pastortommy
    Online

    pastortommy Guest

    I have an issue that I am sure others are experiencing (it happens on my droid and on my friend's droid). The first time you use VDHF after not using it for a while, there is a long wait time between where you say "Call John Doe" and when it asks for confirmation. During that wait time it continues to say "Listening." All subsequent attempts work perfectly. And NO, i do not change contact information or add new between every use!
  20. solar
    Offline

    solar Member

    Joined:
    Dec 8, 2009
    Messages:
    805
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    So Cal
    I've noticed the same thing too. I don't use it every day, and it does tend to have a longer lag time then using the built in interface, so frequently I just end up using the default voice search.
Search tags for this page
android hands free phone dialing app
,
android speak to dial source code
,
android voice recognition hfp
,
appm vdhf
,
download source code voice dialer
,
free download android voice dialer system
,
free download voice dialer for android
,
hands free dialer android
,
hands free voice dialer for android
,
source code for android voice dialer
,

voice dialer hf

,
where can i purchase voice dialer hf