C#语音转文本

目录

1.还记得小娜的声音么

2.参考代码

2.1创建语言识别对象

2.2创建选择对象、添加要响应的词组

2.3加载选择、创建语法

2.4加载语法

2.5编写响应函数

2.6把响应函数加入事件

2.7启动监听

2.8总参考


1.还记得小娜的声音么

那是Winodws系统内置的语言模块

可以直接用C#调用

2.参考代码

命名空间using System.Speech.Recognition;

2.1创建语言识别对象

static SpeechRecognitionEngine speechRecognition = new SpeechRecognitionEngine();//创建语言识别对象

2.2创建选择对象、添加要响应的词组

Choices choices = new Choices();//创建选择
choices.Add(new string[] { "你好", "谢谢" });//添加要监听、识别的词组

2.3加载选择、创建语法

GrammarBuilder gb = new GrammarBuilder();//语法构建者
gb.Append(choices);//加载选择
Grammar gr = new Grammar(gb);//创建语法

2.4加载语法

speechRecognition.LoadGrammarAsync(gr);
            speechRecognition.SetInputToDefaultAudioDevice();

2.5编写响应函数

public static void speechRecognition_response(object sender, SpeechRecognizedEventArgs e)
{
    //识别到语法里的词组、则进入函数
    switch (e.Result.Text)//判断识别到的词组是哪个
    {
        case "你好":
            Console.WriteLine("你好");
            break;
        case "谢谢":
            Console.WriteLine("谢谢");
            break;
    }

}

2.6把响应函数加入事件

speechRecognition.SpeechRecognized += speechRecognition_response;

2.7启动监听

speechRecognition.RecognizeAsync(RecognizeMode.Multiple);

2.8总参考

static SpeechRecognitionEngine speechRecognition = new SpeechRecognitionEngine();//创建语言识别对象
static void Main(string[] args)
{
    
    Choices choices = new Choices();//创建选择
    choices.Add(new string[] { "你好", "谢谢" });//添加要监听、识别的词组
    GrammarBuilder gb = new GrammarBuilder();//语法构建
    gb.Append(choices);//加载选择
    Grammar gr = new Grammar(gb);//创建语法
    speechRecognition.LoadGrammarAsync(gr);
    speechRecognition.SetInputToDefaultAudioDevice();
    speechRecognition.SpeechRecognized += speechRecognition_response;
    speechRecognition.RecognizeAsync(RecognizeMode.Multiple);//启动
    Console.ReadLine();
}
public static void speechRecognition_response(object sender, SpeechRecognizedEventArgs e)
{
    //识别到语法里的词组、则进入函数
    switch (e.Result.Text)//判断识别到的词组是哪个
    {
        case "你好":
            Console.WriteLine("你好");
            break;
        case "谢谢":
            Console.WriteLine("谢谢");
            break;
    }

}

这样麦克风听见你好、就会打印你好、听见谢谢、就会打印谢谢

你可能感兴趣的:(C#,c#,开发语言)