[應用] App Inventor 2 之語音辨識元件

        過去我們研究各種平台上的語音辨識功能,像是雲端服務的一文 雲運算之語音辨識 (Speech To Text) [1],或者單晶片的離線辨識一文 LD3320 離線語音辨識晶片與 ESP32 無線傳輸 [2]。這次我們研究安卓系統的語音辨識,在 APP Inventor 2 的多媒體選單中提供語音辨識元件,元件屬性有 "UseLegacy",如果勾選它,每當調用這個元件時,手機畫面會彈出一個畫面,準備運行語音辨識。這個屬性只能允許一次性的辨識過程,需要再次調用元件才能進行下次辨識,如果要連續辨識的話,我們就必須 uncheck 這個屬性。

        底下的積木流程圖採用連續語音辨識的屬性所設計的,不過開發過程中遇到一個問題,系統會不斷地彈跳出錯誤訊息,然後語音辨識過程就中斷了。在網路上也有人遇到同樣的情況[3][4],現階段處理的方式是把這些錯誤訊息抓出來,其中編號 3806 錯誤(No Match)出現時,重新呼叫語音辨識元件,讓系統再次進入辨識的狀態,但是每次出現錯誤訊息手機就會發出嗶嗶聲,有點惱人。或許,未來安卓系統會提供這個元件有更好的解決辦法,目前就先用上述的方式 work around 吧!最後一點,這個元件需要用到手機的網路,因為語音辨識的服務放在雲端上,如果沒有公眾網路,辨識是不起作用的。

圖一:APP 語音辨識積木流程圖


參考資料

留言

此網誌的熱門文章

[筆記] Raspberry Pi 樹莓派的軟體開發

[應用] 在 ESP32 Audio 開發板的 VoIP 範例

[筆記] ESP32 在 VS Code 開發環境的編譯與除錯

[筆記] Visual Studio 遠端偵錯的設定步驟

[筆記] Android APP 藍芽範例說明 -- BluetoothChat

[應用] 藍芽 BLE client/server 架構:BLE remote controller

[模組] LD3320 離線語音辨識晶片與 ESP32 無線傳輸