1.遇到问题
"D:\Program Files\pythonProject1\Scripts\python.exe" C:/Users/Administrator/PycharmProjects/pythonProject1/test_dura.py
Traceback (most recent call last):
File "D:\Program Files\pythonProject1\lib\site-packages\librosa\core\audio.py", line 713, in get_duration
return sf.info(filename).duration
File "D:\Program Files\pythonProject1\lib\site-packages\soundfile.py", line 438, in info
return _SoundFileInfo(file, verbose)
File "D:\Program Files\pythonProject1\lib\site-packages\soundfile.py", line 383, in __init__
with SoundFile(file) as f:
File "D:\Program Files\pythonProject1\lib\site-packages\soundfile.py", line 629, in __init__
self._file = self._open(file, mode_int, closefd)
File "D:\Program Files\pythonProject1\lib\site-packages\soundfile.py", line 1183, in _open
_error_check(_snd.sf_error(file_ptr),
File "D:\Program Files\pythonProject1\lib\site-packages\soundfile.py", line 1357, in _error_check
raise RuntimeError(prefix + _ffi.string(err_str).decode('utf-8', 'replace'))
RuntimeError: Error opening 'D:\\123\\889202111_3\\20211101\\1635731427141000000000334953_APZ-20210831-001-011720_8001147425_15720306975_20211101095027_1029.mp3': File contains data in an unknown format.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Administrator\PycharmProjects\pythonProject1\test_dura.py", line 25, in <module>
main()
File "C:\Users\Administrator\PycharmProjects\pythonProject1\test_dura.py", line 9, in main
durationTime = librosa.get_duration(filename=path)
File "D:\Program Files\pythonProject1\lib\site-packages\librosa\util\decorators.py", line 88, in inner_f
return f(*args, **kwargs)
File "D:\Program Files\pythonProject1\lib\site-packages\librosa\core\audio.py", line 715, in get_duration
with audioread.audio_open(filename) as fdesc:
File "D:\Program Files\pythonProject1\lib\site-packages\audioread\__init__.py", line 116, in audio_open
raise NoBackendError()
audioread.exceptions.NoBackendError
2.解决办法
librosa 库依赖ffmpeg.
下载安装ffmpeg ,并且把bin 目录路径添加到环境变量中。
在安装python环境下找到
修改里面的
#COMMANDS = ('ffmpeg', 'avconv')
COMMANDS = ('D:/learn/ffmpeg-N-102014-gda6e137cb6-win64-gpl-shared/ffmpeg-N-102014-gda6e137cb6-win64-gpl-shared/bin/ffmpeg.exe', 'avconv')