中年大叔学编程-Python实现文字转语音

  • Post by eyiadmin
  • May 22, 2020
post-thumb

在前面 有用到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这个库 我们来看看它的基本操作 我们来按照教程来调用语音API

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

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

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

运行脚本后,会在相应的目录生成ppp.mp3的语音文件。这种也就只是拿来玩玩而已,真实场景需要的语音效果要求更好,所以需要用到比如腾讯京东百度科大讯飞等这些大厂提供的语音合成API来合成语音,而且供多种声音选择,非常强大,当然,这是收费的,相对而言,腾讯的性价比应该是比较高的,有兴趣的可以去了解一下。

我只是记录我的学习过程,由于书读的少,可能很多地方表述或者是理解得不对,请轻喷并指正。

LATEST POST
  • Post By eyiadmin
  • Apr 18, 2021
.NET5快速接入支付宝扫码支付
  • Post By eyiadmin
  • Apr 18, 2021
uView练手开发-开发一个图片小程序
TAG
CATEGORIES