我正在制作一个涉及使用windows语音识别的应用程序。我正在考虑使用C++来做到这一点,因为我有这种语言的一些经验。我想使用语音识别的方式可以在内部使用。如果我将音频文件上传到我的程序中,我希望语音识别将该音频写入文本文件,但所有这些都应在内部完成。请提供一些帮助,如果我没有正确解释我的问题,请让我知道,我会尝试再次解释。使用C++来调用和使用Windows语音识别
由于提前, 的div
我正在制作一个涉及使用windows语音识别的应用程序。我正在考虑使用C++来做到这一点,因为我有这种语言的一些经验。我想使用语音识别的方式可以在内部使用。如果我将音频文件上传到我的程序中,我希望语音识别将该音频写入文本文件,但所有这些都应在内部完成。请提供一些帮助,如果我没有正确解释我的问题,请让我知道,我会尝试再次解释。使用C++来调用和使用Windows语音识别
由于提前, 的div
Windows提供的语音识别引擎的客户端和服务器。两者都可以用C++或.NET语言编程。用C++编程的传统API被称为SAPI。用于客户端和服务器语音的.NET框架名称是System.Speech和Microsoft.Speech。
SAPI文件 - http://msdn.microsoft.com/en-us/library/ms723627(VS.85).aspx
的.NET命名空间为客户的认可是System.Speech - http://msdn.microsoft.com/en-us/library/system.speech.recognition.aspx。 Windows Vista和7包括语音引擎。
服务器识别的.NET名称空间是Microsoft.Speech,10.2版本的完整SDK可在http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1b1604d3-4f66-4241-9a21-90a294a5c9a4上获得。语音引擎是免费下载的。
很多早期的问题都解决了这个问题。例子见Prototype based on speech recognition和SAPI and Windows 7 Problem。
如果你真的想这样做,在C++中,你必须下载的SAPI SDK,它不来标准与Windows(老问题,但没有公认的答案,并出现在谷歌相当高)
: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5e86ec97-40a7-453f-b0ee-6583171b4530&displaylang=en,请选择SpeechSDK51.exe
您可以在SAPI上找到的最佳文档不在Web上,它位于SDK本身的Docs /文件夹中。 .chm很好地解释了一切。 Here是帮助您入门的附加链接。
但是,它不是C++的要求,我强烈建议你在C#中执行它。它非常简单(没有COM组件,没有单独的SDK,更多的MSDN文档,更多的教程,...)。见this CodeProject article;你将不得不删除所有的图形用户界面和所有的语音合成内容,你会发现,语音识别会降低到10行代码。令人印象深刻。
编辑示例代码,没有编译,没有测试:
using System.Speech;
using System.Speech.Recognition;
// in constructor or initialisation
SpeechRecognitionEngine recognizer = null;
recognizer = new SpeechRecognitionEngine();
recognizer.SetInputToDefaultAudioDevice();
recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// The callback called when a sentence is recognized
private void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e){
string text = e.Result.Text;
// Do whatever you want with 'text' now
}
TA大新,做
并在第六元素挂钩(http://msdn.microsoft.com/en-us/magazine /cc163663.aspx)非常有帮助。 – 2011-01-06 15:43:36