我想使用Python访问wav文件,并将其内容以允许我分析它的形式(比如说数组)编写。
我在numpy(1.4.0)上安装了一个新版本。但后来我又犯了一组新的错误:
回溯(最近一次呼叫时间): 文件“test.py”,第7行,in 导入scikits.audiolab 文件“/usr/lib/python2.5/site packages/scikits/audiolab/init.py”,第25行,在 从pysndfile导入formatinfo,sndfile 文件“/usr/lib/python2.5/site packages/scikits/audiolab/pysndfile/init.py”,第1行,in 从sndfile导入sndfile,格式,可用的文件格式,可用的编码 文件“numpy.pxd”,第30行,scikits.audiolab.pysndfile.\u sndfile(scikits/audiolab/pysndfile/\u sndfile.c:9632) 值错误:numpy.dtype似乎不是正确的类型对象
我放弃了使用audiolab,并认为我可以使用“wave”包来读取wav文件。我问了一个问题,但是人们建议用scipy代替。好吧,我决定把重点放在scipy上(我有0.6.0。版本)。
但当我试着做以下事情时:
从scipy.io导入wavfile
x=wavfile.read('/usr/share/sounds/purple/receive.wav')
我得到以下信息:
Traceback (most recent call last):
File "test3.py", line 4, in <module>
from scipy.io import wavfile
File "/usr/lib/python2.5/site-packages/scipy/io/__init__.py", line 23, in <module>
from numpy.testing import NumpyTest
ImportError: cannot import name NumpyTest
我在std库中的wave模块上编写了一个简单的包装器。它被称为pydub,它有一个从音频数据中以int形式读取样本的方法。
希望这有帮助
你试过波形模块吗?它具有较少的依赖关系:
http://docs.python.org/library/wave.html
这对我来说已经足够了
它忽略前24个值,因为这不是音频,而是标题。
另外,如果文件是立体声的,那么您的频道将有交替索引,所以我通常只是先用Audacity将其还原为mono。
相关问题 更多 >
编程相关推荐