在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