前言
其實處理這個用 Matlab 最方便,之前把 guitar-synthesizer 從 Matlab 移植到 Python,過程中更是體會到了這一點。
不過 Matlab 安裝包又大,啟動又慢,還是收費軟件。。平常也不怎么用得到,畢竟我也不搞算法、仿真。
所以還是,Python 真香hhh
庫
音樂的時域處理
- 標准庫有個 wave 模塊,可以轉成 wave 格式,再用它處理。不過說實話,這個模塊太底層了。
- pydub,超方便的模塊。不僅封裝了 wave,安裝了 ffmpeg 后還可以處理 mp3 ogg 等所有常見格式。
不論是要從零開始合成音樂,還是在已有的音樂的基礎上處理,都推薦使用 dydub. pydub 的代碼也很精簡,有時間一定要讀一讀。
播放音樂文件
很奇怪,Python 標准庫竟然沒有音樂播放模塊。。
- 使用 python-mpv 播放(也可以用 python-vlc,不過我偏愛 mpv)
- 用 Python 系統調用,調用系統命令播放。
- wav 文件可以直接用系統自帶的
aplay xxx.wav播放。 - 安裝
mpv,執行mpv xxx.mp3
- wav 文件可以直接用系統自帶的
- 使用 jupyter lab
midi 處理
DSP
這個我暫時玩不到,不考慮。
