编程语言
首页 > 编程语言> > 使用C#语音文本

使用C#语音文本

作者:互联网

我正在尝试使用C#语言设计文本编辑器并为正常文件功能实现语音识别,这是否可以实现.
如果我重复之前提出的问题,我感到非常抱歉.
我只是想知道是否有方法使用C#将语音转换为文本.
你的帮助非常宝贵.
等待回复.
提前致谢.

解决方法:

以下是使用C#和System.Speech从语音转换为文本的完整示例

代码可分为两个主要部分:

配置SpeechRecognitionEngine对象(及其必需元素)
处理SpeechRecognized和SpeechHypothesized事件.

第1步:配置SpeechRecognitionEngine

_speechRecognitionEngine = new SpeechRecognitionEngine();
_speechRecognitionEngine.SetInputToDefaultAudioDevice();
_dictationGrammar = new DictationGrammar();
_speechRecognitionEngine.LoadGrammar(_dictationGrammar);
_speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);

此时,您的对象已准备好开始从麦克风转录音频.您需要处理一些事件,以便实际访问结果.

第2步:处理SpeechRecognitionEngine事件

_speechRecognitionEngine.SpeechRecognized -= new EventHandler(SpeechRecognized);
_speechRecognitionEngine.SpeechHypothesized -= new EventHandler(SpeechHypothesizing);

_speechRecognitionEngine.SpeechRecognized += new EventHandler(SpeechRecognized);
_speechRecognitionEngine.SpeechHypothesized += new EventHandler(SpeechHypothesizing);

private void SpeechHypothesizing(object sender,
SpeechHypothesizedEventArgs e) {
///real-time results from the engine
string realTimeResults = e.Result.Text; }

private void SpeechRecognized(object sender, SpeechRecognizedEventArgs
e) {
///final answer from the engine string finalAnswer =
e.Result.Text; }

而已.如果您想使用预先录制的.wav文件而不是麦克风,则可以使用

_speechRecognitionEngine.SetInputToWaveFile(pathToTargetWavFile);

代替

_speechRecognitionEngine.SetInputToDefaultAudioDevice();

这些课程中有许多不同的选项,值得更详细地探讨.

http://ellismis.com/2012/03/17/converting-or-transcribing-audio-to-text-using-c-and-net-system-speech/

标签:c,net,speech-to-text
来源: https://codeday.me/bug/20190530/1186771.html