Модуль Python audiolab возвращает ошибку при вызове функции - PullRequest
3 голосов
/ 09 февраля 2011

Мне нужно установить модуль Python audiolab для исследовательского проекта, и, хотя мне удалось установить его и заставить импортировать модуль в оболочку Python, он возвращает ошибку при вызове одной из самых основных функций в модуле.Wavread ().

Я в основном использую Python2.7.1, хотя я попытался отследить и установить audiolab для Python2.6.6, только чтобы найти то же сообщение об ошибке после импорта и вызова функции wavread ().

Моя операционная система - Mac OS X 10.5.8 с процессором Intel.

Обычно так оно и есть:

import numpy                            
import scipy                           
import scikits.audiolab as audio                           
x, fs, nbits = audio.wavread('test.wav')                           

Traceback (последний вызов был последним):

  File "<pyshell#3>", line 1, in <module>                           
    x, fs, nbits = audio.wavread('test.wav')                           
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scikits.audiolab-0.11.0-py2.7-macosx-10.3-                           fat.egg/scikits/audiolab/pysndfile/matapi.py", line 91, in basic_reader                           
    hdl = Sndfile(filename, 'r')                           
  File "_sndfile.pyx", line 488, in scikits.audiolab.pysndfile._sndfile.Sndfile.__init__ (scikits/audiolab/pysndfile/_sndfile.c:4251)                                                      
IOError: error while opening test.wav                           
    ->error while opening file test.wav                           
    -> System error : No such file or directory.                           

Я установил библиотеку libsndfile (которую я считаю аудиофайл просто оберткой), используя pip, и это, казалось, установил нормально без ошибок.Затем я попытался установить audiolab из файла tar.gz, используя команду python setup.py install в Терминале.Это как указано в документации, найденной здесь под заголовком 'build'

В документации также говорится о том, что в некоторых случаях необходимо создать файл site.cfg, который из чегоЯ увидел, что после некоторого поиска в Google это действительно относится только к пользователям Windows, хотя я не уверен в этом.

Любой свет, который вы могли бы пролить на мою проблему, был бы очень признателен !!

1 Ответ

4 голосов
/ 09 февраля 2011

Аудиолабораторная документация несколько отсутствует, но wavread() требует входной файл. В вашем коде этот ввод test.wav. Если он не существует в рабочем каталоге (обычно это местоположение вашего скрипта Python), вам нужно указать полный путь к файлу.

...