利用微软软件语音识别类库System.Speech.Recognition,无法识别语音

sxl_88 2015-07-01 10:45:57
利用微软的语音识别类库做语音识别,用带麦克风的耳机在讲话测试时。
讲“选择红色”,窗体就变成红色,讲“选择绿色”,窗体就变成绿色。

目前遇到一个问题,前段时间测试时,可以响应我的语音的选择。
但这几天测试时,不管怎么讲,这么就不响应我的语音的选择了呢?

请问微软的语音识别率怎么样?大家有没有遇到类似的问题,这么解决下,谢谢!


附代码:

private SpeechRecognitionEngine SRE = new SpeechRecognitionEngine();


private void Form3_Load(object sender, EventArgs e)
{
SRE.SetInputToDefaultAudioDevice(); //<=======默认的语音输入设备,你可以设定为去识别一个WAV文件。
GrammarBuilder GB = new GrammarBuilder();
GB.Append("选择");
GB.Append(new Choices(new string[] { "红色", "绿色" }));
Grammar G = new Grammar(GB);
G.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(G_SpeechRecognized);
SRE.LoadGrammar(G);
SRE.RecognizeAsync(RecognizeMode.Multiple); //<=======异步调用识别引擎,允许多次识别(否则程序只响应你的一句话)

}


void G_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Text = e.Result.Text;
switch (e.Result.Text)
{
case "选择红色":
BackColor = Color.Red;
break;
case "选择绿色":
BackColor = Color.Green;
break;
}
}
...全文
1167 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
snakerain 2017-11-06
  • 打赏
  • 举报
回复
引用 楼主 sxl_88 的回复:
利用微软的语音识别类库做语音识别,用带麦克风的耳机在讲话测试时。 讲“选择红色”,窗体就变成红色,讲“选择绿色”,窗体就变成绿色。 目前遇到一个问题,前段时间测试时,可以响应我的语音的选择。 但这几天测试时,不管怎么讲,这么就不响应我的语音的选择了呢? 请问微软的语音识别率怎么样?大家有没有遇到类似的问题,这么解决下,谢谢! 附代码: private SpeechRecognitionEngine SRE = new SpeechRecognitionEngine(); private void Form3_Load(object sender, EventArgs e) { SRE.SetInputToDefaultAudioDevice(); //<=======默认的语音输入设备,你可以设定为去识别一个WAV文件。 GrammarBuilder GB = new GrammarBuilder(); GB.Append("选择"); GB.Append(new Choices(new string[] { "红色", "绿色" })); Grammar G = new Grammar(GB); G.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(G_SpeechRecognized); SRE.LoadGrammar(G); SRE.RecognizeAsync(RecognizeMode.Multiple); //<=======异步调用识别引擎,允许多次识别(否则程序只响应你的一句话) } void G_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { Text = e.Result.Text; switch (e.Result.Text) { case "选择红色": BackColor = Color.Red; break; case "选择绿色": BackColor = Color.Green; break; } }
楼主问题解决了吗?我也碰到这个情况了,跪求解决方法~
250292962 2017-07-14
  • 打赏
  • 举报
回复
引用 6 楼 qq_37752927 的回复:
[quote=引用 5 楼 sxl_88 的回复:] 谢谢各位的回复,大致情况如下: 1、安装的是Microsoft Speech SDK 5.1以及Microsoft Speech SDK 5.1 Language Pack ,而且我看了安装的时候是包含中文。 2、以前正常的情况下,每讲一次正确的语音(选择红色,选择绿色),程序自动调用识别引擎,执行G_SpeechRecognized方法。 但是目前的情况,是已经讲了正确的语音,程序不自动调用识别引擎,不执行G_SpeechRecognized方法。 所以没有接收到任何信息,没法执行断点调试,请问有没有其它办法解决?
大哥您知道怎样将默认的音频输入设备,改成来自kinect的音频吗 ?困扰了好多天了[/quote] 是要枚举设备么~
qq_37752927 2017-06-24
  • 打赏
  • 举报
回复
引用 5 楼 sxl_88 的回复:
谢谢各位的回复,大致情况如下: 1、安装的是Microsoft Speech SDK 5.1以及Microsoft Speech SDK 5.1 Language Pack ,而且我看了安装的时候是包含中文。 2、以前正常的情况下,每讲一次正确的语音(选择红色,选择绿色),程序自动调用识别引擎,执行G_SpeechRecognized方法。 但是目前的情况,是已经讲了正确的语音,程序不自动调用识别引擎,不执行G_SpeechRecognized方法。 所以没有接收到任何信息,没法执行断点调试,请问有没有其它办法解决?
大哥您知道怎样将默认的音频输入设备,改成来自kinect的音频吗 ?困扰了好多天了
那城 2015-07-01
  • 打赏
  • 举报
回复
调试下看下是否有收到红色
newtee 2015-07-01
  • 打赏
  • 举报
回复
是不是中文识别包没有安装啊? 自己调试一下吧
exception92 2015-07-01
  • 打赏
  • 举报
回复
期间 是不是修改代码之类的?
sxl_88 2015-07-01
  • 打赏
  • 举报
回复
谢谢各位的回复,大致情况如下: 1、安装的是Microsoft Speech SDK 5.1以及Microsoft Speech SDK 5.1 Language Pack ,而且我看了安装的时候是包含中文。 2、以前正常的情况下,每讲一次正确的语音(选择红色,选择绿色),程序自动调用识别引擎,执行G_SpeechRecognized方法。 但是目前的情况,是已经讲了正确的语音,程序不自动调用识别引擎,不执行G_SpeechRecognized方法。 所以没有接收到任何信息,没法执行断点调试,请问有没有其它办法解决?
於黾 2015-07-01
  • 打赏
  • 举报
回复
断点调试,看到底收到没收到,收到的话收到的到底是什么

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧