python合成语音

发布时间 2023-12-26 16:09:16作者: MKT-porter

https://pythonjishu.com/tzzjavbepoesojm/

下面是另一个示例:

pip install pyttsx3
pip install gtts

  

将一个变量中的中文文本转换为语音,并使用 pyaudio 播放出来。

因为 pyaudio 库在 Windows 环境下可能会有问题,所以建议在 Linux 或 Mac 环境下测试。

import pyttsx3
import pyaudio

# 初始化 TTS 引擎
engine = pyttsx3.init()
engine.setProperty("rate", 150) # 设置语速
engine.setProperty("volume", 0.8) # 设置音量

# 定义待朗读的中文文本
text = "世界上没有垃圾,只有被人滥用的资源。"

# 设置 TTS 引擎的语言为中文
engine.setProperty("voice", "zh")

# 进行语音合成
engine.say(text)
engine.runAndWait()

# 播放合成的音频
chunk = 1024
p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(2),
                channels=1,
                rate=44100,
                output=True)

with open("temp.wav", "wb") as file:
    engine.save_to_wav(file)

with open("temp.wav", "rb") as file:
    data = file.read(chunk)
    while data:
        stream.write(data)
        data = file.read(chunk)

stream.stop_stream()
stream.close()
p.terminate()

  

 

其他实例

如果需要保存mp3

from gtts import gTTS

# 读取文件中的文本内容
with open("example.txt", "r") as file:
    text = file.read()

# 设置语言类型为英文,语速为1.5倍
tts = gTTS(text, lang='en', slow=False)

# 保存音频
tts.save("example.mp3")