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)
總結
以上是生活随笔為你收集整理的python音乐制作_Python实现音乐的剪辑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vs2013创建及使用DLL
- 下一篇: python 实现统计ftp服务器指定目