一、安装
1、安装模块
pip install pydub
2、安装插件
云盘中下载文件ffmpeg
打开电脑上的控制面板-系统-高级系统设置-环境变量
然后双击path,看到如下的界面:
然后点新建会出现一个新建的地址栏,你需要在这个新建地址栏里输入一个文件地址:打开你下载的ffmpeg文件中的 bin 文件,你应该可以看到一个这样的界面,把这个界面中地址栏中的地址复制粘贴到上面图片新建的地址栏中,然后点确定,来保存设置。
接下来,在CMD(win+R调出CMD黑框框)中,输入ffmpeg -version,如果你看到这样的界面,说明你的ffmpeg正式安好了。
最后,ffmpeg中的三个文件要和你的代码文件在一个保存路径下,这一步很重要,必须这样代码才能运行。
二、模块的使用
1、打开一个音频文件
from pydub import AudioSegment
song = AudioSegment.from_mp3("xxx.mp3")
AudioSegment的方法除了from_mp3,还有wma,flv,等等,以及文件通用的from_file。
2、对音频段切片
# pydub做任何操作的时间尺度都是毫秒
ten_seconds = 10 * 1000
first_10_seconds = song[:ten_seconds]
last_5_seconds = song[-5000:]
3、让开头更响和让结束更弱
使开头十秒的声音变得更响并使结束的五秒声音变弱:
# 声音增益6dB
beginning = first_10_seconds + 6
# 声音减弱3dB
end = last_5_seconds - 3
4、连接音频段
连两个接音频段(把一个文件接在另一个后面)
without_the_middle = beginning + end
5、音频段长度
音频段有多长呢?
without_the_middle.duration_seconds == 15.0
6、固定音频段不可变
# 音频不可以被修改
backwards = song.reverse()
7、交叉淡化
交叉淡化(再一次强调,beginning和end都是不可变的)
# 1.5秒的淡入淡出
with_style = beginning.append(end, crossfade=1500)
8、重复
# 将片段重复两遍
do_it_over = with_style * 2
9、淡化
淡化(注意一下,你可以把许多运算符连成一串使用,因为运算符都会返回一个AudioSegment对象)
# 2秒淡入, 3秒淡出
awesome = do_it_over.fade_in(2000).fade_out(3000)
10、保存结果
保存编辑的结果(再说一下,支持所有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支持的比特率来导出你的结果
awesome.export("mashup.mp3", format="mp3", bitrate="192k")
更多其他的ffmpeg所支持的参数可以通过给’parameters’参数传递一个列表来实现,列表中第一个应该是选项,而第二个是对应的参数。
特别注意一下,这些参数没有得到确认,支持的参数可能会受限于你所使用的特定的 ffmpeg / avlib 构建
# 使用预设MP3质量0(相当于lame -V0)
# ——lame是个MP3编码器,-V设置的是VBR压缩级别,品质从0到9依次递减(译者注)
awesome.export("mashup.mp3", format="mp3", parameters=["-q:a", "0"])
# 混合到双声道并设置输出音量百分比(放大为原来的150%)
awesome.export("mashup.mp3", format="mp3", parameters=["-ac", "2", "-vol", "150"])