溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用PHP實(shí)現(xiàn)智能語音播報(bào)

發(fā)布時(shí)間:2020-08-03 16:01:13 來源:億速云 閱讀:187 作者:Leah 欄目:編程語言

如何使用PHP實(shí)現(xiàn)智能語音播報(bào)?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

PHP實(shí)現(xiàn)智能語音播報(bào)的方法:首先獲取時(shí)間信息,并獲取天氣狀況;然后語音合成;最后播放合成之后的語音文件,代碼為【exec('sudo /usr/bin/play /tmp/audio.mp3')】。

PHP實(shí)現(xiàn)智能語音播報(bào)的方法:

第一步:獲取時(shí)間信息

舉個(gè)例子,文字內(nèi)容可能是這樣:“主人,早上好,今天是2017年12月18號上午8點(diǎn)整,星期一”,這樣的內(nèi)容用PHP自帶的幾個(gè)時(shí)間函數(shù)就能搞定,然后拼接成字符文字!下面是一些簡單實(shí)例代碼:

如何使用PHP實(shí)現(xiàn)智能語音播報(bào)

PHP實(shí)現(xiàn)智能語音播報(bào)天氣

獲取時(shí)間

第二布:獲取天氣狀況

舉個(gè)例子,文字內(nèi)容可能是這樣:“今天天氣多云轉(zhuǎn)晴,溫度5-15度,濕度80%,空氣污染指數(shù)69”。要想找到一個(gè)靠譜而又免費(fèi)的api還有點(diǎn)麻煩,很多免費(fèi)的api提供的天氣信息都比較簡單,只有天氣狀況和溫度,沒有未來天氣狀況,最后我就找了個(gè)湊合用,誰有更好的api留個(gè)爪。實(shí)例代碼如下:

如何使用PHP實(shí)現(xiàn)智能語音播報(bào)

PHP實(shí)現(xiàn)智能語音播報(bào)天氣

天氣狀況

第三步:語音合成

這個(gè)是調(diào)用的百度的接口,首先呢,你得去百度那注冊一個(gè)賬號,獲取開發(fā)者的key和secret,會有一些免費(fèi)的調(diào)用次數(shù),不拿去商用的話完全夠了!然后下載百度提供的SDK,用法非常簡單,實(shí)例代碼如下:

如何使用PHP實(shí)現(xiàn)智能語音播報(bào)

PHP實(shí)現(xiàn)智能語音播報(bào)天氣

大家可以看到最后的返回的內(nèi)容被我存到/tmp/audio.mp3這個(gè)文件里面去了(這里使用的是Ubuntu系統(tǒng)),這里可能會有一個(gè)寫入權(quán)限問題,建議大家最后執(zhí)行腳本的時(shí)候加上sudo。

第四步:播放合成之后的語音文件

我們不可能去用音樂播放器手動播放,其實(shí)Linux在命令行下也可以播放音樂,需要安裝一個(gè)軟件,直接給大家Ubuntu下的安裝命令:

sudo apt-get install sox libsox-fmt-all

安裝完成之后就可以使用play命令播放音樂,舉個(gè)例子:play hello.mp3

所以接下來我們就可以使用PHP去執(zhí)行播放命令,實(shí)例如下:

exec('sudo /usr/bin/play /tmp/audio.mp3');

最后,在Linux里面運(yùn)行腳本,讓腳本常駐后臺,示例如下:

/usr/bin/php /var/www/demo/BaiduSound/index.php > /dev/null 2>&1 &


看完上述內(nèi)容,你們掌握如何使用PHP實(shí)現(xiàn)智能語音播報(bào)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI