我从这个来源安装了audiolab:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikits.audiolab
这是我能找到的python 2.7的唯一windows二进制文件。
当我致电from 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
有没有办法解决它?如果不是我应该用什么音频处理呢? (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
注意:已安装numpy。
答案 0 :(得分:0)
据我所知,您需要安装libsndfile-1.0.25,正如您在下载二进制文件时所提到的那样
Scikits.audiolab是一个使用numpy数组的音频文件IO包。链接libsndfile-1.0.25。
您可以从here下载安装程序。安装scikits.audiolab
后,您可能需要重新安装libsndfile
发行版(虽然老实说,我不确定)。
但是,如果这需要付出很多努力,您可能更容易安装Python 2.6并从PyPi安装audiolab
scikits docs建议。 PyPi
scikits.audiolab
版libsndfile
静态链接到{{1}},因此您无需自行安装。
答案 1 :(得分:0)
我在Mac OS上遇到了同样的问题。安装audiolab后,您可能更新或安装了新版本的python / numpy。我做的是卸载scikits.audiolab并重新安装它,摆脱了这个错误
答案 2 :(得分:0)
我在Ubuntu 10.04.4 LTS上遇到了同样的问题。原因是audiolab的安装版本是针对python2.5的,但与此同时,Ubuntu 10.04.4 LTS python升级到2.6版本。在新安装的audiolab(获得正确版本)之后,一切正常。