【发布时间】:2011-04-26 19:13:55
【问题描述】:
我正在研究如何比较声音文件(wave)。基本上我想将存储的声音文件(wav)与麦克风的声音进行比较。所以最后我想预先存储一些我自己的语音命令,然后当我运行我的应用程序时,我想将预先存储的文件与来自麦克风的输入进行比较。
我的想法是在比较时留出一些余量,因为我猜想以完全相同的方式连续说两次某事会很困难。
所以经过一番谷歌搜索后,我看到 python 有这个名为 wave 的模块和 Wave_read 对象。该对象有一个名为 readframes(n) 的函数:
读取并返回最多 n 帧 音频,作为一串字节。
这些字节包含什么?我正在考虑循环遍历波形文件,然后逐帧比较它们。
【问题讨论】:
-
字节包含 PCM 数据。您是否正在尝试进行语音识别?听起来你有点过头了。你应该研究这个话题。
-
啊,该死的 :) 感谢您的回复。你可以称之为语音识别,但我认为它是简单的文件比较,这会简单得多。就我而言,这只是发出相同声音的问题,而不是分析和尝试解释单词
-
那还是语音识别。即使是声音的细微变化或速度差异也会产生截然不同的音频数据,因此您不能逐帧进行比较。
-
嗯……那真是太糟糕了。是否有一个 python 库可以满足我的需求?
-
否,但还有其他具有 Python 绑定的库。 pypi.python.org/pypi/speech/0.5.2 如果您使用的是 Windows。如果你不是:en.wikipedia.org/wiki/Speech_recognition_in_Linux