2011-08-14 17 views
7

मैं माइक्रोसॉफ्ट के भाषण पहचानकर्ता का उपयोग कर एक छोटे अभ्यास ऐप पर काम कर रहा हूं। मुझे लगता है कि मैं जो कर रहा हूं उसके लिए पर्याप्त तेज़ शब्दों को पहचानने के लिए मुझे लगता है। मैं सामान्य रूप से बात करने में सक्षम होना चाहता हूं और सिस्टम जो मैं कह रहा हूं उससे "कीवर्ड" लेगा और एक स्ट्रिंग का उत्पादन करूंगा। वर्तमान में मैं 5 शब्दों के कस्टम व्याकरण का उपयोग कर रहा हूं। लाल, नीला, पीला, हरा, ऑरेंज। उदाहरण के लिए यदि मैं लाल नीला पीला कहता हूं। इंजन "लाल" पकड़ लेगा और शेष शून्य में चला जाएगा।माइक्रोसॉफ्ट स्पीच रिकग्निशन स्पीड

मैं निम्नलिखित का उपयोग कर की कोशिश की है:

sr.RecognizeAsync(RecognizeMode.Single) 

फिर AudioState के बाद एकल मोड में पुन: इसे रीसेट परिवर्तन करने के लिए "बंद कर दिया।" यह अगले शब्द को पकड़ने के लिए पर्याप्त तेज़ नहीं है। विचार?

उत्तर

6

क्या आपने PauseRecognizerOnRecognition को आजमाया है। मुझे लगता है कि यह फ़ंक्शन आपके ऑडियो इनपुट को बफर करेगा जबकि यह पिछले ऑडियो को प्रोसेस कर रहा है।

MSDN ऊपर दी गई लिंक से:

जब PauseRecognizerOnRecognition, सच है SpeechRecognized हैंडलर वाक् पहचान सेवा रुक जाता है और बफ़र्स नया ऑडियो इनपुट के रूप में यह आता है के निष्पादन के दौरान। एक बार स्पीच रिकॉग्नाइज्ड इवेंट हैंडलर निकलता है, भाषण मान्यता सेवा मान्यता को फिर से शुरू करती है और अपने इनपुट बफर से जानकारी प्रोसेसिंग शुरू कर देती है।

+0

RecognizerAudioPosition के संयोजन के साथ मैं उन परिणामों को प्राप्त करने में सक्षम था जो मैं ढूंढ रहा था। आपका बहुत बहुत धन्यवाद! –

+0

@ जोश आर ग्लेड मदद की खुशी –

+0

क्या आप दिखा सकते हैं कि आपको यह काम करने के लिए कैसे मिला? मुझे एक ही समस्या है। –

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