语音合成(自然、非自然)
1.环境
Python 3.10.14
2.完成代码
2.1简陋版
import pyttsx3
# 初始化tts引擎
engine = pyttsx3.init()
# 设置语音速度
rate = engine.getProperty('rate')
engine.setProperty('rate', rate - 50)
# 设置语音音量
volume = engine.getProperty('volume')
engine.setProperty('volume', volume + 0.5)
if __name__ == '__main__':
engine.say("我的包子很好吃,你想吃吗")
engine.runAndWait()
engine.stop()
2.2惊艳版(目前仅支持在Linux操作系统上使用,暂不支持Windows及Mac使用)
text = '待合成文本'
model_id = 'damo/speech_sambert-hifigan_tts_zh-cn_16k'
sambert_hifigan_tts = pipeline(task=Tasks.text_to_speech, model=model_id)
output = sambert_hifigan_tts(input=text, voice='zhitian_emo')
wav = output[OutputKeys.OUTPUT_WAV]
with open('output.wav', 'wb') as f:
f.write(wav)
3.效果
传不了语音,语音效果还是蛮不错的
4.问题
1.在Linux上运行的效果很好,普通的能跑的版本效果不行
2.模型可去模型资源网站搜索下载(也可私信)