買書捐殘盟

2011年10月22日 星期六

Google App Inventor - 使用手機的語音控制

如果你的手機支援語音搜尋,那麼應該可以啟用語音辨識的操作。
這個功能可以替代手寫,英語的辨識率還算不錯,但中文辨識率不太高就是了。
(假如假設你發音正確,那麼應該可以顯示將你想說的語音轉成文字)

首先,我在手機介面上,設計如下的簡易畫面來進行測試:

(圖1)手機操作畫面

圖1中,我引用了App inventor的Other stuff中的[Speech recognizer]元件作語音控制。
而[按下後說話]的按鈕,是用來啟用speech recognizer,當你按下後即可說話。
簡單說了一段英文或中文語句,文字將顯示在圖中的Voice2TextResult文字欄位。

-------------------------------
其次,開啟Block Editor,進行程式編輯。
程式設計如下:

(圖2)程式內容

圖2中:
1. SpeechAfterPressedBtn-即按鈕,按下按鈕後,開始說話。
 call SpeechRecognizer1.GetText,呼叫語音辨識,取得文字。
2. When...SpeechRecognizer1.BeforeGettingText-
 當操作者還在說話時,介面上Voice2TextResult文字欄位的內容為空白
3. When...SpeechRecognizer1.AfterGettingText-
 將Voice2TextResult文字欄位指定為SpeechRecognizer1.Result
 即所說的內容,經過語音辨識後將文字呈現在Voice2TextResult文字欄位

--------------------------
有興趣的玩家,可以利用這樣的功能,實現在NXT的藍芽控制,當你說:
Go或是向前、Back或是向後、Left或是向左、Right或是向右,經過語音辨識,再結合
前述[Google App Inventor -手機藍芽遙控Segway]的方法,程式稍微修改一下就可
讓你的機器人用語音控制前進,後退、向左及向右了。

2 則留言:

  1. 最近買了樂高來研究
    網路上看到你有發表Segway文章我對動態平衡控制很有興趣
    但不知從哪著手學習要用哪種語言比較好市面上的書都只是簡單介紹
    附註一下我沒有學過語言的基礎麻煩你推介指導
    我只是個國中老師頂多學好教教學生不做商業使用
    李榮和謝謝

    回覆刪除
  2. 對樂高的初學者來說,使用NXT-G圖形化的介面,是最好不過。過去,我曾使用NXT-G和Robolab 兩套軟體,而這兩套軟體在採購lego 9797時已內附。

    我也曾閱讀入門的書,雖然簡易,但卻也是奠定基礎的最有效工具。

    隨著控制的機構難易度,使用的程式語言將有所變化,利用高階語言的Brixcc NXC或者是lejos是目前的主流。但就初學者使用來說,Brixcc NXC的編輯會比較容易。

    有問題可隨時一起討論。

    推薦您兩本樂高的書籍:
    1.NXT樂高機器人:創意樂趣,隨心所欲(第二版)-探奇工作室(http://tw.myblog.yahoo.com/touch_classroom)
    2.機器人新視界NXC與NXT(第二版)-cavedu工作團隊(www.cavedu.com)

    上述1,2探奇邱老師和cavedu的曾老師都是國內研究樂高的專家,且熱心指導。可於他們的留言板討論

    回覆刪除