2013-05-04 11 views
5

मैं चाहूँगा पता है कि कैसे सी # में System.Speech के साथ नीचे माइक्रोफोन संवेदनशीलता ..System.Speech नीचे माइक्रोफोन संवेदनशीलता

अपने आप की व्याख्या करने के लिए, मैं एक व्याकरण फ़ाइल है, और अपने आवेदन जब मुझे रिकॉर्ड करने के लिए शुरू करना चाहिए मैं SIVRAJ (मेरे कार्यक्रम का नाम) का कहना है कि

हालांकि, मैं कुछ पूरी तरह से अलग कह सकते हैं, और अपने आवेदन कुछ 'SIVRAJ' समझ जाएगा ...

मेरी एक्सएमएल फ़ाइल से एक हिस्सा है:

<rule id="mouskie" scope="public"> 
<item> 
    <one-of> 
    <item>SIVRAJ</item> 
    </one-of> 
</item> 
<ruleref special="GARBAGE" /> 
<one-of> 
    <item> 
    <one-of> 
     <item>quit</item> 
    </one-of> 
    <tag>$.mouskie={}; $.mouskie._value="QUIT";</tag> // quit programm when i say SIVRAJ + quit 
    </item> 
    ..... etc etc 

और इस समारोह जो मान्यता इंजन शुरू होता है:

SrgsDocument xmlGrammar = new SrgsDocument("Grammaire.grxml"); 
Grammar grammar = new Grammar(xmlGrammar); 
ASREngine = new SpeechRecognitionEngine(); 
ASREngine.SetInputToDefaultAudioDevice(); 
ASREngine.LoadGrammar(grammar); 

ASREngine.SpeechRecognized += ASREngine_SpeechRecognized; 
ASREngine.SpeechRecognitionRejected += ASREngine_SpeechRecognitionRejected; 
ASREngine.SpeechHypothesized += ASREngine_SpeechHypothesized; 

अंत में, मैं डेटा यहाँ की वसूली:

recoText.Text = e.Result.Text; 
devine.Text = ""; 
affiche.Text = ""; 

string baseCommand = e.Result.Semantics["mouskie"].Value.ToString(); 
commandText.Text = baseCommand; 

if (baseCommand.Equals("QUIT")) 
{ 
    m_SpeechSynth.Speech("au revoir", VoiceGender.Male, VoiceAge.Adult); 
    Environment.Exit(0); 
} 

उत्तर

2

इस परिदृश्य तुम सच में माइक्रोफोन संवेदनशीलता की तलाश नहीं कर रहे हैं। मुझे विश्वास है कि आप जो खोज रहे हैं वह वाक्यांश आत्मविश्वास है।

जब इंजन एक मान्यता परिणाम देता है तो यह इसके साथ आत्मविश्वास स्कोर भी देता है। "मूल रूप से यह कहकर मैं कितना आश्वस्त हूं कि मैंने जो सुना वह मैंने कहा था।"

if (Speech.Recognition.RecognitionResult.Confidence > .20) 
{ 
    //do some good stuff 
} 
else 
{ 
    // ignore 
} 

यह एक सबसे पूरा भरोसा और 0 मूल रूप से किया जा रहा है पृष्ठभूमि शोर के कारण Reco घटनाओं जा रहा है 1 साथ 1 0 से मान है। आपको आत्मविश्वास मूल्य के साथ चारों ओर खेलना होगा क्योंकि यह अत्यधिक व्याकरण और पर्यावरण विशिष्ट है।

एक और चीज जो आप कर सकते हैं वह ट्रिगर शब्द बदलना है। मुझे संदेह है कि भाषण इंजन के लिए लेक्सिकॉन में वाक्यांश सिवराज है। इस मामले में इंजन इस बात को लेकर आज़माएगा कि इस शब्द को कौन सा फोनेम बनाते हैं (यदि आप भाषाई पृष्ठभूमि रखते हैं तो आप खुद को व्याकरण में कस्टम उच्चारण के रूप में आपूर्ति कर सकते हैं)। स्टार्ट रिकॉर्डिंग की तरह कुछ आपको एक और सभ्य अनुभव देने का एक बेहतर मौका होगा।

संबंधित मुद्दे