美文网首页嵌牛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