离线文字转语音(人生苦短,我用Python)

前几天一个需求需要实现刷完门禁之后实现广播,相当于文字转语音;发现世界上最好的语言(PHP)解决方案不支持离线,几乎都是需要互联网+第三方接口才能实现;另外即使JS的类库,也存在各种各样的问题;
办法还是比困难多,经过多方求证;终于:人生苦短,我用Python

import pyttsx3

engine = pyttsx3.init()
engine.say("明天你好,我叫干不倒!")
engine.runAndWait()

就是这么简单;用python命令只要执行该文件,即可听到悦耳的播报

但是因为后台和接口是PHP写的,怎么能无缝斜街呢?
那么就需要用到 system()和exec() 之类的函数;又因为是离线项目,就是局域网实现,也不用考虑并发和安全问题;
所以:
test.php 中如下:

假如以上是PHP后台或者接口;
通过业务逻辑执行到以上文件的时候,就会粗发以下:

import sys
import pyttsx3

str = sys.argv[1]  # 接收命令行传输过来的参数
engine = pyttsx3.init()
engine.say(str)
engine.runAndWait()

至此完美实现;
或许还有更好结局方案,欢迎读者大拿留下宝贵评论
关于 sys 和 pyttsx3 包,不多介绍,有兴趣可以自行Google;

你可能感兴趣的:(离线文字转语音(人生苦短,我用Python))