C# 离线语音识别实现实时说话实时显示
时间: 2023-08-21 16:01:53 浏览: 123
以下是一个简单的 C# 离线语音识别实现实时说话实时显示的例子:
```csharp
using System;
using System.Speech.Recognition;
class Program
{
static void Main(string[] args)
{
// 创建语音识别引擎
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
// 设置识别模式为离线模式
recognizer.SetInputToDefaultAudioDevice();
// 加载语音识别语法
var grammar = new Grammar("MyGrammar.xml");
recognizer.LoadGrammar(grammar);
// 注册语音识别事件处理程序
recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// 开始语音识别
recognizer.RecognizeAsync(RecognizeMode.Multiple);
Console.WriteLine("Say something...");
while (true)
{
Console.Write("> ");
string text = Console.ReadLine();
// 实时显示识别结果
Console.WriteLine("Recognized text: " + recognizer.RecognizeAsyncCancel().Text);
if (text.ToLower() == "exit")
{
break;
}
}
recognizer.Dispose();
}
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
```
上述代码中,我们使用了一个无限循环来等待用户输入文字,同时调用 `recognizer.RecognizeAsyncCancel().Text` 实时获取语音识别结果并显示在控制台上。当用户输入 "exit" 时,退出程序并释放语音识别引擎。注意,由于 `recognizer.RecognizeAsyncCancel()` 方法会取消当前正在进行的语音识别操作,因此在实际应用中需要根据具体需求进行适当调整。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)