Python librosa NoBackendError 即使安装了 ffmpeg

标签 python ffmpeg librosa

我最近在运行 Windows 10 的新 PC 上安装了 librosa(我在不同 PC 上使用了一段时间的软件包)。之后,我下载了最新的静态版本的 ffmpeg 并将其复制到 C:并将其添加到路径中。测试了ffmpeg,它就像一个魅力!对于 python,我使用的是 Anaconda 环境,在启动 Jupyter Notebook 并运行 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')

那行得通。谢谢

最佳答案

你有这行代码:audio = librosa.load(pathToJson)
在我看来,您不小心尝试使用 librosa 加载 JSON 文件。检查:D

关于Python librosa NoBackendError 即使安装了 ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61160696/

相关文章:

python-3.x - 哪个声谱图最能代表基于 CNN 模型的音频文件的特征?

python - 本地保存来自远程 iPython notebook 的数据

python - 在 Python 中将图例标签设置为日期

image-processing - 使用 ImageMagick 将有限范围的 YUV 转换为 sRGB

ffmpeg - 在 Windows 上设置 rtsp 流

Python音频分析: find real time values of the strongest beat in each meter

python - 将默认的日期时间对象值赋予 pandas.to_datetime()

python - 使 DataFrame 相对于特定列保持平衡

FFMPEG 参数 'pixel_aspect' 超出范围

python - librosa.display.waveplot(np.array(f),sr=22050)-----AttributeError : 'module' object has no attribute 'display'