2013-03-03 88 views
4

我从这个源代码安装AUDIOLAB的:无法导入AUDIOLAB的在python

http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikits.audiolab

这些都是唯一的Windows可执行文件的Python 2.7我能找到。

当我打电话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的。

+1

我有'在Mac OS – Sleepyhead 2013-11-09 01:05:50

回答

0

至于我可以告诉你需要安装libsndfile-1.0.25为是正确的,其中提到您下载的二进制

Scikits.audiolab is a package for audio file IO using numpy arrays. Linked against libsndfile-1.0.25.

您可以从here下载的安装程序。在安装libsndfile后,您可能需要重新安装scikits.audiolab分发版(尽管说实话,我不确定)。

但是,如果这看起来很费力,那么您可能更容易安装Python 2.6并从PyPi安装audiolab,因为scikits docs建议。 PyPi版本scikits.audiolablibsndfile静态链接,因此您不需要自行安装它。

+1

好numpy.dtype'同样的问题,在libsndfile已经包含在我的版本(我还安装libsndfile确保)。该版本的PyPI是为Python 2.6只... – 2013-03-03 15:13:48

+0

libsndfile的版本,你应该安装哪个,32位还是64位?它取决于您的Python安装或您的计算机或您的操作系统的位深度? – endolith 2014-04-22 00:45:25

+0

这也不能解决我的安装问题。它曾经工作,但现在它给出了这个错误。 '文件 “_sndfile.pyx”,线路170,在scikits.audiolab.pysndfile._sndfile.Format .__ init__(scikits \ AUDIOLAB的\ pysndfile \ _sndfile.c:1429) NameError:_SNDFILE_FILE_FORMAT' – endolith 2014-04-22 01:13:15

0

我在Mac OS上遇到了同样的问题。在安装audiolab之后,可能会更新或安装新版本的python/numpy。我所做的是卸载scikits.audiolab并重新安装它,它摆脱了这个错误

0

的我只好在Ubuntu 10.04.4 LTS同样的问题。原因是安装的audiolab版本是针对python2.5的,但与此同时,Ubuntu 10.04.4 LTS python升级到版本2.6。在一个新的安装audiolab(最终抓住正确的版本)后,一切工作正常。