語音朗讀逐字稿

在進行政見發表會或大型演講的時候,現場往往都會準備「逐字稿」的人員或機器,現在透過 Webduino Blockly 的迴圈、朗讀和等待功能,也能很簡單的做出朗讀時同時顯示逐字稿的效果。

本篇範例會使用:變數文字迴圈列表等待顯示文字語音朗讀,如果尚未熟悉相關用法,請點選參考閱讀。

步驟 1、建立逐字稿的文字列表

開始先建立一個變數 text,內容放入待會要朗讀且顯示逐字稿的文字,因為文字比較多,所以將文字尺寸設定為 30。

建立逐字稿的文字列表

再放入第二個變數 arr,使用「文字與列表轉換」積木,設定分割符「空白」,將文字逐一拆開取出,並將這些文字放入列表 arr 裏頭。( 使用列表的目的在於要讓文字逐一顯示出來 )

設定分割符「空白」將文字拆開

如果用顯示文字查看 arr 的結果,就會發現每個字都被拆開了。

顯示文字拆開結果

步驟 2、朗讀文字

放入「朗讀並執行動作」的積木,朗讀變數 text,並將執行動作的時間設定為「朗讀開始」時執行。

朗讀文字

步驟 3、朗讀時逐字顯示

接著編輯朗讀開始要執行的動作,首先放入顯示結果的變數 result,一開始先讓 result 是空白,接著放入「指定間隔迴圈」,間隔設定 1,範圍設定 1 到剛剛 arr 列表的長度。

朗讀時逐字顯示

接著讓 result 在每次回圈執行的時候,都會在上一次執行內容的後方新增列表裡的一個字,如此一來執行之後,彷彿就會一個字一個字的出現。( 實際上是每次顯示的 result 字數越來越多 )

讓每次執行迴圈,都在上一次執行內容後方新增一個字

最後使用顯示文字,顯示 result,並在顯示文字的後方加入等待積木,大約等待 0.18 秒,也就是每個字會以 0.18 秒的時間差出現。( 0.18 秒根據朗讀的速度決定 )

每字以 0.18 秒的時差顯示

完成結果

執行程式之後,就會一邊朗讀一邊在網頁裡顯示逐字稿。

範例解答:https://goo.gl/edZLm8

一邊朗讀網頁一邊顯示逐字稿