-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
50 lines (37 loc) · 1.62 KB
/
main.py
File metadata and controls
50 lines (37 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Importa a classe Reconhecedor, responsável por capturar áudio do microfone
# e converter fala em texto usando o Vosk
from Recognition.reconhecimento import Reconhecedor
# Importa a função responder, que envia o texto para o Gemini
# e retorna a resposta da Jyu
from Chat.gemini_chat_personalizado import responder
# Importa a função fala, que transforma texto em áudio (TTS)
# usando Kokoro + pygame
from TTS.fala import fala
def main():
# Cria uma instância do reconhecedor de voz
# device=6 define qual microfone/dispositivo de áudio será usado
reconhecedor = Reconhecedor(device=6)
# Mensagem inicial no terminal indicando que a Jyu está ouvindo
print("🎧 Jyu está ouvindo... (Ctrl+C para sair)")
try:
# Loop principal do programa (roda indefinidamente)
while True:
# Aguarda o usuário falar e converte o áudio em texto
texto = reconhecedor.ouvir()
# Exibe no terminal o que o usuário falou
print("Você:", texto)
# Envia o texto reconhecido para o chat (Gemini)
# e recebe a resposta da Jyu
resposta = responder(texto)
# Exibe a resposta da Jyu no terminal
print("Jyu:", resposta)
# Converte a resposta em áudio e reproduz pelo alto-falante
fala(resposta)
# Captura Ctrl+C para encerrar o programa de forma limpa
except KeyboardInterrupt:
# Mensagem de despedida ao sair
print("\n👋 Jyu: Até mais~ 💜")
# Garante que o main() só será executado
# se este arquivo for rodado diretamente
if __name__ == "__main__":
main()