From ea8c666c3d932e7b6c606d5b80ebd0fbae524c0d Mon Sep 17 00:00:00 2001 From: Till Immer Date: Tue, 7 Jul 2026 10:02:01 +0000 Subject: [PATCH] =?UTF-8?q?nora=5Fchat.py=20gel=C3=B6scht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nora_chat.py | 136 --------------------------------------------------- 1 file changed, 136 deletions(-) delete mode 100644 nora_chat.py 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