Hands-free voice dialing with Voice Dialer HF

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

  1. DFXmobile

    DFXmobile New Member

    Joined:
    Nov 20, 2009
    Messages:
    26
    Likes Received:
    0
    Trophy Points:
    1
    Ratings:
    +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

    928Droid Premium Member Theme Developer Premium Member

    Joined:
    Nov 24, 2009
    Messages:
    3,753
    Likes Received:
    0
    Trophy Points:
    151
    Location:
    Western North Carolina Mountains
    Ratings:
    +0
    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

    DFXmobile New Member

    Joined:
    Nov 20, 2009
    Messages:
    26
    Likes Received:
    0
    Trophy Points:
    1
    Ratings:
    +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

    DFXmobile New Member

    Joined:
    Nov 20, 2009
    Messages:
    26
    Likes Received:
    0
    Trophy Points:
    1
    Ratings:
    +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

    Deuel Member

    Joined:
    Dec 8, 2009
    Messages:
    178
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    SoCal
    Ratings:
    +0
    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

    solar Member

    Joined:
    Dec 8, 2009
    Messages:
    799
    Likes Received:
    1
    Trophy Points:
    18
    Location:
    So Cal
    Ratings:
    +1
    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

    clavilab New Member

    Joined:
    Jan 3, 2010
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    1
    Ratings:
    +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

    928Droid Premium Member Theme Developer Premium Member

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

    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

    DFXmobile New Member

    Joined:
    Nov 20, 2009
    Messages:
    26
    Likes Received:
    0
    Trophy Points:
    1
    Ratings:
    +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

    928Droid Premium Member Theme Developer Premium Member

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

    JimMariner Silver Member

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

    Thanks DFX !
     
  12. revwillie

    revwillie New Member

    Joined:
    Dec 7, 2009
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    1
    Ratings:
    +0
    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

    normbarb Member

    Joined:
    Nov 28, 2009
    Messages:
    31
    Likes Received:
    0
    Trophy Points:
    6
    Location:
    Gainesville, VA
    Ratings:
    +0
    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

    fuzzyb3 New Member

    Joined:
    Nov 19, 2009
    Messages:
    9
    Likes Received:
    0
    Trophy Points:
    1
    Ratings:
    +0
    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

    DFXmobile New Member

    Joined:
    Nov 20, 2009
    Messages:
    26
    Likes Received:
    0
    Trophy Points:
    1
    Ratings:
    +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.)
     
Search tags for this page
android bluetooth voice dialer source code
,
android speak to dial source code
,
appm vdhf
,
free download voice dialer for android
,
hands free dialer android
,
hands free voice dialer for android
,
source code for android voice dialer
,
voice diale hf
,

voice dialer hf

,
where can i purchase voice dialer hf