Text-to-voice playback is realized by TTS unit
from m5stack import *
from m5ui import *
from uiflow import *
import module
import time
setScreenColor(0x222222)
adding_number = None
tts_text = None
llm_1 = module.get(module.LLM)
llm_1.init(2, tx=17, rx=16)
label0 = M5TextBox(34, 12, "State:", lcd.FONT_DejaVu24, 0xFFFFFF, rotate=0)
label1 = M5TextBox(28, 85, "TTS text:", lcd.FONT_DejaVu24, 0xFFFFFF, rotate=0)
label2 = M5TextBox(34, 45, "~", lcd.FONT_DejaVu24, 0x16db23, rotate=0)
label3 = M5TextBox(34, 116, "~", lcd.FONT_DejaVu24, 0xfe0101, rotate=0)
# Describe this function...
def make_tts_text():
global adding_number, tts_text
adding_number = adding_number + 1
tts_text = 'x plus x equals to y.'.replace('x', str(adding_number))
tts_text = tts_text.replace('y', str((adding_number + adding_number)))
label3.setText(str(tts_text))
llm_1.tts_inference(llm_1.get_latest_tts_work_id(), tts_text, 10000, 'tts_inference')
label1.setText('Wait ModuleLLM connection..')
while not (llm_1.check_connection()):
wait(1)
label1.setText('Reset ModuleLLM..')
llm_1.sys_reset(True)
label1.setText('Setup Audio module..')
llm_1.audio_setup(cap_volume=0.5, play_volume=0.15, request_id='audio_setup')
label1.setText('Setup TTS module..')
llm_1.tts_setup(model='single_speaker_english_fast', input='tts.utf-8.stream', enoutput=True, enkws=True, request_id='tts_setup')
adding_number = 0
label1.setText('OK')
while True:
make_tts_text()
wait(0.5)
wait_ms(2)
llm_1 = module.get(module.LLM)
llm_1.init(2, tx=17, rx=16)
def llm_1_asr_data_input_event(data, finish, index):
global asr_data, asr_is_finish, asr_index
asr_data = data
asr_is_finish = finish
asr_index = index
print('data input')
llm_1.asr_setup(model='2', enoutput=False, enkws=False, rule1=2.4, rule2=1.2, rule3=30, request_id='asr_setup')
llm_1.tts_inference(llm_1.get_latest_tts_work_id(), '', 0, 'tts_inference')
llm_1.tts_setup(model='single_speaker_english_fast', input='tts.utf-8.stream', enoutput=True, enkws=True, request_id='tts_setup')
llm_1.audio_setup(cap_volume=0.5, play_volume=0.15, request_id='audio_setup')
print((str('begin voice assistant:') + str((llm_1.begin_voice_assistant('HI JIMMY', 'You are a helpful assistant.')))))
def llm_1_llm_data_input_event(data, finish, index):
global llm_data, llm_is_finish, llm_index
llm_data = data
llm_is_finish = finish
llm_index = index
print('llm data')
llm_1.llm_inference(llm_1.get_latest_llm_work_id(), 'Can I ask you a question?', 'llm_inference')
llm_1.update()
print((str('begin voice assistant:') + str((llm_1.begin_voice_assistant('HI JIMMY', 'You are a helpful assistant.')))))
llm_1.kws_setup(kws='HI JIMMY', model='', enoutput=True, request_id='kws_setup')
llm_1.llm_setup(prompt='You are a helpful assistant.', model='2', enoutput=True, enkws=True, max_token_len=127, request_id='llm_setup')
print((str('connection:') + str((llm_1.check_connection()))))
print((str('latest asr work id:') + str((llm_1.get_latest_asr_work_id()))))
print((str('latest audio work id:') + str((llm_1.get_latest_audio_work_id()))))
print((str('err code:') + str((llm_1.get_latest_error_code()))))
print((str('latest kws work id:') + str((llm_1.get_latest_kws_work_id()))))
print((str('latest llm work id:') + str((llm_1.get_latest_llm_work_id()))))
print((str('latest tts work id:') + str((llm_1.get_latest_tts_work_id()))))
llm_1.clear_response_msg_list()
llm_1.sys_ping()
llm_1.update()
llm_1.sys_reboot()
llm_1.sys_reset(True)
print((str('response:') + str((llm_1.get_response_msg_list()))))