我无法让scikits.audiolab
在OS X上工作。我已尝试easy_install
并从源代码构建,但两者都给出了同样的错误:
----> 1 import scikits.audiolab
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scikits.audiolab-0.11.0-py2.6-macosx-10.3-fat.egg/scikits/audiolab/__init__.py in <module>()
23 __version__ = _version
24
---> 25 from pysndfile import formatinfo, sndfile
26 from pysndfile import supported_format, supported_endianness, \
27 supported_encoding, PyaudioException, \
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scikits.audiolab-0.11.0-py2.6-macosx-10.3-fat.egg/scikits/audiolab/pysndfile/__init__.py in <module>()
----> 1 from _sndfile import Sndfile, Format, available_file_formats, \
2 available_encodings, sndfile_version
3 from compat import formatinfo, sndfile, PyaudioException, PyaudioIOError
4 from compat import supported_format, supported_endianness, supported_encoding
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scikits.audiolab-0.11.0-py2.6-macosx-10.3-fat.egg/scikits/audiolab/pysndfile/_sndfile.so, 2): Symbol not found: _sf_close
Referenced from: /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scikits.audiolab-0.11.0-py2.6-macosx-10.3-fat.egg/scikits/audiolab/pysndfile/_sndfile.so
Expected in: dynamic lookup
_sndfile.so
是在它描述的位置创建的,因此,就我所见,链接到它的是一些奇怪的问题。让我难过。我正在放弃使用audiolab。
我不能使用内置的scipy方法加载wavs,因为它不适用于24位WAV。
答案 0 :(得分:0)
Audiolab需要libsndfile。我已经通过MacPorts安装了它,但它默认只构建为x86_64。
删除所有安装并重新安装带有+universal
标志的libsndfile,将其构建为i386和x86_64。
现在我可以从源安装audiolab并正确链接。 :)