用Python写一个“离线语音提示器”来提醒我们别忘记了时间
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用Python写一个“离线语音提示器”来提醒我们别忘记了时间,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1429字,纯文字阅读大概需要3分钟。
内容图文
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
环境:
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分钟" % (t2-t1) print(tip) engine.say(tip) engine.runAndWait() break while True: alarmTime() time.sleep(60)
效果:
效果就是铃声前N分钟,每隔m分钟,比如铃声前半小时每5分钟提示一次。这些,都可以自由修改。于是就听到我们预想的播报啦。
你也可以适当修改一下生成的语言语速:
后记:
写这些小玩意,实际是Python比较专长的东西。毕竟有很多现成的库可以直接调用,写起来也非常简单,只需要简单组织一下逻辑就好。例如每隔一分钟去查询是不是5的倍数的分,然后大致的提醒我们,这就足够了。
?
内容总结
以上是互联网集市为您收集整理的用Python写一个“离线语音提示器”来提醒我们别忘记了时间全部内容,希望文章能够帮你解决用Python写一个“离线语音提示器”来提醒我们别忘记了时间所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。