python离线文字转语音_python文字转语音

这篇博客介绍了如何使用Python的pyttsx库将文字转换为语音,包括设置发音人、调整语速和音量。通过简单几行代码,实现了文字转语音的功能,并探讨了可能的扩展性。尽管微软的API接口也可用,但中文支持效果不佳。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python文字转语音

发布时间:2018-05-28 20:33,

浏览次数:382

, 标签:

python

你觉得将文字转成语音需要写多少行代码才能完成?

我用了7行,你呢?

#coding:utf-8 import sys reload(sys) sys.setdefaultencoding("utf-8") import

pyttsx engine = pyttsx.init() engine.say('hello 雪桐') engine.runAndWait()

这不是8行吗?哦,因为这是python2写的,代码中有中文需要加一行注释,采用utf8编码允许代码中含有中文。

看这行代码engine.say('hello 雪桐'),可以在括号中加入很多东西,突然有个大胆的想法。可以改发音人的声音,发音速度吗?

# coding:utf-8 import sys reload(sys) sys.setdefaultencoding("utf-8") import

pyttsx ''' engine = pyttsx.init() #engine.say('hello world. Sally sells

seashells by the seashore') engine.say('草泥马') engine.runAndWait() #朗读一次

engine.endLoop() ''' #发音人 ''' engine = pyttsx.init() voices =

engine.getProperty('voices') for voice in voices: engine.setProperty('voice',

voice.id) engine.say('你好呀') engine.runAndWait() ''' #语速控制 ''' engine =

pyttsx.init() rate = engine.getProperty('rate') engine.setProperty('rate',

rate+50) engine.say('the lazy dog.') engine.runAndWait() ''' #音量控制 ''' engine =

pyttsx.init() volume = engine.getProperty('volume')

engine.setProperty('volume', volume-0.25) engine.say('the lazy dog.')

engine.runAndWait() '''

还有一个微软提供的api接口,不过试了一下,中文支持效果很差。

https://github.com/mhammond/pywin32/archive/master.zip

下载好之后,把文件夹名改成pywin32。然后把文件夹放在下面代码一个目录下。

readtest.py代码是:

import win32com.client speaker = win32com.client.Dispatch("SAPI.SpVoice")

speaker.Speak("Hello, it works!")

没错,3行就能实现,但是中文大家自己做测试,效果很差。然后还有很多功能就不说了,大家可以自己访问包名的官网,去看看别人写的使用文档来查看参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值