Python語言有一個簡單的介面可以讓我們把字串送到網路的伺服器,然後讓伺服器轉換成mp3音檔,我們再把它播放出來,而這一系列的動作,在CyberyPi中只要短短的幾行指令就可以完成,本篇將會展示一個很簡單的例子。
因為文字轉語音的服務叫做Text To Speech,簡稱TTS,在許多大型的網路服務業者都有提供,然而這個服務是在網路上的,所以第一件事得讓CyberPi可以連接上WiFi上網。首先,找出在你附近提供WiFi服務的基地台的SSID和Password,然後在CyberPi裡編寫以下的指令:
import cyberpi as cp
import time
ssid = "你的SSID"
password = "你的密碼"
cp.led.on(255, 0, 0, "all")
cp.wifi.connect(ssid, password)
while not cp.wifi.is_connect():
pass
cp.led.on(0, 255, 0, "all")
在上面這個例子中,我們一開始先把LED點亮為紅色,之後在順利連接上網之後,就可以把LED改為綠色,如此我們就可以從燈號的顏色來瞭解WiFi的連線狀態。
import cyberpi as cp
import time
cp.driver.cloud_translate.TTS_URL = "{TTSURL}"
cp.driver.cloud_translate.set_token("{ACCESSTOKEN}")
sentences = [
'歡迎您',
'大家一起學程式',
'祝你學習愉快'
]
ssid = "你的SSID"
password = "你的密碼"
cp.led.on(255, 0, 0, "all")
cp.wifi.connect(ssid, password)
while not cp.wifi.is_connect():
pass
cp.led.on(0, 255, 0, "all")
for sen in sentences:
cp.console.println(sen)
cp.cloud.tts("zh", sen)
上述的程式除了真正呼叫語音播放的函式之外,在最前面的地方還兩行參數要加以設定,這是CyberPi 的要求,也是連線到後台伺服器必備的兩行指令。然後在連上WiFi進入主程式之後,我們在sentences串列中加入想要讓CyberPi講話的句子,再逐一呼叫tts函式就可以了。本程式的執行結果如下: