美文网首页嵌牛IT观察
Python文字转语音

Python文字转语音

作者: 标准与或式 | 来源:发表于2017-11-05 17:51 被阅读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()

相关文章

网友评论

    本文标题:Python文字转语音

    本文链接:https://www.haomeiwen.com/subject/ciqhmxtx.html