pydub-使用简单易用的高级界面处理音频的python库
pydub是一个简单易用的,用于处理音频的python库。
快速开始
打开一个WAV文件:
from pydub import AudioSegmentsong = AudioSegment.from_wav("never_gonna_give_you_up.wav")
也可以是mp3:
song = AudioSegment.from_mp3("never_gonna_give_you_up.mp3")
同样,ogg格式或者flv格式或者任何ffmpeg支持的文件格式都是可以的:
ogg_version = AudioSegment.from_ogg("never_gonna_give_you_up.ogg")flv_version = AudioSegment.from_flv("never_gonna_give_you_up.flv")mp4_version = AudioSegment.from_file("never_gonna_give_you_up.mp4", "mp4")wma_version = AudioSegment.from_file("never_gonna_give_you_up.wma", "wma")aac_version = AudioSegment.from_file("never_gonna_give_you_up.aiff", "aac")
切片音频:
# pydub does things in millisecondsten_seconds = 10 * 1000first_10_seconds = song[:ten_seconds]last_5_seconds = song[-5000:]
处理音频使得开始的时候声音更大,结束的时候声音更小:
# boost volume by 6dBbeginning = first_10_seconds + 6# reduce volume by 3dBend = last_5_seconds - 3
连接音频(将一个文件添加到另一个文件的末尾)
without_the_middle = beginning + end
How long is it?
without_the_middle.duration_seconds == 15.0
音频间隔是不变的:
# song is not modifiedbackwards = song.reverse()
交叉淡入淡出(重复,开始和结束均未修改)
# 1.5 second crossfadewith_style = beginning.append(end, crossfade=1500)
重复
# repeat the clip twicedo_it_over = with_style * 2
淡入淡出(请注意,您可以链接操作,因为一切都会返回AudioSegment)
# 2 sec fade in, 3 sec fade outawesome = do_it_over.fade_in(2000).fade_out(3000)
保存结果(同样,ffmpeg支持)
awesome.export("mashup.mp3", format="mp3")
使用标签保存结果(元数据)
awesome.export("mashup.mp3", format="mp3", tags={'artist': 'Various artists', 'album': 'Best of 2011', 'comments': 'This album is awesome!'})
您可以使用ffmpeg支持的任何语法传递可选的bitrate参数以导出:
awesome.export("mashup.mp3", format="mp3", bitrate="192k")
ffmpeg支持的其他任何参数都可以作为列表传递到“ parameters”参数中,其中开关优先,参数第二。请注意,不会对这些参数进行验证,并且您可能会受到特定的ffmpeg / avlib构建支持的限制。
# Use preset mp3 quality 0 (equivalent to lame V0)awesome.export("mashup.mp3", format="mp3", parameters=["-q:a", "0"])# Mix down to two channels and set hard output volumeawesome.export("mashup.mp3", format="mp3", parameters=["-ac", "2", "-vol", "150"])
安装
安装pydub非常简单,但是请不要忘记安装ffmpeg / avlib,
pip install pydub
或从网盘安装我们保存的pydub压缩包文件。
例子
假设您有一个包含mp4和flv视频的目录,并且想要将它们全部转换为mp3,以便可以在mp3播放器上收听它们。
赞 (0)