2011-05-19 62 views
3

我正在努力讓人類像波斯語言的字典(db),所以我試圖說話並讓C#在語音上產生它,但問題是我無法找到任何事件來查找我說了什麼。例如,我們有SpeechRecognized事件,但是在識別語音後它被解僱了。這裏是我的代碼示例:C#返回語音拼音而不識別它

<pre> 
<code> 
SpeechRecognizer rec = new SpeechRecognizer(); 

public Form1(){ 

     InitializeComponent(); 

     rec.SpeechRecognized += rec_SpeechRecognized(rec_SpeechRecognized); // this will fire after recognize 
     rec.SpeechDetected +=new EventHandler(rec_SpeechDetected); // this will fired each time but with no return 
     rec.enabled = true; 
    } 
</code> 
<pre> 

注: 我想C#生產什麼,我說的音值,不承認它。

+0

看到什麼SpeechDetected或SpeechHypothesized事件? – Holystream 2011-05-19 19:47:45

+0

SpeechDetected不會返回任何結果。只是包含時間! SpeechHypothesized與SpeechRecognized相同。 – ShirazITCo 2011-05-19 19:53:13

回答

3

我不認爲System.Speech.Recognition會公開您所說的語音解釋。 Windows識別器使用特定於語言的模型來嘗試匹配指定語言的單詞。

Windows 7中的語音引擎支持以下語言:中文(簡體),中文(繁體),法語,德語,日語,西班牙語,英國英語和美國英語。請參閱http://msdn.microsoft.com/en-us/goglobal/ee426904

Microsoft服務器語音引擎支持26種語言。我不相信波斯被支持。請參閱http://www.microsoft.com/downloads/en/details.aspx?FamilyID=F704CD64-1DBF-47A7-BA49-27C5843A12D5

也許使用C++和SAPI,您可以獲取底層音素。如果您搜索「SAPI音位提取」,您可能會發現一些有用的信息。特別看看 Speech Recognition with SAPI: Custom Language Support through phenomes,它描述了建立一個自定義語法來嘗試從一種替代語言中提取音素。

其他有趣的引用我在http://developer.valvesoftware.com/wiki/Phoneme_Toolhttp://www.mail-archive.com/[email protected]/msg19793.html