Can';t导入python中的audiolab

Can';t导入python中的audiolab,python,audio-processing,Python,Audio Processing,我从以下来源安装了audiolab: 这些是我能找到的python 2.7的唯一windows二进制文件 当我从scikits import audiolab调用时,出现以下错误: Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> from scikits import audiolab File "C:\Python27\lib\site-package

我从以下来源安装了audiolab:

这些是我能找到的python 2.7的唯一windows二进制文件

当我从scikits import audiolab调用
时,出现以下错误:

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    from scikits import audiolab
  File "C:\Python27\lib\site-packages\scikits\audiolab\__init__.py", line 34, in <module>
    from pysndfile.matapi import *
  File "C:\Python27\lib\site-packages\scikits\audiolab\pysndfile\matapi.py", line 145, in <module>
    Format('wav', 'pcm16').file_format)
  File "_sndfile.pyx", line 170, in scikits.audiolab.pysndfile._sndfile.Format.__init__ (scikits\audiolab\pysndfile\_sndfile.c:1429)
NameError: _SNDFILE_FILE_FORMAT
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
从scikits导入audiolab
文件“C:\Python27\lib\site packages\scikits\audiolab\\uuuuu init\uuuuuu.py”,第34行,在
从pysndfile.matapi导入*
文件“C:\Python27\lib\site packages\scikits\audiolab\pysndfile\matapi.py”,第145行,在
格式('wav','pcm16')。文件格式)
文件“\u sndfile.pyx”,第170行,在scikits.audiolab.pysndfile.\u sndfile.Format.\uuuuuu init\uuuuuu(scikits\audiolab\pysndfile\\u sndfile.c:1429)
名称错误:\u SNDFILE\u文件\u格式
有办法解决吗?如果不是,我应该用什么来代替音频处理?(Audiolab似乎是audiotools和pyaudio中的最佳选择)

编辑:

替换libsndfile-1.dll后,出现以下新错误:

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    from scikits import audiolab
  File "C:\Python27\lib\site-packages\scikits\audiolab\__init__.py", line 25, in <module>
    from pysndfile import formatinfo, sndfile
  File "C:\Python27\lib\site-packages\scikits\audiolab\pysndfile\__init__.py", line 1, in <module>
    from _sndfile import Sndfile, Format, available_file_formats, \
  File "numpy.pxd", line 30, in scikits.audiolab.pysndfile._sndfile (scikits\audiolab\pysndfile\_sndfile.c:9632)
ValueError: numpy.dtype does not appear to be the correct type object
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
从scikits导入audiolab
文件“C:\Python27\lib\site packages\scikits\audiolab\\uuuuu init\uuuuu.py”,第25行,在
从pysndfile导入formatinfo,sndfile
文件“C:\Python27\lib\site packages\scikits\audiolab\pysndfile\\uuuu init\uuuu.py”,第1行,在
从\u sndfile import sndfile,Format,available\u file\u Format\
文件“numpy.pxd”,第30行,在scikits.audiolab.pysndfile.\u sndfile(scikits\audiolab\pysndfile\\u sndfile.c:9632)中
ValueError:numpy.dtype似乎不是正确的类型对象

注意:numpy已安装。

据我所知,您需要按照您下载二进制文件的地方所述进行安装

Scikits.audiolab是一个使用numpy阵列的音频文件IO包。链接到libsndfile-1.0.25

您可以从下载安装程序。安装
libsndfile
之后,您可能需要重新安装
scikits.audiolab
发行版(不过老实说,我不确定)


然而,如果这看起来是一项艰巨的工作,那么按照建议从安装Python 2.6和安装
audiolab
可能会更容易。scikits.audiolab的
PyPi
版本静态链接到
libsndfile
,因此您不需要自己安装它。

我在Mac OS上也遇到过同样的问题。安装audiolab后,您可能更新或安装了python/numpy的新版本。我所做的是卸载scikits.audiolab并重新安装,从而消除了这个错误

我在Ubuntu 10.04.4 LTS上也遇到了同样的问题。原因是audiolab的安装版本是针对python2.5的,但与此同时,Ubuntu10.04.4 LTS将python升级到了2.6版。在新安装audiolab(wich获得了正确的版本)后,一切正常。

好的,libsndfile已经包含在我的版本中(我也安装了libsndfile以确保)。PyPi版本仅适用于Python 2.6…应该安装哪个版本的libsndfile,32位还是64位?这是否取决于Python安装、计算机或操作系统的位深度?此外,这并不能修复我的安装。它过去是有效的,但现在它给出了这个错误<代码>文件“\u sndfile.pyx”,第170行,在scikits.audiolab.pysndfile.Format.\uuu init\uuuu(scikits\audiolab\pysndfile\\u sndfile.c:1429)name错误:\u sndfile\u文件格式
我在Mac OS上与
numpy.dtype
有相同的问题