Windows有用于语音识别的API,它还提供了执行语音识别并执行识别命令的系统应用程序。有没有办法/API 以编程方式发送命令?文本和音频文件是可以接受的。但请不要建议使用虚拟麦克风,谢谢!
澄清:
大声播放音频不是正确的方法
由于音频文件是可接受的,因此您可以使用文本转语音 API 通过输入的命令生成语音,并将其保存到文件,然后将其传递给语音识别 API。
SpeechSynthesizer ss = new SpeechSynthesizer();
ss.Volume = 100;
ss.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult);
ss.SetOutputToWaveFile(@"C:\Command.wav");
string command = Console.ReadLine();
ss.Speak(command);
虽然我发现了一个关于文件质量的问题,并且有关于如何修复它的答案,但无论如何,如果它没有问题地识别它,那么你就不必处理质量问题。
我正在尝试查找 Windows 语音访问的 API。 Microsoft .NET 文档令人困惑,因为它不清楚正在使用什么识别后端 Windows Voice Access 或 (SAPI) 5.3。
如果我运行代码 system.speech.recognition 它似乎使用 (SAPI) 5.3 而不是 Windows Voice Access
(SAPI) 5.3 的SpeechRecognitionEngine.SetInputToWaveFile 方法加载要识别的文件并以语法形式执行识别的命令。