0
我試圖識別簡單的英語單詞,但沒有識別出現。基本語音識別不起作用
private void Form1_Load(object sender, EventArgs e)
{
SpeechRecognitionEngine srEngine = new SpeechRecognitionEngine();
// Create a simple grammar that recognizes "twinkle", "little", "star"
Choices song_00 = new Choices();
song_00.Add(new string[] {"twinkle", "little", "star"});
// Create a GrammarBuilder object and append the choices object
GrammarBuilder gb = new GrammarBuilder();
gb.Append(song_00);
// Create the grammar instance and load it into the sppech reocognition engine.
Grammar g = new Grammar(gb);
g.Enabled = true;
srEngine.LoadGrammar(g);
srEngine.SetInputToDefaultAudioDevice();
// Register a handler for the Speechrecognized event.
srEngine.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
srEngine.RecognizeAsync(RecognizeMode.Multiple);
}
// Create a simple handler for the SpeechRecognized event.
void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
MessageBox.Show("Speech recognized: " + e.Result.Text);
}
下面的一個也不顯示任何消息。
foreach (RecognizerInfo ri in SpeechRecognitionEngine.InstalledRecognizers())
{
MessageBox.Show(ri.Culture);
}
所以我認爲失敗的主要原因是語言。
是否有任何解決方案在非英語版本的Windows中使用英文識別? 或 有沒有我無法注意到的問題?
- 現在我使用非英語版的windows7(64位),並且我的麥克風連接良好。 (我已經檢查了控制面板。)
我加了SpeechRecognitionRejected和SpeechHypothesized,但沒有任何信息出來。我還測試了MSDN示例(http://msdn.microsoft.com/en-us/library/hh361683.aspx)而不進行修改,但它也不起作用。 – Walker
另外,我也嘗試過Kinect SDK的Speech Basics-WPF示例,但它也根本不起作用。 – Walker
您是否將Kinect用作麥克風?當您運行SpeechBasics-WPF併發布任何錯誤時,您可以查看輸出嗎?嘗試在語音識別路徑中添加一些Debug.WriteLine語句,以查看是否有人觸發併發布結果。 –