Microsoft SAPI System.Speech 用于转录

Microsoft SAPI System.Speech for transcription

我目前正在研究一种能够转录音频文件的工具。我首先看的是使用微软的System.SpeechAPI的可能性。

查看 msdn documentation,似乎此工具更适合简短的语音命令,您对说话者的期望有所了解。它要求您创建语法以获得良好的准确性。

有这方面经验的人可以 API 确认这是否正确?

是也不是。

虽然理论上任何语音识别器都可以实现 SAPI(因此理论上具有 任何 的准确度),但股票 windows 我发现的识别器非常适合命令和控制,但对于自由形式的听写或关键字识别之类的事情却不是那么好。

这并不是说您无法识别可靠的单词选择并且非常准确。我已经让 SAPI 识别并说克林贡语,并且拥有大量的语法文件。只是当您尝试创建自己的识别器,甚至是您自己的 SAPI 语音时,信息绝对匮乏。通常,可以帮助您的人不太可能准确地帮助您,因为这太难了,或者他们拥有的信息是专有的。

如果您有一个更大的词典,并且希望以自由形式的方式被识别,那么使用 Sphinx 之类的东西可能会更好。

扩展 Lesley 的回答 -

Microsoft 有 3 种不同的 SR 引擎可用,具有不同的权衡。

  • System.Speech.Recognition(或Desktop SAPI)-支持单人 来自波形文件(或其他流)的听写和输入,但是 识别器必须针对特定的人进行训练才能获得 好认可。此外,输入源必须是高 质量(低噪声,16 位,22KHz 采样率)。

    • Microsoft.Speech.Recognition(或服务器 SAPI)- 不支持 完全听写,但确实从波形文件(或其他 stream),不需要培训,并且可以使用较低质量的输入 源(更多噪声,8 位,8 KHz 采样率)。

    • Windows.Media.Speech.Recognition - 新的Windows运行时语音 认可 API。支持听写,不需要培训,工作 使用较低质量的输入源,但不从 wave 中获取输入 文件,并要求您的应用程序基于 Windows 运行时。

对于转录方案,我会研究 Windows.Media.Speech.Recognition 工具,并查看类似 Virtual Audio Cable 的东西来创建一个假的默认音频输入设备。