Page 2 of 2 FirstFirst 12
Results 11 to 18 of 18

Thread: Voice recognition using SAPI

  1. #11
    FLAC IntellaWorks's Avatar
    Join Date
    Jun 2004
    Location
    NH
    Posts
    1,173

    suggestion:

    DJscript, I read your article and its a great things you've done with SAPI. I'm curious as to if your using custom designed software (mdae by you) to play the music, if so make it turn the volume down when your giving the system a command.

  2. #12
    What can I say? I like serial. Curiosity's Avatar
    Join Date
    Mar 2004
    Location
    Florence Yall, BFKY
    Posts
    2,684
    Another suggstion: I find that getting the alternates gives better results. Instead of ISpRecoResult::GetText() using ISpRecoResult::GetAlternates( ) and GetText( ) on those. The first one is the best match, and it does extra work like converting numbers to digits.

  3. #13
    Low Bitrate
    Join Date
    Aug 2004
    Posts
    76
    Quote Originally Posted by IntellaWorks
    DJscript, I read your article and its a great things you've done with SAPI. I'm curious as to if your using custom designed software (mdae by you) to play the music, if so make it turn the volume down when your giving the system a command.
    I'm using MediaCar. I've thought about turning the volume down, but I kinda lean towards the push-to-talk type setup. On my friend's Accord, you have to push a button on the steering wheel to activate voice commands.

    00 Galant
    armadaE500 P3-660 320M 20G, lilliput, audigy2NX, slim/slotLoad dvd/cdrw, cardReader
    sony rm-x2s, bu303, xmDirect
    xpPro sp2, frodoPlayer 1.09, iGuidance 2.0, custom voiceRecognition
    custom shutdownController

  4. #14
    Low Bitrate
    Join Date
    Aug 2004
    Posts
    76
    Quote Originally Posted by Curiosity
    Another suggstion: I find that getting the alternates gives better results. Instead of ISpRecoResult::GetText() using ISpRecoResult::GetAlternates( ) and GetText( ) on those. The first one is the best match, and it does extra work like converting numbers to digits.
    I'm not really using GetText() to process the commands. In the Recognition event, I simply act on the VALSTR depending on the rule name. Something like:
    Code:
    Select Case RuleName
       Case "talk"
          RC.Voice.Speak(ValStr)
       Case "sendKeys"
          SendKeys.Send(ValStr)
    End Select
    I wish there was something in the ISpRecoResult that returns the accuracy of the recognized command. So I would only process the command if it's like at least 80% accurate. I tried using CONFIDENCE but it's not very granular and when I was testing it, most incorrectly recognized commands have a Normal confidence so it's useless.

    NTurkey, is there any way of doing this?

    00 Galant
    armadaE500 P3-660 320M 20G, lilliput, audigy2NX, slim/slotLoad dvd/cdrw, cardReader
    sony rm-x2s, bu303, xmDirect
    xpPro sp2, frodoPlayer 1.09, iGuidance 2.0, custom voiceRecognition
    custom shutdownController

  5. #15
    Maximum Bitrate
    Join Date
    Jun 2004
    Location
    The North, Manchester
    Posts
    814
    Voicerecognition.exe - Application Error

    The app failed to init properly (0xc000135)

    any ideas?

  6. #16
    Newbie NTurkey's Avatar
    Join Date
    Sep 2004
    Location
    Sammamish, WA
    Posts
    31
    Quote Originally Posted by djScript
    I wish there was something in the ISpRecoResult that returns the accuracy of the recognized command. So I would only process the command if it's like at least 80% accurate. I tried using CONFIDENCE but it's not very granular and when I was testing it, most incorrectly recognized commands have a Normal confidence so it's useless.

    NTurkey, is there any way of doing this?
    Yep. There are two confidence values.

    The first one you mentioned is a sort of high/medium/low confidence value. In the COM APIs that's the Confidence property on the SPPHRASERULE. There's also a SREngineConfidence value that's a floating point value, also on the SPPHRASERULE.

    One strategy that a lot of successful speech software uses is to automatically perform the action if the SREngineConfidence is above a certain threshold, but confirm with the user if it's lower.

    For example. User says "Take me home". When the confidence is high enough, it'll just do the action (send the right keys to Routis or whatever). But if the confidence was lower, the app would ask the user to confirm (using either GUI, VUI, or both), "Take you home? Is that correct?". User says "Yes", and then it does it. Or if the user says something else, or says nothing in a time-out window, it cancels, and assumes that it was a false recognition.

    You could also look at the confidence values on a word by word basis (see SPPHRASEELEMENT) for even finer control.
    2004 BMW 330Ci

    Audio: Alpine PXA-H701, XTANT 1.1i, PPI 4800, MB Quart QSD 216, JL W6v2
    Computer: Shuttle XPC P4 3GHz HT, 1G, 160GB HD, WinTV
    Software: StreetDeck ... soon with wicked cool speech integration ...

    Install (A/C/S): 100/100/90 %

  7. #17
    Low Bitrate
    Join Date
    Aug 2004
    Posts
    76
    Quote Originally Posted by NTurkey
    Yep. There are two confidence values.

    The first one you mentioned is a sort of high/medium/low confidence value. In the COM APIs that's the Confidence property on the SPPHRASERULE. There's also a SREngineConfidence value that's a floating point value, also on the SPPHRASERULE.

    One strategy that a lot of successful speech software uses is to automatically perform the action if the SREngineConfidence is above a certain threshold, but confirm with the user if it's lower.

    For example. User says "Take me home". When the confidence is high enough, it'll just do the action (send the right keys to Routis or whatever). But if the confidence was lower, the app would ask the user to confirm (using either GUI, VUI, or both), "Take you home? Is that correct?". User says "Yes", and then it does it. Or if the user says something else, or says nothing in a time-out window, it cancels, and assumes that it was a false recognition.

    You could also look at the confidence values on a word by word basis (see SPPHRASEELEMENT) for even finer control.
    Nice! Thanks again NTurkey.

    00 Galant
    armadaE500 P3-660 320M 20G, lilliput, audigy2NX, slim/slotLoad dvd/cdrw, cardReader
    sony rm-x2s, bu303, xmDirect
    xpPro sp2, frodoPlayer 1.09, iGuidance 2.0, custom voiceRecognition
    custom shutdownController

  8. #18
    Low Bitrate
    Join Date
    Aug 2004
    Posts
    76
    Quote Originally Posted by OriginalNick2
    Voicerecognition.exe - Application Error

    The app failed to init properly (0xc000135)

    any ideas?
    Do you have SAPI installed?

    00 Galant
    armadaE500 P3-660 320M 20G, lilliput, audigy2NX, slim/slotLoad dvd/cdrw, cardReader
    sony rm-x2s, bu303, xmDirect
    xpPro sp2, frodoPlayer 1.09, iGuidance 2.0, custom voiceRecognition
    custom shutdownController

Page 2 of 2 FirstFirst 12

Similar Threads

  1. FP and voice recognition
    By asci01 in forum FrodoPlayer
    Replies: 3
    Last Post: 06-22-2004, 05:24 PM
  2. Voice Recognition + Database Access Over modem??
    By az1324 in forum Software & Software Development
    Replies: 1
    Last Post: 04-09-2004, 08:32 PM
  3. voice recognition (sp?)
    By blaine1605 in forum General Hardware Discussion
    Replies: 57
    Last Post: 02-04-2004, 06:59 PM
  4. Voice Recognition
    By ppgt94 in forum Software & Software Development
    Replies: 6
    Last Post: 06-26-2001, 04:21 PM
  5. Actual mp3 voice recognition that works !
    By meron in forum General Hardware Discussion
    Replies: 1
    Last Post: 04-25-2000, 10:29 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •