python文字转语音的几种方式

给老大报了一个python的启蒙班,第一天上课讲让电脑朗读,用的是培训机构自己的包ybc,想着看看有没有其他包,发现了几个常见的解决方案:pyWin32, pyttsx3, 百度或者讯飞的sdk或者cloud service

猿编程的包

这个是猿编程自己的封装,核心就是speak函数,参数是字符串和角色,角色从1-7,有男女老少。具体可以看猿编程文档1.0

1
2
3
import ybc

ybc.speak('猿编程',1)

pyttsx3

这个看上去是使用比较频繁的包,有人说对中文支持不好,但是我测试了一下,没发现什么问题,可以对voice,rate和volumn进行调节。

1
2
3
4
5
6
7
8
import pyttsx3

engine = pyttsx3.init()
rate = engine.getProperty('rate')
engine.setProperty('rate', rate+10)
volumn = engine.getProperty('volumn')
engine.say('测试')
engine.runAndWait()

pyWin32

这个是使用了pyWin32的功能

1
2
3
4
from win32com.client import Dispatch

speaker = Dispatch("SAPI.SpVoice")
speaker.Speak("不要想东想西,看东看西,好好做作业!")

其他

  • 百度的API或者SDK
  • 科大讯飞的API或者SDK