Windows 语音以编程方式访问命令

问题描述 投票:0回答:2

Windows有用于语音识别的API,它还提供了执行语音识别并执行识别命令的系统应用程序。有没有办法/API 以编程方式发送命令?文本和音频文件是可以接受的。但请不要建议使用虚拟麦克风,谢谢!

澄清:

大声播放音频不是正确的方法

c# .net windows sapi
2个回答
0
投票

由于音频文件是可接受的,因此您可以使用文本转语音 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);

虽然我发现了一个关于文件质量的问题,并且有关于如何修复它的答案,但无论如何,如果它没有问题地识别它,那么你就不必处理质量问题。


0
投票

我正在尝试查找 Windows 语音访问的 API。 Microsoft .NET 文档令人困惑,因为它不清楚正在使用什么识别后端 Windows Voice Access 或 (SAPI) 5.3。

如果我运行代码 system.speech.recognition 它似乎使用 (SAPI) 5.3 而不是 Windows Voice Access

(SAPI) 5.3 的

SpeechRecognitionEngine.SetInputToWaveFile 方法加载要识别的文件并以语法形式执行识别的命令。

© www.soinside.com 2019 - 2024. All rights reserved.