3

我需要为一个研究项目安装 Python 模块 audiolab,虽然我已经设法安装它并让模块导入 Python shell,但它在调用模块中最基本的函数之一时返回错误,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 只是一个包装器),它似乎安装得很好,没有错误。然后我尝试使用终端中的命令从 tar.gz 文件安装 audiolab python setup.py install。这是按照文档中的指示,在标题“构建”下找到

该文档还谈到在某些情况下需要制作一个“site.cfg”文件,根据我在谷歌搜索后看到的内容,该文件仅适用于 Windows 用户,尽管我对此不确定。

您能对我的问题提出任何意见将不胜感激!!

4

1 回答 1

4

audiolab 文档有些欠缺,但wavread()需要输入文件。在您的代码中,该输入是test.wav. 如果它在工作目录中不存在(通常是您的 python 脚本的位置),您需要提供该文件的完整路径。

于 2011-02-09T02:34:19.807 回答