python 声音朗读文字
本文关键字: python, pyttsx3方法1:
import pyttsx3
def speak(goalStr):
engine = pyttsx3.init() # 初始化
engine.setProperty('voice', "com.apple.speech.synthesis.voice.sin-ji") #设置发音人,不过我电脑似乎不起作用
# engine.setProperty('voice', "com.apple.speech.synthesis.voice.mei-jia")
rate = engine.getProperty('rate') # 改变语速 范围为0-200 默认值为200
engine.setProperty('rate', rate-40)
engine.setProperty('volume', 0.7) # 设置音量 范围为0.0-1.0 默认值为1.0
engine.say(goalStr) # 预设要朗读的文本数据
engine.runAndWait() # 读出声音
if __name__ == '__main__':
strValue ="昆明的天气情况如下:日期: 08月18日(星期二), 天气: 雨, 温度: 20℃, PM2.5: 20, 相对湿度: 92%"
speak(strValue)
方法2:
import win32com.client
import time
def speak(goalStr):
# Dispatch("APPs") 需要app 注册COM服务, 且APPs是注册的名字
speak_out = win32com.client.Dispatch('SAPI.SPVOICE') #连接到SAPI.SpVoice COM服务
value = goalStr.split(',')
for value_str in value :
speak_out.Speak(value_str)
time.sleep(1)
if __name__ == '__main__':
strValue ="昆明的天气情况如下, 日期: 08月18日(星期二), 天气: 雨, 温度: 20℃, PM2.5: 20, 相对湿度: 92%"
speak(strValue)