Python模块audiolab调用函数时返回错误
我需要为一个研究项目安装Python模块audiolab。虽然我已经成功安装了这个模块,并且可以在Python的命令行中导入它,但在调用模块里最基本的一个函数wavread()时却出现了错误。
我主要使用的是Python2.7.1,不过我也尝试回退到Python2.6.6来安装audiolab,但在导入并调用wavread()函数后,还是遇到了同样的错误信息。
我的操作系统是Mac OS X 10.5.8,使用的是英特尔处理器。
大致情况是这样的:
import numpy
import scipy
import scikits.audiolab as audio
x, fs, nbits = audio.wavread('test.wav')
追踪记录(最近的调用最后):
File "<pyshell#3>", line 1, in <module>
x, fs, nbits = audio.wavread('test.wav')
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scikits.audiolab-0.11.0-py2.7-macosx-10.3- fat.egg/scikits/audiolab/pysndfile/matapi.py", line 91, in basic_reader
hdl = Sndfile(filename, 'r')
File "_sndfile.pyx", line 488, in scikits.audiolab.pysndfile._sndfile.Sndfile.__init__ (scikits/audiolab/pysndfile/_sndfile.c:4251)
IOError: error while opening test.wav
->error while opening file test.wav
-> System error : No such file or directory.
我通过pip安装了libsndfile库(我认为audiofile只是一个包装库),安装过程似乎没有出错。然后我尝试通过在终端中使用命令python setup.py install
从tar.gz文件安装audiolab。这是文档中指示的,文档可以在这里找到,标题为“构建”。
文档中还提到在某些情况下需要创建一个'site.cfg'文件。根据我在网上搜索到的信息,这个文件似乎主要是针对Windows用户的,不过我不太确定。
如果你能帮我解答这个问题,我将非常感激!!
1 个回答
4
audiolab的文档有点不够详细,不过wavread()
这个函数需要一个输入文件。在你的代码中,这个输入文件就是test.wav
。如果这个文件在你的工作目录里找不到(通常就是你存放python脚本的地方),你就需要提供这个文件的完整路径。