語音聲控

隨著瀏覽器的技術日新月異,過去在行動裝置才能使用的語音功能,現在在瀏覽器上也能完整實現,Webduino Blockly 結合 Google 語音辨識的技術,只要打開網頁就能輕鬆做出語音聲控的趣味體驗。

打開 Webduino Blockly 編輯器 ( https://blockly.webduino.io ),展開左側目錄「進階功能」,點選「語音聲控」,可以看到對應的語音辨識積木。

Webduino Blockly語音聲控積木

開始語音辨識

只要在畫面中放入「開始語音辨識」的積木,執行程式之後就會啟動語音辨識的功能,積木上有兩個下拉選單,第一個可以選擇辨識的語系,第二個則是選擇能否「即時辨識」,即時辨識表示每說出一個字都會即時辨識,如果勾選「否」,表示要在一段話講完後先暫停不說話,當瀏覽器判斷已經沒有講話,才會進行整段句子的辨識。

語音辨識功能目前不支援 iOS 系統行動裝置,如果是 Android 系統,請關閉即時辨識功能。

開始語音辨識積木

打開網頁互動區,下拉選單選擇顯示文字。

網頁互動 - 顯示文字

在開始語音辨識的積木裡,放入「顯示」加上「辨識文字」的積木組合,執行之後就能把語音辨識的文字顯示在網頁裡。

顯示語音辨識結果

第一次啟用語音辨識的時候,因為會使用電腦的麥克風,所以會彈出一個視窗進行使用者同意與否的確認,當出現這個視窗,點選允許即可。

允許使用語音辨識

當程式已經啟動,可以看到瀏覽器的分頁上出現像是錄音的紅色圓點,這表示網頁已經開始由麥克風收音。

瀏覽器的分頁出現開始錄音記號

對著電腦麥克風講話,就會看到所講的話,即時被辨識出來並且顯示在網頁裡。

網頁顯示語音辨識結果

判斷指定辨識文字

當已經可以辨識文字之後,接下來就要判斷指定的辨識文字,使用「如果辨識的文字包含...」的積木,就能夠在指定文字出現的時候,執行對應的動作。

判斷指定辨識文字

舉例來說,把判斷指定辨識文字的積木,判斷出現「紅色」就讓文字變成紅色,出現「藍色」就讓文字變成藍色,就可以在唸出該顏色的當下,發現文字變成指定的顏色。

語音辨識控制文字顏色

除了現成的判斷積木,也可以使用 邏輯數值轉換 裡的積木,組合出一樣的功能。

語音辨識搭配邏輯和數值轉換積木

停止或繼續語音辨識

在某些情形下,必須要關閉語音辨識避免干擾,例如要做一個和電腦對話的應用,就要避免語音辨識去辨識電腦說的話。

停止或繼續語音辨識

在語音辨識實作的案例裡,有時候會遇到「一段話辨識無法中斷」的狀況,以上述的例子而言,如果連續唸出「紅色」和「藍色」,就會發現句子連再一起,甚至如果環境比較吵雜,中間就要停頓更久的時間才能準確判讀,這時候就可以利用停止語音辨識的積木,在辨識到指定文字時先停止語音辨識,接著使用 等待 的積木,使其過了一小段時間之後再啟動,就能避免連續辨識不中斷的狀況。

範例解答:https://goo.gl/3t4Rzd

暫停語音辨識等待後再繼續

如果覺得程式太複雜,可以透過 流程 將重複的部分獨立出來,就可以做出更簡便的程式邏輯。

範例解答:https://goo.gl/7K2K3E

利用流程搭配語音辨識積木