[英]How to generate this kind of waveform from audio in python?
根據比例細分波形。 例如,如果波形為1秒長,並且您想要計划顯示10條,則分成100ms的塊。 每個100毫秒的塊將是一定數量的樣本,具體取決於采樣率。 48kHz的采樣率每秒有48000個采樣,因此100ms是4800個采樣。
枚舉每個樣本塊,並計算最小值和最大值。
縮放並轉換最小值和最大值,以獲得希望繪制的框的所需屏幕y坐標。
#2的替代方法是計算每個塊的abs(max(samples)),然后將其正負用於最小值和最大值。 這使其始終對稱。
這是Github Project簽出, https://github.com/andrewrk/waveform它是用c和js編寫的。 您可以檢查代碼審查並以您自己的語言實施它。 希望能有所幫助。
感謝@jaket的出色回答。
我已經編寫了代碼並將其發布在這里。 https://gist.github.com/moeseth/130cd92dc47c56c47030
您將需要pydub,matplotlib,numpy和PIL庫
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.