Ошибка файла не найдена при попытке загрузить файл примера Librosa - PullRequest
0 голосов
/ 21 мая 2019

Я пишу свою первую программу с использованием Librosa, поэтому я скопировал некоторый код из их документации, чтобы посмотреть, смогу ли я заставить его работать. Я получаю сообщение об ошибке «Файл не найден» при попытке загрузить файл примера и не могу понять, почему. Я нашел несколько человек, которые сказали, что у них нет ошибки бэкэнда (https://github.com/librosa/librosa/issues/743, https://github.com/beetbox/audioread/issues/54), и мне интересно, связано ли это с моей проблемой? Я использую PyCharm, если это делает разница

Вот мой код:

import librosa

filename = librosa.util.example_audio_file()
y, sr = librosa.load(filename)
print(y)

Вот сообщение об ошибке:

Traceback (most recent call last):
  File "C:/Users/owner/PycharmProjects/SongVisualizer/SongVisualizer.py", line 11, in <module>
    y, sr = librosa.load(filename)
  File "C:\Users\owner\PycharmProjects\SongVisualizer\venv\lib\site-packages\librosa\core\audio.py", line 119, in load
    with audioread.audio_open(os.path.realpath(path)) as input_file:
  File "C:\Users\owner\PycharmProjects\SongVisualizer\venv\lib\site-packages\audioread\__init__.py", line 107, in audio_open
    backends = available_backends()
  File "C:\Users\owner\PycharmProjects\SongVisualizer\venv\lib\site-packages\audioread\__init__.py", line 86, in available_backends
    if ffdec.available():
  File "C:\Users\owner\PycharmProjects\SongVisualizer\venv\lib\site-packages\audioread\ffdec.py", line 108, in available
    creationflags=PROC_FLAGS,
  File "C:\Users\owner\PycharmProjects\SongVisualizer\venv\lib\site-packages\audioread\ffdec.py", line 94, in popen_multiple
    return subprocess.Popen(cmd, *args, **kwargs)
  File "C:\Python37\lib\subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "C:\Python37\lib\subprocess.py", line 1178, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

Любая помощь будет принята с благодарностью

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Я решил свою проблему, установив FFmpeg и добавив его в переменную PATH.Аудио модуль Librosa требует FFmpeg для загрузки и управления аудио.

0 голосов
/ 21 мая 2019

Я столкнулся с той же проблемой и изменил строку return subprocess.Popen (cmd, * args, ** kwargs) with return subprocess.Popen (cmd, * args, ** kwargs,shell = True) в ffdec.py.Это работает, но выполнение кода через оболочку не рекомендуется.Более подробную информацию можно найти по адресу: Фактическое значение 'shell = True' в подпроцессе

...