2011-09-06 192 views
3

我正在使用wav文件作爲輸入來處理語音2文本轉換的原型。我目前正在試驗幾個ASR,例如Microsoft SAPi,Sphinx等。傳遞的音頻wav文件包含背景中的幾個扭曲/噪音。我試着用大膽的方法徹底消除噪音,認識變得更好一點。噪音消除部分,我目前正在通過Ui提供。我的背景是java,我想用java實現相同的噪聲消除部分。我已經下載了Audacity源代碼,我想知道哪種方法更好。 1)只需嘗試對現有的C++方法進行jni調用即可。 2)使用傅里葉變換實現我自己的噪聲門機制。然而在後一種方法中,它更像是重新發明輪子。是否有一個已經在java中實現的標準api /算法,它將採用wav文件輸入並通過執行高/低通濾波器或通過任何其他方法執行噪聲消除。
我試圖搜索「數字音頻與Java」,看似包含DSP算法,但它不可用。任何關於要採取的方法或apis可用的幫助將非常有幫助。抑制wav文件中的噪音

+1

嗨,我們目前正面臨類似的問題。我們只想用一個麥克風來降低錄製的wav的噪音。你能跟我們分享你的發現嗎? – Buju

回答

7

你可以試試:

  1. 使用噪聲門:http://en.wikipedia.org/wiki/Noise_gate

  2. 使用語音定位 - >聲音一般會在左聲道和右聲道平等的,如果你在立體聲記錄下來。一般來說,一個通道的噪音比另一個通道強。

  3. 閱讀一些關於噪聲去除:http://www.developer.com/java/other/article.php/3599661/Adaptive-Noise-Cancellation-using-Java.htm

  4. 使用低通濾波器:How to implement low pass filter using java

  5. 如果你能處理記錄條件,位置在揚聲器背後的一個麥克風,然後從刪除此信號語音 - 麥克風。

+0

確定..將檢查..並重新發布..感謝您的快速響應。 –