python音乐制作_Python实现音乐的剪辑

一、读取音频文件

from scipy.io importwavfileimportnumpy as np

like= wavfile.read('./嘤嘤嘤.wav')print (like)

结果:

图片是三维的ndarray,视频是四维的由[[img],[img],[img]]+音频组成

这里读取音频文件使用的scipy,scipy四个高端科学计算端。

音频结果将返回一个tuple。第一维参数是采样频率,单位为秒;第二维数据是一个ndarray表示歌曲,如果第二维的ndarray只有一个数据表示单声道,两个数据表示立体声。很明显这里是个立体声。

所以,通过控制第二维数据就能对歌曲进行裁剪。

继续音频裁剪就是:

like[1][ start_s*44100 : end_s*44100 ]

对like这个元组第二维数据进行裁剪,所以是like[1];第二维数据中是对音乐数据切分。 start_s表示你想裁剪音频的起始时间;同理end_s表示你裁剪音频的结束时间。乘44100 是因为每秒需要进行44100次采样。

对音频进行裁剪,并保存到本地,使用wavfile中的write:

wavfile.write('like2.wav',44100,like[1][30*44100:45*44100])

第一个参数表示,保存的路径。第二个参数表示采样频率。第三个参数表示裁剪的音乐片段。

完整代码就是:

1 from scipy.io importwavfile2 importnumpy as np3 like = wavfile.read('./嘤嘤嘤.wav')

4 wavfile.write('like2.wav',44100,like[1][30*44100:45*44100])

二、两段音乐拼接:

音乐拼接使用ndarray的级联:

np.concatenate(参数1:参数2)

完整代码:

from scipy.io importwavfileimportnumpy as np

like= wavfile.read('./嘤嘤嘤.wav')

jueji= wavfile.read('./林俊杰-爱不会绝迹.wav')

mix= np.concatenate([like[1][:30*44100],jueji[1][-30*44100:]])

wavfile.write('./mix.wav',44100,mix)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值