Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# Visual-Studio
Hi All,
 
I am created a program for continuous speech recognition, but its accuracy is very low. Please help me. I have written code that is the problem?
 

using SpeechLib;
 
namespace Speech_Recognition
{
    public partial class SRForm : Form
    {
        private SpeechLib.SpSharedRecoContext objRecoContext;
        private SpeechLib.ISpeechRecoGrammar grammar;
        public SRForm()
        {
            InitializeComponent();
            initSAPI();
        }
 
        private void initSAPI()
        {
            try
            {
                //Create Instance The Main Object (SpSharedRecoContext)And Activating The Recognition Event
                objRecoContext = new SpeechLib.SpSharedRecoContext();
                objRecoContext.Recognition += new _ISpeechRecoContextEvents_RecognitionEventHandler(RecoContext_Recognition);
                objRecoContext.EventInterests = SpeechLib.SpeechRecoEvents.SRERecognition | SpeechLib.SpeechRecoEvents.SREAudioLevel;
                //Grammar Creation with Default Value 'ID = 0' And Grammar Activation
               grammar = objRecoContext.CreateGrammar(0);
               grammar.DictationSetState(SpeechRuleState.SGDSActive);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Exception \n" + ex.ToString(), "Error - initSAPI");
            }
        }
        //---------------------------------------------------------------------------------------------------------

        //Main ObjRecoContext Event And launched when engine recognized a phrase
        public void RecoContext_Recognition(int StreamNumber, object StreamPosition, SpeechRecognitionType RecognitionType, ISpeechRecoResult e)
        {
            //Get And Display Phrase
            string phrase = e.PhraseInfo.GetText(0, -1, true);
           richTextBox1.Text+= phrase + " ";
        }
    }
}
 
Thanks in Advance.
Posted 18-Jul-11 2:25am
ghg37535
Edited 18-Jul-11 2:40am
v3

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Nothing can be done. This is the quality of the recognition engine you use right now. Alternatively, you could use System.Speech.Recognition, http://msdn.microsoft.com/en-us/library/system.speech.recognition.aspx[^] with DictationGrammar. This is simpler, but the qualify will be the same.
 
The engine provide pretty good quality if all the grammars used at a time and taken together are reasonably small, and all the works used in all of them are distinctly different in pronunciation. This is not a case with DictationGrammar, where the number of looks-alike is enormous.
 
A have read the article in Scientific American claiming that original Nuance Dragon NaturallySpeaking provides really smooth dictation, never tried: http://en.wikipedia.org/wiki/Dragon_NaturallySpeaking[^].
 
There is a number of other products I'm not familiar with. See:
http://en.wikipedia.org/wiki/Speech_recognition[^],
http://en.wikipedia.org/wiki/Digital_dictation[^],
http://en.wikipedia.org/wiki/Digital_dictation_software[^].
 
—SA
  Permalink  
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 587
1 Sergey Alexandrovich Kryukov 479
2 Maciej Los 305
3 Mathew Soji 195
4 Richard MacCutchan 145
0 OriginalGriff 7,356
1 Sergey Alexandrovich Kryukov 6,712
2 DamithSL 5,461
3 Manas Bhardwaj 4,916
4 Maciej Los 4,475


Advertise | Privacy | Mobile
Web03 | 2.8.1411023.1 | Last Updated 17 Mar 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100