Files
2025-12-15 18:56:25 +03:00

41 lines
1.0 KiB
Python

import asyncio
import threading
from voice_player import VoiceImagePlayer, edge_speak
from speech_to_text import record_voice
from groq_ai import get_response
from aircraft_module import handle_aircraft_command
async def get_voice_input():
return await asyncio.to_thread(record_voice)
async def ai_loop(player):
while True:
user_text = await get_voice_input()
if not user_text:
continue
handled = handle_aircraft_command(user_text, player)
if handled:
continue
response = get_response(user_text)
print("AI:", response)
edge_speak(response, player)
player.write_log(f"You: {user_text}")
player.write_log(f"AI: {response}")
def main_loop():
player = VoiceImagePlayer("face.png", size=(900, 900))
def thread_target():
asyncio.run(ai_loop(player))
threading.Thread(target=thread_target, daemon=True).start()
player.root.mainloop()
if __name__ == "__main__":
main_loop()