我正在尝试设计一个使用c语言的文本编辑器,并实现语音识别的普通文件功能,这是可能实现的。
很抱歉,我要重复先前提出的问题。
我只想知道是否有办法用c将演讲转换成文本。
你的帮助真的很有价值。
等待回应。
提前谢谢。
最佳答案
下面是一个使用c和system的完整示例。
代码可分为两个主要部分:
配置SpeechRecognitionEngine对象(及其必需元素)
处理言语认知和言语假设事件。
步骤1:配置SpeechRecognitionEngine
_speechRecognitionEngine = new SpeechRecognitionEngine();
_speechRecognitionEngine.SetInputToDefaultAudioDevice();
_dictationGrammar = new DictationGrammar();
_speechRecognitionEngine.LoadGrammar(_dictationGrammar);
_speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);
此时,您的对象已准备好开始从麦克风转录音频。不过,您需要处理一些事件,以便实际访问结果。
步骤2:处理SpeechRecognitionEngine事件
_ SpeechRecognitionEngine.SpeechRecognited-=新的事件处理程序(SpeechRecognited);
_ speechrecognitionengine.speechhypothesis-=新事件处理程序(speechhypothesis);
_ SpeechRecognitionEngine.SpeechRecognited+=新的事件处理程序(SpeechRecognited);
_ speechrecognitionengine.speechhypothesis+=新事件处理程序(speechhypothesis);
私人空虚言语假设(对象发送者,
演讲假设
///引擎的实时结果
string realtimeResults=e.result.text;}
私有void speechrecogned(对象发送者,speechrecognizedeventargs
{
///来自引擎字符串final answer的最终答案=
e.result.text;}
就这样。如果您想使用预先录制的.wav文件而不是麦克风,您可以使用
_ speechrecognitionengine.setinputtowavefile(路径目标文件);
而不是
_ SpeechRecognitionEngine.setinputToDefaultAudioDevice();
在这些类中有很多不同的选项,它们值得更详细地探讨。
http://ellismis.com/2012/03/17/converting-or-transcribing-audio-to-text-using-c-and-net-system-speech/