2014-01-18 56 views
2

有沒有人有經驗在C++(Windows和/或Mac)中編程語音識別以獲得針對SPEED的有限數量的命令?在這一點上,從第一個音節獲得對命令的認可是否現實?即,當用戶以合理快速的說話速度進入第二個音節時,命令被識別?如果需要,所有的命令將被編程爲以不同的音節開始,如果需要,可以是完全不同的音節(例如,「oo」,「xy」,「fay」 - 只需要大約30個命令)。 已經提出了類似的問題,但這是一個快速發展的領域。最好的想法是尋找開源庫還是與編譯實現接口?針對有限數量的命令的快速語音識別

+1

*「問題要求我們推薦或找到工具,圖書館或最喜歡的非現場資源,因爲他們傾向於吸引自以爲是的答案和垃圾郵件,所以他們不在話下,而是描述問題以及所做的一切。 「* – Manu343726

+0

他不是在尋求圖書館選擇的幫助,他想知道該領域是否足夠成熟,圖書館首先存在。不脫離主題+1。 – MSalters

回答

1

我在這個領域的專業工作,我嚴重懷疑是否有可能。 C++不是問題,問題是計算機是否允許。小聲音片段的錯誤率很高,它是修復識別的隱馬爾可夫模型。但在你的情況下,你根本無法提供足夠的數據。

不是人類可以做到的。語音處理並不像你的大腦讓你相信的那樣迅速。

+0

這就是爲什麼我正在考慮使用具有高度特徵的聲音的命令,只使用一小組音節,儘可能對比對方。即使是一隻貓也能立即認出「噓」。 – user3101050

0

你可以用CMUSphinx與Pocketsphinx解碼器做到這一點。

解碼的部分假設在識別過程中是可用的,並且一旦發音就可以得到第一個音節。如果你給它0.1s來穩定(對用戶不可見),你將在命令集上得到一個精確的結果。

甚至有專門爲實時控制而設計的CMUSphinx頂端的工具,例如在遊戲中,您可以檢查InProTK及其演示。

+0

它比使用Windows SAPI更快嗎?我對移動應用程序不感興趣,只有PC具有很強的處理能力。這個「用Java編寫的CMUSphinx」讓我略微有點不確定,我相信它可以足夠快,但本地的Microsoft API會不會更快? – user3101050

+0

Pocketsphinx是一個C解碼器,它可以簡單地從C++中獲得。詳情請參閱http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx。你誤解了關於Java的一些東西。 –