23
23
sys .path .append ("./" )
24
24
25
25
# Load configuration
26
+ print ('[*] Loading config... ' )
26
27
CONF = config .Config ("./config" )
27
28
28
29
# Init STT & TTS
30
+ print ('[*] Loading STT & TTS... ' )
29
31
r = sr .Recognizer ()
30
32
tts = tts .TTS (CONF .get_lang (), CONF .get_tts_model ())
31
33
32
34
# Load plugins:
35
+ print ('[*] Loading plugins... ' )
33
36
pm = pluginmanager .PluginManager ()
37
+ pm .load_plugins ()
34
38
35
39
# Init LLM
40
+ print ('[*] Loading LLM... ' )
36
41
llm = llm_con .Connector (
37
42
CONF .get_main_model (),
38
43
CONF .get_main_service (),
41
46
)
42
47
43
48
# Main func
49
+ print ('[*] Starting... ' )
44
50
def listen_and_repeat (last_communication ):
45
51
"""Main listen & repeat function"""
46
52
with sr .Microphone () as source :
@@ -49,7 +55,7 @@ def listen_and_repeat(last_communication):
49
55
50
56
#user_message = "ok lydia execute la commande 'weather' pour récupérer la météo."
51
57
52
- if (time .time () - last_communication ) < 5 :
58
+ if (time .time () - last_communication ) < 10 :
53
59
present = True
54
60
message = user_message
55
61
else :
@@ -96,7 +102,11 @@ def listen_and_repeat(last_communication):
96
102
)
97
103
98
104
print ("[*] Generating audio... " )
99
- tts .play_generate_audio (llm_result ["message" ])
105
+ if type (llm_result ) == dict and "message" in llm_result .keys ():
106
+ tts .play_generate_audio (llm_result ["message" ])
107
+ else :
108
+ playsound ('./lidya/ressources/sounds/fail_blip.mp3' )
109
+ tts .play_generate_audio (llm_result )
100
110
101
111
print ("[*] Process finished. " )
102
112
last_communication = time .time ()
0 commit comments