当前位置:   article > 正文

Python玩票系列——TTS(文本转语音)

Python玩票系列——TTS(文本转语音)

文本转语音——TTS

系统:Ubuntu

第三方库:pyttsx3

该文主要是记录在Ubuntu上怎样通过pyttsx3实现中文文字转换

安装语音环境——espeak

使用pyttsx3前要安装一个语音环境:“espeak”,否则会报OSError libespeak.so.1 error: no such file or directory

安装命令 sudo apt-get update && sudo apt-get install espeak

安装pyttsx3

目前支持的设备以及语音识别引擎:

  • nsss - Mac OS X 10.5及更高版本上的NSSpeechSynthesizer

  • sapi5 - Windows XP,Windows Vista和(未经测试)Windows 7上的SAPI5

  • espeak - 可以托管共享库的任何发行版/平台上的eSpeak(例如,Ubuntu/Fedora Linux(树莓派))

pyttsx3官方参考文档

安装命令 pip install pyttsx3

pyttsx3的使用
import pyttsx3


def say_text(engine, words, voice):
    # 设置音色
    engine.setProperty('voice', voice)
    engine.say(words)
    engine.runAndWait()
    engine.stop()


def main():
    # 创建对象
    engine = pyttsx3.init()
    # 设置语音速率
    engine.setProperty('rate', 100)
    # 设置语音音量,音量最小为 0,最大为 1
    engine.setProperty('volume', 1.0)
    # words = input('请输入要转换的文本:')
    words = '这是一个小练习'
    say_text(engine, words, 'zh')


if __name__ == '__main__':
    main()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

中文转换必须要设置音色engine.setProperty('voice', 'zh'),默认的是不支持中文的。不过据说Windows是支持的,不过这就靠感兴趣的小伙伴自己去尝试了!

在使用’zh’的音色的时候可能会提示Full dictionary is not installed for 'zh'可以参考这篇博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/201507
推荐阅读
相关标签
  

闽ICP备14008679号