2012-04-24 269 views
2

我想播放聲音文件(wav,mp3,...一切都很好,只要我可以將mp3轉換爲它),但是在播放時,我想要每秒打印當前幅度(以分貝爲單位)。Python - 獲取聲音文件的振幅

我已經嘗試谷歌這個,但沒有找到任何適合我的問題。

+0

你在什麼操作系統上? – mac 2012-04-24 19:15:48

+0

Debian,所以它應該在Linux上工作。 – omnidan 2012-04-24 19:16:09

+1

您是否真的需要當前樣本的振幅,最後一秒的平均值或某種加權平均值(如傳統的VU儀表)? – Brad 2012-04-24 19:16:12

回答

0

從Python中的任意源代碼提取聲音信息的一種可能方式是GStreamer庫。首先,閱讀this tutorial以熟悉PyGStreamer。

更新: 檢查Getting max amplitude for an audio file per second,它可能會幫助你。

+0

我已經看過你之前給過我的第二個鏈接,但它不是現場計算(同時有相同的文件播放),是嗎? – omnidan 2012-04-24 19:27:07

+0

錯誤,它正在計算正在播放文件時的峯值。檢查PyGStreamer的教程,並解釋GStreamer的工作原理:) – 2012-04-24 19:32:27

+0

我試過了。它顯示峯值,是的,但是然後我必須:首先解析所有峯值,然後播放文件,並創建一個每秒執行一次函數以顯示當前峯值的代碼,但實際上並不實際。 – omnidan 2012-04-24 19:37:50