我试图从.mp3文件中获取原始声音数据。为此,我使用了pydub模块,正如所述的here。我为这个项目创建了一个venv,并安装了所有必要的模块。但出于某种原因,比杜布决定给我一个FileNotFoundError
(venv) Python-IT:LightsDev pythonit$ which python
/Users/pythonit/Documents/Programmieren/Python/LightsDev/venv/bin/python
(venv) Python-IT:LightsDev pythonit$ which pip3
/Users/pythonit/Documents/Programmieren/Python/LightsDev/venv/bin/pip3
(venv) Python-IT:LightsDev pythonit$ pip3 list
------------- -------
ffmpeg 1.4
pip 18.1
pydub 0.23.0
pyee 5.0.0
python-ffmpeg 1.0.5
setuptools 39.0.1我的确切代码是这样的:
from pydub import AudioSegment
sound = AudioSegment.from_mp3('test.mp3')
raw_data = sound._data
print(raw_data)我得到了一个错误:
FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe': 'ffprobe'与此运行时警告一起:
RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)我不知道是不是我,但是一些类似的问题说我应该安装ffmpeg或者python是行不通的。我甚至可以导入ffmpeg模块,但是什么都没有发生。我可以使用ffmpeg和加载文件,但是与pydub一起使用它是行不通的。
编辑:今天我换了我的windows机器,深入地观察了错误。然而,即使是在评论中提供的解决方案(谢谢),我也没能让它正常工作。如前所述,我安装了ffmpeg二进制文件,并且能够让ffmpeg在shell中运行,但是没有使用pydub.我不知道发生了什么事。我想我的错误是很明显的,我只是无法理解。即使没有子进程能够解决这个问题,尽管事实上,我能够在shell中使用ffmpeg。我甚至可以用shell中的ffmpeg转换文件..。
ffmpeg -i test.mp3 test.wav
> Output #0, wav, to 'test.wav':我想我自己也能解决这个问题,不过还是要谢谢你。
发布于 2020-06-14 05:36:56
将ffmpeg安装到您的系统,而不是python:
在Ubuntu:sudo apt install ffmpeg
在Windows中:只需下载ffmpeg库,解压缩并将***\bin路径添加到环境路径
并通过simpleaudio和pydub通过pip安装到python (我不知道为什么,但它对我有用)
发布于 2021-08-06 14:12:21
这个错误也把我逼疯了;路径显然是问题所在。下面有几种解释告诉您修改C:\ffmpeg\bin (例如:https://windowsloop.com/install-ffmpeg-windows-10/)和其他解释相同的解释无效。
我的解决方案是修改anaconda3路径的路径:anaconda3
然后,我需要重新启动计算机,以便注册表更改生效!
别忘了最后一步。
不寻常的是,ffmpeg不能创建,使用路径不需要用户修改注册路径(脏)?
https://stackoverflow.com/questions/53480893
复制相似问题