Python文字转语音
2017-11-05 本文已影响0人
标准与或式
姓名:刘强
【嵌牛导读】
在搭建专家系统时,推理机运算往往采用语言变量,那么如何将推理的结果反映给现实世界的人呢?本文介绍了如何使用python将文字转化成语音输出
【嵌牛鼻子】
Python 文字转语音 Speech API Pyttsx
【嵌牛提问】
python如何实现文字转语音?
【嵌牛正文】
使用Speech API
下载并安装适合当前环境的pywin32: 点此下载
在Python Shell中测试是否安装成功:
>>> import win32com.client
>>> speaker = win32com.client.Dispatch("SAPI.SpVoice")
>>> speaker.Speak("Hello, it works!")
1
>>> speaker.Speak("钓鱼岛是中国的!")
1
至此,我们已经初步实现了文字转语音。但是Speech API有明显的缺点:
- 对中文的支持不够好
- 语速不能很好的控制
使用pyttsx
相比于Speech API,pyttsx对中文的支持更好,而且还可以借助pyttsx来实现在线朗读rfc文件或者本地文件等等。安装步骤为:
-
确保已安装pywin32
pyttsx基于pywin32,请先确保pywin32已经安装并正确运行 -
安装pyttsx
尽管使用
pip install pyttsx
可以成功安装pyttsx,但有可能pip给你安装的并非最佳适合的版本(往往装的是一个适用于python2的版本)
如果你系统里使用的是python3,请使用如下的版本:
适用于python3的pyttsx: 点此下载
这里下载下来的库,需要使用setup.py方式安装,具体操作为:
- 解压下载下来的zip压缩包
- 打开cmd,cd进入解压出来的文件夹目录(setup.py所在的目录)
- 输入以下命令并回车:
python setup.py build
build完之后输入以下命令并回车:
python setup.py install
至此,pyttsx库就安装完了,用下面的代码测试一下是否成功运行:
import pyttsx
engine = pyttsx.init()
engine.say('Hello World')
engine.say('富强,民主,文明,和谐')
engine.runAndWait()