如何修剪Python内部的wav文件

时间:2017-07-19 12:38:33

标签: python numpy audio scipy pyaudio

我正在使用pyaudio和pocketsphinx来收听我电脑上的麦克风并翻译我说的话。我想知道的是,是否有可能让程序一直听,并且在听到句子后,通过删除部分创建的临时wav文件进一步处理,如果它低于某个阈?所以举一个例子,你说一个句子,程序等你完成说话,然后一旦检测到长时间休息,它就会停止收听并将wav文件数据放入一个函数中,将单词之间的空格移除75%然后继续将缩短的wav文件传递给pocketsphinx库以进行语音识别。我听说过使用numpy和scipy的其他解决方案,但该循环要求用户使用鼠标手动指定wav频谱图内的修剪段。我想在代码中自动处理这个问题。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

只要没有GUI,numpy和scipy解决方案就不需要用户交互。

>>> from scipy.io.wavfile import read
>>> a = read("adios.wav")
>>> numpy.array(a[1],dtype=float)
array([ 128.,  128.,  128., ...,  128.,  128.,  128.])

scipy.signal有许多用于此类操作的内置函数。

此主题已有其他帖子:

Python: write a wav file into numpy float array

How to manipulate wav file data in Python?

What is the easiest way to read wav-files using Python [summary]?