2、下载 pyttsx3库。
3、将需要转换的文本和程序放到一起。
4、运行程序就会朗读文本和保存文本朗读的语音文件。
以下是源代码:
import pyttsx3
withopen ( 'word.txt' , encoding = 'utf-8' ) as obj:
line=obj.readline()
engine=pyttsx3.init()
rate=engine.getProperty( 'rate' )
engine.setProperty( 'rate' , 160 )
volume=engine.getProperty( 'volume' )
engine.setProperty( 'volume' , 0.6 )
engine.say(line)
engine.save_to_file(line, 'abc.mp3' )
engine.runAndWait()
讯飞快读软件可以实现, 方法如下:
1、首先,在浏览器的搜索框中输入“讯飞快读”,然后单击第一个web链接,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,进入“讯飞快读”界面,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,将要读取的文本复制并粘贴到软件的编辑栏中,如下图所示,然后进入下一步。
4、然后,完成上述步骤后,点击编辑栏底部的播放按钮进行语音合成,合成后会自动读出,如下图所示,然后进入下一步。
5、最后,持文档阅读、图片阅读、网页阅读,可根据个人需要选择。完成以上设置后,可以使用讯飞快读读出文本,如下图所示。这样,问题就解决了。
前几天一个需求需要实现刷完门禁之后实现广播,相当于文字转语音;发现世界上最好的语言(PHP)解决方案不支持离线,几乎都是需要互联网+第三方接口才能实现;另外即使JS的类库,也存在各种各样的问题;办法还是比困难多,经过多方求证;终于:人生苦短,我用Python
就是这么简单;用python命令只要执行该文件,即可听到悦耳的播报
但是因为后台和接口是PHP写的,怎么能无缝斜街呢?
那么就需要用到 system()和exec() 之类的函数;又因为是离线项目,就是局域网实现,也不用考虑并发和安全问题;
所以:
test.php 中如下:
假如以上是PHP后台或者接口;
通过业务逻辑执行到以上文件的时候,就会粗发以下:
至此完美实现;
或许还有更好结局方案,欢迎读者大拿留下宝贵评论
关于 sys 和 pyttsx3 包,不多介绍,有兴趣可以自行Google;