在windows中pyttsx3可以让汉字文本输出中文语音,但是在jetson上只能用英文说话
import pyttsx3
def hanyu(test):
engine = pyttsx3.init()
rate = engine.getProperty('rate')
engine.setProperty('rate',125)
engine.say(test)
engine.runAndWait()
hanyu('你好')
#engine.save_to_file('你好,世界!','test.mp3')
#engine.runAndWait()
多次尝试后发现用espeak是可以的
import os
import tempfile
def speak_chinese_espeak(text):
# 创建一个临时文件
with tempfile.NamedTemporaryFile(delete=True, suffix='.wav') as tf:
temp_audio_path = tf.name
# 使用 espeak 合成中文语音
os.system(f"espeak -v zh -w {temp_audio_path} '{text}'")
# 播放音频文件
os.system(f"aplay {temp_audio_path}")
# 测试中文语音输出
speak_chinese_espeak("你好,这是一个中文语音测试。")
需要下载:
sudo apt-get update
sudo apt-get install espeak
声音有些僵硬不过能凑活着用,想要高级点的语音也可以用api