2012-10-03 39 views
2

我正在嘗試開發一個應用程序,它將記錄語音並相應地繪製圖表。用Java語音採樣

以下是我期待的輸出。

當User1錄製聲音時說「你好」系統應該生成一個圖形,如「圖形A」。現在當用戶2錄製相同的聲音時,「Hello」系統應該生成「圖B」,即(圖A!=圖B)。現在User1再次錄製相同的聲音,因爲「Hello」系統應該生成相同的圖形「圖形A」。

我對此採用java採樣算法,但第二次錄製的聲音總是不同於之前錄製的(可能是因爲背景噪音,語音或其他因素的自然變化)。

我的問題是 1.它真的可行嗎? 2.是否有任何內置的JAVA庫來實現輸出。

+1

由於我們不是機器人,所以不同是正常的。你的目標是什麼語言?你想建立一個語音識別系統嗎?有一些在Java中完成的實現,例如http://cmusphinx.sourceforge.net/ – Seitaridis

+0

@Seitaridis不,我沒有嘗試語音識別。我只想檢測用戶。你的語言是什麼意思?編程語言是Java。口語是梵語。 –

+0

似乎您要解決的問題是說話者驗證/識別http://en.wikipedia.org/wiki/Speaker_recognition –

回答

1

我正在玩簡單的聲音壓縮/識別庫一點點,我所遇到的 這

http://code.google.com/p/musicg-sound-api/downloads/list

您可以錄製聲音爲WAV格式,然後比較兩個(或更多)的WAV文件得到相似度(%)

+0

它會過濾或處理背景噪音等干擾嗎? –

+0

@Ravinder,我認爲這些干擾會產生小的差異,比如5-8%。我們可以在編碼中處理它。 –

+0

@Ravinder是的,正如Uday Sawant在上面提到的那樣,它完全依賴於人們想要實現的相似性的百分比。至於我的知識,除非它處於相同的範圍(引擎,人羣等),否則如果它變化了,怎麼能告訴什麼是什麼(頻率變窄?),將很難切斷背景噪聲。 –