diff --git a/nora_chat.py b/nora_chat.py deleted file mode 100644 index 3456ebc..0000000 --- a/nora_chat.py +++ /dev/null @@ -1,136 +0,0 @@ -import asyncio -import os -import time -import traceback - -from edge_tts import Communicate - -from agent import Agent -from util.logger import get_logger - - -logger = get_logger("NORA CHAT") - - -# ========================= -# CONFIG -# ========================= - -TTS_VOICE = "de-DE-AmalaNeural" - - -# ========================= -# CHAT ASSISTANT -# ========================= - -class NoraChat: - - def __init__(self): - logger.info("Initialisiere N.O.R.A Chat...") - - self.agent = Agent() - self.running = True - - logger.info("N.O.R.A Chat bereit ✔") - - - # ========================= - # MAIN LOOP - # ========================= - - async def run(self): - - logger.info("Starte Chat-Modus") - - while self.running: - - try: - user_input = input("\nDu: ") - - if user_input.lower() in [ - "exit", - "quit", - "stop", - "beenden" - ]: - logger.info("Beende NORA") - break - - - if not user_input.strip(): - continue - - - logger.info(f"USER: {user_input}") - - - # Agent Anfrage - response = await self.agent.run(user_input) - - - logger.info(f"NORA: {response}") - - print(f"\nNORA: {response}") - - - # Sprach-Ausgabe - await self.speak(response) - - - except KeyboardInterrupt: - break - - except Exception: - logger.error(traceback.format_exc()) - - - # ========================= - # TTS - # ========================= - - async def speak(self, text): - - try: - - filename = f"response_{int(time.time())}.mp3" - - - tts = Communicate( - text, - voice=TTS_VOICE - ) - - - await tts.save(filename) - - - # Ausgabe über Standard-Audio - os.system( - f"mpg123 -q {filename}" - ) - - - os.remove(filename) - - - except Exception: - - logger.error("TTS Fehler") - logger.error(traceback.format_exc()) - - - -# ========================= -# MAIN -# ========================= - -async def main(): - - nora = NoraChat() - - await nora.run() - - - -if __name__ == "__main__": - asyncio.run(main()) \ No newline at end of file