溫馨提示×

溫馨提示×

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

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

怎么用Python實(shí)現(xiàn)離線語音提示器

發(fā)布時(shí)間:2021-11-25 15:02:04 來源:億速云 閱讀:367 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹怎么用Python實(shí)現(xiàn)離線語音提示器,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

環(huán)境:

Win7系統(tǒng),外網(wǎng)未連接,主機(jī)接有返聽音箱。

準(zhǔn)備:

這里明顯要用語音合成,既然是離線狀態(tài),肯定沒法調(diào)用百度AI之類的接口。裝一個(gè)離線語音包又有點(diǎn)興師動眾,所以干脆我們就用微軟自帶的Speech SDK吧。注意,很多Ghost版的系統(tǒng),可能去掉了這塊功能,需要重新安裝。經(jīng)過上網(wǎng)學(xué)習(xí),我們發(fā)現(xiàn)只需安裝pyttsx3這個(gè)庫。

思路:

把所有的鈴聲,放到一個(gè)列表里。然后遍歷列表,找到當(dāng)前時(shí)間對應(yīng)的下一個(gè)打鈴的時(shí)間。然后判讀相差的“分”數(shù)(并沒有精確到秒,只是是大致提醒),調(diào)用語音合成輸出。

編碼:

import datetime,time
import pyttsx3

engine = pyttsx3.init()
ringTimes=["8:30","9:00","11:00","14:00","14:30","15:30",
"15:55","16:20","17:20"]


def alarmTime():
    currTime=datetime.datetime.now()
    h,m,s=currTime.hour,currTime.minute,currTime.second
    for t in ringTimes:
        t2=int(t.split(':')[0])*60+int(t.split(':')[1])
        t1=h*60+m
        if t1<t2 and t2-t1<=30 and m%5==0:
            tip="距離下一個(gè)鈴聲還有不到%d分鐘">

效果:

效果就是鈴聲前N分鐘,每隔m分鐘,比如鈴聲前半小時(shí)每5分鐘提示一次。這些,都可以自由修改。于是就聽到我們預(yù)想的播報(bào)啦。

你也可以適當(dāng)修改一下生成的語言語速:

怎么用Python實(shí)現(xiàn)離線語音提示器

以上是“怎么用Python實(shí)現(xiàn)離線語音提示器”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(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