2011-01-20 51 views
2

我正在綁定在未壓縮的AIFF音頻文件中進行靜音檢測。我更喜歡用Python來完成,但如果這樣做效率超低,會考慮其他選項。我正在處理的未壓縮文件預計爲20 MB(最大尺寸)。python中的音頻文件的信號處理

我能理解信號處理的基礎知識,但我不是專家。

回答

1

你很幸運!圖書館似乎足以支持解決您的問題。

0

語言無關的僞代碼:在時間窗口

  • 對於每個時間窗口(例如10毫秒)
    • 計算RMS功率
    • 沉默= RMS功率<沉默閾

要計算RMS功率:

  • sum_sq = 0
  • 在N個採樣窗口中的每個樣品
    • sum_sq + =樣品^ 2
  • RMS功率= SQRT(sum_sq/N)

您可能還想添加更多的檢測層,例如決定沉默= M個連續的無聲窗口,其中M確定沉默需要多長時間纔算作實際沉默。

+0

讓我試試這個。通過afic庫,我可以一次讀取一幀(不要以爲我可以讀取原始字節)並計算RMS,然後執行其他操作。 – chv 2011-01-21 15:04:44