2012-07-18 134 views
3

我正在開發一個簡單的java音頻播放器。我需要的唯一高級功能是頻率濾波器。它不一定是一個全功能的均衡器功能,在特定頻率範圍內具有不同的增益:一個低通濾波器可以將頻率高於指定值的頻率就足夠了。java音頻濾波器

我研究了jlGui它有一個均衡器,但它只適用於MP3數據,而我將播放的文件是OGG。

瀏覽各種答案我發現像XugglerJave ffmpeg包裝可能是一個解決方案。但我沒有找到任何教程,甚至沒有找到如何使用ffmpeg來處理頻率過濾的起點。

另外JMF被描述爲實現這樣一個函數的有效選擇,但是我沒有發現任何具體的東西。

+0

如果你有PCM音頻數據,你可以實現你自己的過濾器。雖然這是通常由工程師執行的任務,但您可以使用「食譜」資源,例如http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt或此http://www.amazon .com/Digital-Audio-Java-Craig-Lindley/dp/0130876763 – 2012-07-18 21:08:47

回答

1

http://www.cs.ubc.ca/~kvdoel/jass/doc/index.html

這是由UBC溫哥華JASS項目的Javadoc。它是免費的非商業用途。你應該能夠用它來實現大多數類型的過濾器。檢查實際源代碼下載的URL級別。

+0

謝謝。我已經花了幾個小時來分析這個有趣的項目,但是,就我所能理解的而言,它只提供對它所產生的聲音的頻率成分進行濾波。我無法將相同的濾鏡應用於加載的音頻文件。我很樂意被證明是錯誤的,但看起來JASS不是我所需要的。 – Giuseppe 2012-07-23 14:57:37

+0

我已經在實踐中對PCM數據執行過濾的項目中使用了這個功能。它工作得非常好......特別是BiQuad濾波器,無論如何都非常簡單。這裏有一些更多的鏈接可以幫助你:http://www.arachnoid.com/BiQuadDesigner/index.html ---這個網站對你的BiQuad係數非常有用。 ...還有:http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt ...因爲你想製作一個EQ。我有時在代碼中使用過這兩個站點的內容,並且它在實踐中也運行得很好。 – ManabuKun 2012-07-27 02:47:12

0

我發現了一個叫JEQ
老項目正是基於javax.sound並使用IIR創建一個10/15/25/31段均衡器。它適用於PCM數據(不像其他的MP3),所以我希望我可以使它與OGG協同工作。我唯一關心的是輸出質量,這在我的一些測試中不是很好。我得調查

1

我結束了使用此解決方案(Windows應用程序):Equalizer APO

它利用Windows Vista和更高版本中提供音頻處理對象的技術。我的應用程序只需要編輯配置文本文件,其餘部分由APO完成。

很明顯,它是平臺依賴的,我必須安裝一個外部應用程序來使我的過濾器工作,但在我的情況下它是可以接受的,並且它很容易實現。