巨蟒语音比较

问题描述

我有两个.wav文件,我需要比较它们并确定它们是否包含相同的单词(顺序也相同)。

我一直在寻找最好的方法。我想不出如何让pySpeech使用文件作为输入。我试过让CMU的狮身人面像项目工作,但我似乎不能让GStreamer与Python27一起工作,更不用说他们的项目了。我也玩过蜻蜓,但没有运气。

我使用的是64位Win7和Python27。有谁有什么主意吗?

非常感谢您的帮助。


解决方案

您可以尝试PySpeech。有关更多信息,请参阅pyspeech (python) - Transcribe mp3 files?。我从来没有用过它,但我相信它利用了Windows内置的语音识别引擎。这将允许您将Wav文件转换为文本,然后您可以进行文本比较。

若要使用Windows语音引擎并使用wav文件进行输入,有两个要求。

  1. 使用进程识别器(SpeechRecognitionEngine)。共享识别器无法使用Wav文件作为输入。
  2. 在识别器对象上,调用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?

相关文章