0%

pydub AudioSegment各种错误的处理

执行pydub下AudioSegment的api,

1
2
3
from pydub import AudioSegment

audiofile = AudioSegment.from_file("data/music_8k.mp3")

不管是from_file, from_mp3, from_ogg等等函数,都大概会遇到如下错误:

1
2
RuntimeWarning: Couldn’t find ffprobe or avprobe - defaulting to ffprobe, but may not work
warn(“Couldn’t find ffprobe or avprobe - defaulting to ffprobe, but may not work”,RuntimeWarning)

这时需要安装ffmpegmamba install ffmpeg

这时执行代码,遇到另一个错误:

1
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

下载mpeg可执行文件,官方地址:https://www.gyan.dev/ffmpeg/builds/

1
2
3
import pydub
pydub.AudioSegment.ffmpeg = "/absolute/path/to/ffmpeg"
sound = AudioSegment.from_mp3("test.mp3")

或者把ffmpeg文件放到python文件当前目录下面。