簡體   English   中英

如何從python中的音頻生成這種波形?

[英]How to generate this kind of waveform from audio in python?

在此處輸入圖片說明

嗨,

我應該如何在python中生成這樣的波形? 我不需要代碼。 生成這些步驟就足夠了。

干杯。

  1. 根據比例細分波形。 例如,如果波形為1秒長,並且您想要計划顯示10條,則分成100ms的塊。 每個100毫秒的塊將是一定數量的樣本,具體取決於采樣率。 48kHz的采樣率每秒有48000個采樣,因此100ms是4800個采樣。

  2. 枚舉每個樣本塊,並計算最小值和最大值。

  3. 縮放並轉換最小值和最大值,以獲得希望繪制的框的所需屏幕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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM