自己动手写Python进行文本转语音程序,共计11行代码

Python018

自己动手写Python进行文本转语音程序,共计11行代码,第1张

1、首先安装Python程序推荐3.7

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;