即使安装了ffmpeg,Python librosa NoBackendError也是如此

2024-06-01 03:48:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近在运行Windows10的新电脑上安装了librosa(我在不同电脑上使用了一段时间的软件包)。之后,我下载了最新的静态版本的ffmpeg,并将其复制到C:并将其添加到路径中。测试了ffmpeg,它就像一个魅力!对于python,我使用的是Anaconda环境,在启动Jupyter笔记本并运行librosa.load(path, sr = None)之后,我得到了

<ipython-input-3-1e009e0ae576> in <module>
----> 1 audio = librosa.load(pathToJson)

~\anaconda3\envs\tf_gpu\lib\site-packages\librosa\core\audio.py in load(path, sr, mono, offset, duration, dtype, res_type)
    117 
    118     y = []
--> 119     with audioread.audio_open(os.path.realpath(path)) as input_file:
    120         sr_native = input_file.samplerate
    121         n_channels = input_file.channels

~\anaconda3\envs\tf_gpu\lib\site-packages\audioread\__init__.py in audio_open(path, backends)
    114 
    115     # All backends failed!
--> 116     raise NoBackendError()

NoBackendError:

很奇怪,不是吗?然后我浏览了整个互联网,做了些什么来修复它,然后我有了一个想法,在anaconda命令界面中运行我的代码行,它工作了??这怎么可能?这是同样的环境

python
Python 3.7.7 (default, Mar 23 2020, 23:19:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import librosa
>>> librosa.load('test.wav')
(array([-0.00027   , -0.00039953, -0.0003659 , ..., -0.16393574,
       -0.17814247,  0.        ], dtype=float32), 22050)

我做了很多测试,我真的很喜欢我的Jupyter,所以任何帮助都将不胜感激。我尝试了以下方法:为用户和系统变量向路径中添加了C:\ffmpeg\binC:\ffmpeg。之后,我为ffmpeg和ffmpeg_bin分别为用户和系统变量创建了特定的变量。不走运。之后,我尝试使用conda安装ffmpeg,但没有成功。我测试过的最后一件事是:

import audioread
audioread.ffdec.FFmpegAudioFile('test.wav')

这就行了。谢谢


Tags: pathin路径input环境loadjupyteranaconda