我目前正在通过从xml文件加载一个非常简单的规则来测试SpeechRecognitionEngine.事实上,它是一个简单的("解密电子邮件","删除加密")或("加密电子邮件","添加加密").
我已经训练了我的Windows 7 PC,并且还添加了加密和解密这两个词,因为我发现它们非常相似.识别器已经存在使这两者产生差异的问题.
我遇到的问题是它经常识别事物.我已经把信心设置为0.93,因为我的声音在一个安静的房间里,说的确切的话有时只会达到0.93.但是,如果我打开收音机,播音员或歌曲的声音可能意味着这个识别器认为它已经以超过0.93的信心听到了"decrpyt the email".
也许Lady Gaga正在回击Applause秘密解密电子邮件:-)
任何人都可以帮助解决如何做一些事情,使这个识别器可行.
事实上,识别器也在拾取键盘噪音,因为"解密了电子邮件".我不明白这是怎么可能的.
对于我的编辑伙伴,MS Speech Microsoft.Speech和System.Speech至少有两个托管命名空间 - 对于这个问题,重要的是要知道它是System.Speech.
似乎微软提供了不少语音识别产品,我想知道它们之间的差异.
有Microsoft Speech API或SAPI.但不知何故,Microsoft Cognitive Service Speech API具有相同的名称.
现在好了,Azure上的Microsoft Cognitive Service提供了语音服务API和Bing Speech API.我假设语音到文本,两个API是相同的.
然后是System.Speech.Recognition(或桌面SAPI),Microsoft.Speech.Recognition(或Server SAPI)和Windows.Media.Speech.Recognition.这里和这里对三者之间的差异有一些解释.但我的猜测是它们是基于HMM的旧语音识别模型,又名神经网络模型,并且所有这三种都可以在没有互联网连接的情况下离线使用,对吧?
对于Azure语音服务和bing语音API,它们是更高级的语音模型吗?但我认为没有办法在我的本地计算机上脱机使用它们,因为它们都需要订阅验证.(即使Bing API似乎有一个C#桌面库 ..)
基本上我想要一个离线模型,它可以进行语音到文本的转录,用于我的会话数据(每个音频录制5-10分钟),可以识别多个扬声器并输出时间戳(或时间编码输出).所有的选择我现在有点困惑.如果有人能向我解释,我将不胜感激,非常感谢!
speech-recognition speech-to-text microsoft-speech-api microsoft-speech-platform microsoft-cognitive
我有两个.wav文件,我需要比较并确定它们是否包含相同的单词(同样的顺序).
我一直在寻找最好的方法.我无法弄清楚如何让pyspeech使用文件作为输入.我试过让CMU sphinx项目正常工作,但我似乎无法让GStreamer使用Python 27,更不用说他们的项目了.我也和DragonFly搞乱了,没有运气.
我在Python27上使用Win7 64bit.有没有人有任何想法?
任何帮助是极大的赞赏.
大家好,我在 MS 语音识别方面遇到了麻烦。
我的代码很简单。
static void init()
{
string enUsEngine = string.Empty;
foreach (RecognizerInfo ri in SpeechRecognitionEngine.InstalledRecognizers())
{
Console.WriteLine(ri.Culture);
if (ri.Culture.Name.Equals("en-US") == true)
{
enUsEngine = ri.Id;
}
}
SpeechRecognitionEngine recogEngine = new SpeechRecognitionEngine(enUsEngine);
Grammar grammar = new Grammar("grammar.xml");
recogEngine.LoadGrammar(grammar);
recogEngine.SpeechRecognized += recogEngine_SpeechRecognized;
recogEngine.RecognizeCompleted += recogEngine_RecognizeCompleted;
recogEngine.SetInputToDefaultAudioDevice();
recogEngine.RecognizeAsync(RecognizeMode.Multiple);
}
Run Code Online (Sandbox Code Playgroud)
然后抛出InvalidOperationException调用
(System.InvalidOperationException:找不到请求的数据项,例如数据键或值。)
SetInputToDefaultAudioDevice();方法
我下载了 MSSpeech sdk 并安装了它(Microsoft.speech.dll)。还下载了语言包。(en-us、ko-kr)
我的麦克风驱动程序已安装并在控制面板中启用。
请帮我。
我的操作系统是 Windows 10,使用语音识别 api 是否有问题?
我正在使用 WPF 语音识别库,试图在桌面应用程序中使用它作为菜单命令的替代方案。(我想专注于没有键盘的平板电脑体验)。它有效 - 有点,除了识别的准确性太差以至于无法使用。所以我试着听写成 Word。Word 运行得很好。我在这两种情况下都使用我的内置笔记本电脑麦克风,并且两个程序都能够同时听到相同的语音(前提是 Word 保留键盘焦点),但 Word 做得对,WPF 做得很糟糕。
我尝试了通用 DictationGrammar() 和微小的专用语法,并且尝试了“en-US”和“en-AU”,在所有情况下,Word 都表现良好,而 WPF 表现不佳。即使将 WPF 中的专业语法与 Word 中的一般语法进行比较,WPF 也有 50% 的错误率,例如将“size small”听成“color small”。
private void InitSpeechRecognition()
{
recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
// Create and load a grammar.
if (false)
{
GrammarBuilder grammarBuilder = new GrammarBuilder();
Choices commandChoices = new Choices("weight", "color", "size");
grammarBuilder.Append(commandChoices);
Choices valueChoices = new Choices();
valueChoices.Add("normal", "bold");
valueChoices.Add("red", "green", "blue");
valueChoices.Add("small", "medium", "large");
grammarBuilder.Append(valueChoices);
recognizer.LoadGrammar(new Grammar(grammarBuilder));
}
else
{
recognizer.LoadGrammar(new DictationGrammar());
} …Run Code Online (Sandbox Code Playgroud) 我正在构建一个用于录制语音消息的Web应用程序,并且正在寻找将语音消息转换为文本的最佳选项.有没有人对使用什么进行转换有一些建议?System.Speech会工作吗?
我正在开发一个程序(在C#中)来识别来自用户的语音命令并在PC中执行,即用户说"开始菜单"并且PC打开开始菜单.
我找到了一个很酷的库:SpeechRecognitionEngine用于语音识别,问题是我需要识别西班牙语,有没有办法改变语言?
这是我的中文 TTS 代码,尽管中文 TTS 引擎安装成功,但说话功能失败
\n\nusing Microsoft.Speech.Synthesis;\nusing System.Globalization;\n\nnamespace TTS3\n{\n class Program\n {\n static void Main(string[] args)\n {\n //CultureInfo=new CultureInfo("zh-CN");\n SpeechSynthesizer synth = new SpeechSynthesizer();\n\n// Output information about all of the installed voices. \n foreach (InstalledVoice voice in synth.GetInstalledVoices(new CultureInfo("zh-CN")))\n {\n synth.SelectVoice(voice.VoiceInfo.Name);\n //Console.WriteLine(synth.Voice.Description);\n synth.SetOutputToWaveFile("C:\\\\Users\\\\surabhi\\\\Desktop\\\\yes.wav");\n synth.Speak("\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c");\n break;\n}\n Console.WriteLine();\n Console.WriteLine("Press any key to exit...");\n Console.ReadKey();\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n代码抛出的异常是
\n\nUnhandled Exception: System.InvalidOperationException: Speak error \'80004005\'. -\n--> System.Runtime.InteropServices.COMException: Error HRESULT E_FAIL has been r\neturned from a call to a COM component.\n at …Run Code Online (Sandbox Code Playgroud) 谷歌浏览器提供语音文本(STT)和许多智能手机应用程序提供STT.它有很好的认可.
我想在Visual Studio(MFC)中使用程序,但是没有方法可以执行STT.如果我使用Google Speech To Text Api,解决这个问题就很容易了.
如果没有关于STT的公开google api,除了启动之外,请告诉我另一种方法.