Этот код работает, но я могу только прослушивать выходной голос на английском языке, я хотел бы изменить язык вывода на китайский. код может распознавать китайский язык, но вывод не является китайским, а также я не могу распознать китайский язык с помощью pyttsx3 в автономном режиме, какая-нибудь помощь в исправлении кода?
вот мой код
import aiml
import os
import time
import argparse
mode = "text"
voice = "pyttsx3"
terminate = ['bye', 'buy', 'shutdown', 'exit', 'quit', 'gotosleep', 'goodbye']
def get_arguments():
parser = argparse.ArgumentParser()
optional = parser.add_argument_group('params')
optional.add_argument('-v', '--voice', action='store_true', required=False,
help='Enable voice mode')
optional.add_argument('-g', '--gtts', action='store_true', required=False,
help='Enable Google Text To Speech engine')
arguments = parser.parse_args()
return arguments
def gtts_speak(XiaoZhi_speech):
tts = gTTS(text=XiaoZhi_speech, lang='zh-TW')
tts.save('XiaoZhi_speech.mp3')
mixer.init()
mixer.music.load('XiaoZhi_speech.mp3')
mixer.music.play()
while mixer.music.get_busy():
time.sleep(1)
def offline_speak(XiaoZhi_speech):
engine = pyttsx3.init()
engine.say(XiaoZhi_speech)
engine.runAndWait()
def speak(XiaoZhi_speech):
if voice == "gTTS":
gtts_speak(XiaoZhi_speech)
else:
offline_speak(XiaoZhi_speech)
def listen():
r = sr.Recognizer()
with sr.Microphone() as source:
print("Talk to X.I.A.O.Z.H.I: ")
audio = r.listen(source)
try:
print(r.recognize_google(audio,language="zh-TW" ))
return r.recognize_google(audio)
except sr.UnknownValueError:
speak(
"I couldn't understand what you said! Would you like to repeat?")
return(listen())
except sr.RequestError as e:
print("Could not request results from " +
"Google Speech Recognition service; {0}".format(e))
if __name__ == '__main__':
args = get_arguments()
if (args.voice):
try:
import speech_recognition as sr
mode = "voice"
except ImportError:
print("\nInstall SpeechRecognition to use this feature." +
"\nStarting text mode\n")
```