我有两个 .wav 文件,我需要比较它们并确定它们是否包含相同的词(也有相同的顺序)。
我一直在寻找最好的方法。我不知道如何让 pyspeech 使用文件作为输入。我试过让 CMU sphinx 项目正常工作,但我似乎无法让 GStreamer 与 Python 27 一起工作,更不用说他们的项目了。我也搞砸了 DragonFly,但运气不好。
我正在使用 Win7 64bit 和 Python27。有人有什么想法吗?
非常感谢任何帮助。
最佳答案
你可以试试 PySpeech .有关更多信息,请参阅 pyspeech (python) - Transcribe mp3 files? .我从未使用过它,但我相信它利用了 Windows 内置的语音识别引擎。这将允许您将 Wav 文件转换为文本,然后您可以进行文本比较。
要使用 Windows 语音引擎并使用 wav 文件进行输入,有两个要求。
- 使用进程内识别器 (SpeechRecognitionEngine)。共享识别器不能使用 Wav 文件作为输入。
- 在识别器对象上调用 SetInputToWaveFile 以指定您的输入 wav 文件。
您可能需要对 wav 文件重新采样,因为语音识别引擎仅支持某些采样率。
- 每个样本 8 位
- 单声道单声道
- 每秒 22,050 个样本
- PCM编码
在 Windows 上运行良好。参见 https://stackoverflow.com/a/6203533/90236了解更多信息。
有关 Windows 语音引擎的更多背景信息,您可以查看 SAPI and Windows 7 Problem和 What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?
关于Python 语音比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9404099/