Warning: file_put_contents(/datas/wwwroot/jiajiahui/core/caches/caches_template/2/default/show.php): failed to open stream: Permission denied in /datas/wwwroot/jiajiahui/core/libraries/classes/template_cache.class.php on line 55

Warning: chmod(): Operation not permitted in /datas/wwwroot/jiajiahui/core/libraries/classes/template_cache.class.php on line 56
怎么用Python实现离线语音提示器 - 源码之家

怎么用Python实现离线语音提示器

这篇文章主要介绍怎么用Python实现离线语音提示器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

环境:

Win7系统,外网未连接,主机接有返听音箱。

准备:

这里明显要用语音合成,既然是离线状态,肯定没法调用百度AI之类的接口。装一个离线语音包又有点兴师动众,所以干脆我们就用微软自带的Speech SDK吧。注意,很多Ghost版的系统,可能去掉了这块功能,需要重新安装。经过上网学习,我们发现只需安装pyttsx3这个库。

思路:

把所有的铃声,放到一个列表里。然后遍历列表,找到当前时间对应的下一个打铃的时间。然后判读相差的“分”数(并没有精确到秒,只是是大致提醒),调用语音合成输出。

编码:

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="距离下一个铃声还有不到%d分钟">

效果:

效果就是铃声前N分钟,每隔m分钟,比如铃声前半小时每5分钟提示一次。这些,都可以*修改。于是就听到我们预想的播报啦。

你也可以适当修改一下生成的语言语速:

怎么用Python实现离线语音提示器

以上是“怎么用Python实现离线语音提示器”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!