在windows中pyttsx3可以让汉字文本输出中文语音,但是在jetson上只能用英文说话
import pyttsx3def 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 tempfiledef 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