在前面 有用到pywin32这个库很强大,上次只是用它来垮进程操作,这次,我们又要用到它来把文字转语音。其实Python除了用pywin32来实现文字转语音,还有一个库叫pyttsx3,它也可以实现文字转语音的功能,我们来挨个尝试一下吧。

由于之前安装过pywin32,所以这里就直接开始使用吧,新建一个demo.py文件

from win32com.client import Dispatch speaker = Dispatch("SAPI.SpVoice")speaker.Speak("成都市今天实况:28度 多云,湿度:56%,北风:1级。白天:29度,多云。 夜间:阴,22度,天气较热,墨迹天气建议您选择短袖上衣加七分裤的搭配,针织衫是进出空调房的必备单品。")

现在执行python demo.py就可以调用windows的API来转换成语音。

接下来,我们再来见识一下pyttsx3这个库




python离线文字转语音 python文字转语音完整代码_讯飞


我们来看看它的基本操作


python离线文字转语音 python文字转语音完整代码_学python编程_02


我们来按照教程来调用语音API

import pyttsx3engine = pyttsx3.init() pyttsx3.speak("成都市今天实况:28度 多云,湿度:56%,北风:1级。白天:29度,多云。 夜间:阴,22度,天气较热,墨迹天气建议您选择短袖上衣加七分裤的搭配,针织衫是进出空调房的必备单品。")

其实语音效果和pywin32差不多,只不过它的方法更多,可以控制音速、改变声音、音量大小等,一般默认为女生,我们接下来把它保存为mp3格式的语音文件

import pyttsx3engine = pyttsx3.init() engine.save_to_file('成都市今天实况:28度 多云,湿度:56%,北风:1级。白天:29度,多云。 夜间:阴,22度,天气较热,墨迹天气建议您选择短袖上衣加七分裤的搭配,针织衫是进出空调房的必备单品。', 'ppp.mp3')engine.runAndWait()