【问题标题】:Python module audiolab returns error when function is called调用函数时Python模块audiolab返回错误
【发布时间】:2011-06-23 20:46:59
【问题描述】:

我需要为一个研究项目安装 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')                           

Traceback(最近一次调用最后一次):

  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。这是按照文档中的指示,在标题“build”下找到here

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

如果您能对我的问题有所了解,我们将不胜感激!

【问题讨论】:

    标签: python function audio libsndfile scikits


    【解决方案1】:

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

    【讨论】:

    • 感谢您的快速回答,这实际上解决了我的问题!出于某种原因,我只是假设该包会将测试文档放在正确的文件夹中以将它们作为输入读取,尽管事实并非如此。另外,我应该补充一点,在运行任何程序之前,当前工作目录是与我安装的其余模块一起找到的 audiolab 文件夹。但是,运行程序后,工作目录会移动,因此无法再以交互模式访问模块目录中的文件。以防万一将来有人遇到这个问题......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    相关资源
    最近更新 更多