2012-04-19 77 views
1

我是新來的android語音識別領域。android:語音識別有什麼技術可用

我在我的應用程序中有一個要求「語音識別」。所以我正在做我的功課。 我發現 1. android SDK支持這個,它使用了「谷歌語音識別」 因此,從我所瞭解的天氣,我們通過intent調用識別器,或者我們使用SpeechRecogniser類,實際識別是在谷歌雲服務器。 我嘗試過使用這兩種方法的示例應用程序,並且在這兩種情況下的匹配率都很低\ (首先是我的發現是正確的?我沒有得到正確匹配大多數單詞/我嘗試過的句子)。

  1. 是否有在這兩個方法輸出的任何區別,即通過意圖啓動/或使用SpeechRecogniser類)

  2. 是依賴於這個谷歌的技術,其中的聲音發出的聲音字節的所有應用程序並在雲服務器上得到認可。我看到Shazam使用了不同的技術,但他們有自己的數據庫。是否有任何其他此類技術使用

  3. 我看到很多「siri for android」。關於這些應用程序如何工作的任何說明?

非常感謝您的時間和幫助。

回答

2

1)當使用RecognizerIntentSpeechRecognizer時,您將得到相同的結果。主要區別在於用戶交互。 RecognizerIntent強制用戶通過標準的語音識別程序。使用SpeechRecognizer您可以控制應用程序如何收集語音以及何時收集語音。 RecognizerIntent的優點是編程簡單,用戶熟悉。使用SpeechRecognizer您可以實現高級功能,例如在後臺監聽語音。您還可以獲得更好的錯誤報告。

此外,有些詞很容易讓識別者理解,像「蘋果」,但有些很難像「小茴香」出於各種原因。你必須聰明地配合谷歌的回報來實現可靠的東西。

2)我不確定你自己的數據庫是什麼意思。您的應用程序將有一個「數據庫」,您正試圖與用戶所說的相匹配

3)可能是自然語言處理,用戶建模,模擬人類對話技術的混合。或者他們只是一大堆手工編碼的規則,使它們看起來很聰明。我的猜測是嘗試做出可信的事情是很多工作。

檢查我的一些示例代碼在這裏: ​​

+0

非常感謝答案。關於第二點,shazam擁有一個支持所有歌曲的數據庫,併爲每首歌曲提供所有可能的「指紋」。它的聲音真的很大。關於第3點,我的看法是Siri的主要技術是AI。只有當AI被有效使用時,纔有可能實現語音識別器 – png 2012-04-22 05:47:02

+0

更正:您不需要AI來使用語音識別。您需要AI來嘗試實現與用戶進行對話的應用程序。 – gregm 2012-04-23 13:42:07