python文字转语音(树莓派)
-
环境前提:
安装espeak,语音转换引擎(重要):sudo apt-get install espeak
安装pyttsx3:sudo pip3 install pyttsx3
-
基础代码:
# 语音播报模块 import pyttsx3 # aiff文件转换成mp3编码文件模块 from pydub import AudioSegment # 模块初始化 engine = pyttsx3.init() rate = engine.getProperty('rate') # 获取当前语速(默认值) print (rate) # 打印当前语速(默认值) engine.setProperty('rate', 135) # 设置一个新的语速 volume = engine.getProperty('volume') # 获取当前的音量 (默认值)(min=0 and max=1) print (volume) # 打印当前音量(默认值) engine.setProperty('volume',1.0) # 设置一个新的音量(0 < volume < 1) voices = engine.getProperty('voices') # 获取当前的音色信息 engine.setProperty('voice', voices[0].id) # 改变中括号中的值,0为男性,1为女性 engine.setProperty('voice','zh') #将音色中修改音色的语句替换 # 语音播报内容 content = "人生苦短,我用Python" # 输出文件格式 #outFile = 'out.aiff' print('准备开始语音播报...') # 设置要播报的Unicode字符串 engine.say(content) # 等待语音播报完毕 engine.runAndWait() # 将文字输出为 aiff 格式的文件 #engine.save_to_file(content, outFile) # 将文件转换为mp3格式 #AudioSegment.from_file(outFile).export("Python.mp3", format="mp3")