ссылка на аудиолаб в python2.6 на osx - PullRequest
1 голос
/ 27 октября 2011

Мне не удалось заставить 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 создается в месте, которое он описывает, поэтому, насколько я вижу, это странная проблема с его связью. Получил меня в тупик. Я собираюсь отказаться от аудиолаба.

Я не могу использовать встроенный метод scipy для загрузки wavs, так как он не работает с 24-битными WAV.

1 Ответ

0 голосов
/ 28 октября 2011

Audiolab требует libsndfile. Я установил это через MacPorts, но он был установлен как x86_64 только по умолчанию.

Удаление всех установок и переустановка libsndfile с флагом +universal построили его как i386 и x86_64.

Теперь я могу установить аудиолаб из источника, и он будет правильно связан. :)

...