C#返回语音拼音而不承认它

时间:2011-05-19 19:23:26

标签: c# speech-recognition

我正在尝试制作类似人类的波斯语言词典(db),所以我试着说话并让c#发音,但问题是我无法找到任何事件来找到我说的话。例如,我们有SpeechRecognized事件,但在识别语音后它被触发。这是我的代码示例:

<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#产生我说的语音值,而不是识别它。

1 个答案:

答案 0 :(得分: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/hlcoders@list.valvesoftware.com/msg19793.html

看到的其他有趣的参考资料