python音乐制作_Python实现音乐的剪辑
一、讀取音頻文件
from scipy.io importwavfileimportnumpy as np
like= wavfile.read('./嚶嚶嚶.wav')print (like)
結(jié)果:
圖片是三維的ndarray,視頻是四維的由[[img],[img],[img]]+音頻組成
這里讀取音頻文件使用的scipy,scipy四個高端科學(xué)計算端。
音頻結(jié)果將返回一個tuple。第一維參數(shù)是采樣頻率,單位為秒;第二維數(shù)據(jù)是一個ndarray表示歌曲,如果第二維的ndarray只有一個數(shù)據(jù)表示單聲道,兩個數(shù)據(jù)表示立體聲。很明顯這里是個立體聲。
所以,通過控制第二維數(shù)據(jù)就能對歌曲進(jìn)行裁剪。
繼續(xù)音頻裁剪就是:
like[1][ start_s*44100 : end_s*44100 ]
對like這個元組第二維數(shù)據(jù)進(jìn)行裁剪,所以是like[1];第二維數(shù)據(jù)中是對音樂數(shù)據(jù)切分。?start_s表示你想裁剪音頻的起始時間;同理end_s表示你裁剪音頻的結(jié)束時間。乘44100 是因為每秒需要進(jìn)行44100次采樣。
對音頻進(jìn)行裁剪,并保存到本地,使用wavfile中的write:
wavfile.write('like2.wav',44100,like[1][30*44100:45*44100])
第一個參數(shù)表示,保存的路徑。第二個參數(shù)表示采樣頻率。第三個參數(shù)表示裁剪的音樂片段。
完整代碼就是:
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的級聯(lián):
np.concatenate(參數(shù)1:參數(shù)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)
總結(jié)
以上是生活随笔為你收集整理的python音乐制作_Python实现音乐的剪辑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vs2013创建及使用DLL
- 下一篇: 【C语言进阶深度学习记录】二十六 C语言