AI Personal Learning
und praktische Anleitung
TRAE

RealtimeVoiceChat: natürlich gesprochener Dialog mit niedriger Latenz und KI

Allgemeine Einführung

RealtimeVoiceChat ist ein Open-Source-Projekt, das sich auf natürliche Echtzeitgespräche mit künstlicher Intelligenz über Sprache konzentriert. Benutzer verwenden das Mikrofon zur Spracheingabe, das System erfasst das Audio über den Browser, schnell in Text umgewandelt, ein großes Sprachmodell (LLM), um eine Antwort zu generieren, und dann den Text in Sprachausgabe konvertieren, ist der gesamte Prozess in der Nähe von Echtzeit. Das Projekt verwendet eine Client-Server-Architektur mit dem Schwerpunkt auf niedriger Latenz und unterstützt WebSocket-Streaming und dynamisches Dialogmanagement. Es bietet Docker-Bereitstellung, wird empfohlen, auf Linux-Systemen und NVIDIA GPU-Umgebungen zu laufen, und integriert RealtimeSTT, RealtimeTTS und Ollama und andere Technologien, die für Entwickler geeignet sind, um Sprachinteraktionsanwendungen zu erstellen.

RealtimeVoiceChat: natürlich gesprochener Dialog mit niedriger Latenzzeit und AI-1


 

Funktionsliste

  • Sprachinteraktion in EchtzeitBenutzer geben ihre Stimme über das Browsermikrofon ein, und das System transkribiert und generiert eine Sprachantwort in Echtzeit.
  • Verarbeitung mit geringer LatenzzeitOptimierung der Latenzzeit von Sprache-zu-Text und Text-zu-Sprache auf 0,5-1 Sekunden durch Audio-Streaming über WebSocket.
  • Sprache zu Text (STT)Schnelles Umwandeln von Sprache in Text mit RealtimeSTT (basierend auf Whisper), mit Unterstützung für dynamische Transkription.
  • Text-to-Speech (TTS)Generieren Sie natürliche Sprache über RealtimeTTS (Coqui, Kokoro, Orpheus unterstützt) mit einer Auswahl an Sprachstilen.
  • Intelligentes DialogmanagementIntegration von Sprachmodellen von Ollama oder OpenAI zur Unterstützung einer flexiblen Dialoggenerierung und Unterbrechungsbehandlung.
  • Dynamische Spracherkennung: durch turndetect.py Ermöglicht eine intelligente Stilleerkennung und passt sich dem Rhythmus des Dialogs an.
  • WebschnittstelleBietet eine saubere Browser-Schnittstelle, verwendet Vanilla JS und die Web Audio API und unterstützt Echtzeit-Feedback.
  • Docker-BereitstellungVereinfachte Installation mit Docker Compose, Unterstützung für GPU-Beschleunigung und Modellverwaltung.
  • Modell-AnpassungUnterstützung für den Wechsel zwischen STT-, TTS- und LLM-Modellen zur Anpassung von Sprach- und Dialogparametern.
  • quelloffen und erweiterbarDer Code ist öffentlich zugänglich, und es steht Entwicklern frei, die Funktionen zu ändern oder zu erweitern.

 

Hilfe verwenden

Einbauverfahren

RealtimeVoiceChat unterstützt sowohl die Docker-Bereitstellung (empfohlen) als auch die manuelle Installation; Docker für Linux-Systeme, insbesondere mit NVIDIA-GPUs, und die manuelle Installation für Windows oder Szenarien, in denen mehr Kontrolle erforderlich ist. Im Folgenden finden Sie die detaillierten Schritte:

Docker-Bereitstellung (empfohlen)

Erfordert Docker Engine, Docker Compose v2+ und NVIDIA Container Toolkit (GPU-Benutzer). Linux-Systeme werden für eine optimale GPU-Unterstützung empfohlen.

  1. Klon-Lager::
    git clone https://github.com/KoljaB/RealtimeVoiceChat.git
    cd RealtimeVoiceChat
  1. Erstellen eines Docker-Images::
    docker compose build
    

    Dieser Schritt lädt das Basis-Image herunter, installiert Python und die Abhängigkeiten für maschinelles Lernen und lädt die Standard-STT-Modelle (Whisper base.en). Es dauert sehr lange, also stellen Sie bitte sicher, dass Ihr Netzwerk stabil ist.

  2. Neue Dienste::
    docker compose up -d
    

    Starten Sie die Anwendung und den Ollama-Dienst, wobei der Container im Hintergrund läuft. Warten Sie etwa 1-2 Minuten, bis die Initialisierung abgeschlossen ist.

  3. Ollama-Modell ziehen::
    docker compose exec ollama ollama pull hf.co/bartowski/huihui-ai_Mistral-Small-24B-Instruct-2501-abliterated-GGUF:Q4_K_M
    

    Dieser Befehl ruft das Standard-Sprachmodell auf. Die Benutzer finden das Standard-Sprachmodell in der Datei code/server.py Änderung LLM_START_MODEL andere Modelle zu verwenden.

  4. Validierung der Modellverwendbarkeit::
    docker compose exec ollama ollama list
    

    Stellen Sie sicher, dass das Modell korrekt geladen ist.

  5. Anhalten oder Neustart des Dienstes::
    docker compose down  # 停止服务
    docker compose up -d  # 重启服务
    
  6. Ansicht Log::
    docker compose logs -f app  # 查看应用日志
    docker compose logs -f ollama  # 查看 Ollama 日志
    

Manuelle Installation (Windows/Linux/macOS)

Die manuelle Installation erfordert Python 3.9+, CUDA 12.1 (GPU-Benutzer) und FFmpeg. Windows-Benutzer können das mitgelieferte install.bat Skripte vereinfachen den Prozess.

  1. Installation der grundlegenden Abhängigkeiten::
    • Stellen Sie sicher, dass Python 3.9+ installiert ist.
    • GPU-Benutzer installieren NVIDIA CUDA Toolkit 12.1 und cuDNN.
    • FFmpeg installieren:
      # Ubuntu/Debian
      sudo apt update && sudo apt install ffmpeg
      # Windows (使用 Chocolatey)
      choco install ffmpeg
      
  2. Klonen Sie das Repository und erstellen Sie eine virtuelle Umgebung::
    git clone https://github.com/KoljaB/RealtimeVoiceChat.git
    cd RealtimeVoiceChat
    python -m venv venv
    # Linux/macOS
    source venv/bin/activate
    # Windows
    .\venv\Scripts\activate
    
  3. Installation von PyTorch (passende Hardware)::
    • GPU (CUDA 12.1):
      pip install torch==2.5.1+cu121 torchaudio==2.5.1+cu121 torchvision --index-url https://download.pytorch.org/whl/cu121
      
    • CPU (langsamere Leistung):
      pip install torch torchaudio torchvision
      
  4. Installieren zusätzlicher Abhängigkeiten::
    cd code
    pip install -r requirements.txt
    

    Hinweis: Die Installation von DeepSpeed kann kompliziert sein. Windows-Benutzer können DeepSpeed über die install.bat Automatische Verarbeitung.

  5. Ollama installieren (Nicht-Docker-Benutzer)::
    • Informationen zur Installation finden Sie in der offiziellen Ollama-Dokumentation.
    • Ziehen Sie das Modell:
      ollama pull hf.co/bartowski/huihui-ai_Mistral-Small-24B-Instruct-2501-abliterated-GGUF:Q4_K_M
      
  6. Ausführen der Anwendung::
    python server.py
    

caveat

  • Hardware-VoraussetzungNVIDIA-Grafikprozessoren (mindestens 8 GB RAM) werden empfohlen, um niedrige Latenzzeiten zu gewährleisten; CPU-Betrieb kann zu erheblichen Leistungseinbußen führen.
  • Docker-KonfigurationModifikation code/*.py vielleicht docker-compose.yml Bevor Sie dies tun, müssen Sie erneut die docker compose build.
  • Einhaltung der LizenzenDie TTS-Engine (z.B. Coqui XTTSv2) und das LLM-Modell haben separate Lizenzen und unterliegen deren Bedingungen.

Arbeitsablauf

  1. Zugriff auf die Webschnittstelle::
    • Öffnen Sie Ihren Browser und besuchen Sie http://localhost:8000(oder Remote-Server-IP).
    • Gewähren Sie Mikrofonrechte und klicken Sie auf "Start", um das Gespräch zu beginnen.
  2. Sprachinteraktion::
    • Sprechen Sie in das Mikrofon, und das System nimmt den Ton über die Web Audio API auf.
    • Die Audiodaten werden per WebSocket an das Backend übertragen, RealtimeSTT wird in Text umgewandelt, Ollama/OpenAI erzeugt eine Antwort, und RealtimeTTS wird in Sprache umgewandelt und über den Browser abgespielt.
    • Die Verzögerung des Dialogs beträgt in der Regel 0,5-1 Sekunden, wobei die Unterbrechung und Fortsetzung jederzeit möglich ist.
  3. Feedback in Echtzeit::
    • Die Schnittstelle zeigt teilweise transkribierten Text und KI-Antworten an, so dass es für die Nutzer einfach ist, dem Dialog zu folgen.
    • Sie können auf "Stopp" klicken, um den Dialog zu beenden, und auf "Zurücksetzen", um den Verlauf zu löschen.
  4. Anpassungen der Konfiguration::
    • TTS-Motor: in code/server.py aufstellen START_ENGINE(z.B.. coquiundkokoroundorpheus), um den Sprachstil anzupassen.
    • LLM-ModellModifikation LLM_START_PROVIDER im Gesang antworten LLM_START_MODELIm Folgenden sind einige der beliebtesten Funktionen von Ollama aufgeführt
    • STT-Parameter: in code/transcribe.py Mittelbühnenverstellung Flüstern Schwellenwerte für Modellierung, Sprache oder Schweigen.
    • Erkennung von Stille: in code/turndetect.py Änderung silence_limit_seconds(Standardwert 0,2 Sekunden), um das Dialogtempo zu optimieren.
  5. Fehlersuche und Optimierung::
    • Logbuch ansehen:docker compose logs -f(Docker) oder schauen Sie sich einfach die server.py Ausgabe.
    • Leistungsprobleme: Sicherstellung der CUDA-Versionsanpassung, Reduzierung realtime_batch_size Oder verwenden Sie ein leichtes Modell.
    • Netzwerkkonfiguration: Wenn HTTPS erforderlich ist, setzen Sie die USE_SSL = True und geben Sie den Zertifikatspfad an (siehe die offizielle SSL-Konfiguration).

Featured Function Bedienung

  • Streaming-Verarbeitung mit niedriger LatenzAudio Chunking über WebSocket, kombiniert mit RealtimeSTT und RealtimeTTS, mit einer Latenz von nur 0,5 Sekunden. Benutzer können reibungslose Gespräche ohne Wartezeiten führen.
  • Dynamisches Dialogmanagement::turndetect.py Erkennt auf intelligente Weise das Ende von Sprache und unterstützt natürliche Unterbrechungen. Der Benutzer kann beispielsweise jederzeit unterbrechen, und das System macht eine Pause, um neue Eingaben zu generieren und zu verarbeiten.
  • Interaktion mit der WebschnittstelleDie Browserschnittstelle verwendet Vanilla JS und die Web Audio API, um die Transkription und die Anzeige der Antworten in Echtzeit zu ermöglichen. Die Benutzer können den Dialog mit den Schaltflächen "Start/Stop/Reset" steuern.
  • Flexibilität bei der ModellierungUnterstützung für den Wechsel von TTS-Engines (Coqui/Kokoro/Orpheus) und LLM-Backends (Ollama/OpenAI). Zum Beispiel, TTS wechseln:
    START_ENGINE = "kokoro"  # 在 code/server.py 中修改
    
  • Docker-VerwaltungDer Dienst wird über Docker Compose verwaltet, und es ist lediglich eine Aktualisierung des Modells erforderlich:
    docker compose exec ollama ollama pull <new_model>
    

 

Anwendungsszenario

  1. AI Voice Interaction Forschung
    Entwickler können die Integration von RealtimeSTT, RealtimeTTS und LLM testen, um optimierte Lösungen für Sprachinteraktion mit niedriger Latenz zu erforschen. Der Open-Source-Code unterstützt benutzerdefinierte Parameter und ist für die akademische Forschung geeignet.
  2. Prototyp eines intelligenten Kundendienstes
    Unternehmen können auf der Grundlage des Projekts sprachgesteuerte Kundenservicesysteme entwickeln. Die Nutzer stellen Fragen per Sprache, und das System beantwortet gängige Fragen in Echtzeit, z. B. technische Unterstützung oder Produktberatung.
  3. Tools zum Sprachenlernen
    Bildungseinrichtungen können die mehrsprachige TTS-Funktionalität nutzen, um Tools für den Sprachdialog zu entwickeln. Die Schüler führen einen Dialog mit der KI, um die Aussprache und Konversation zu üben, und das System gibt Echtzeit-Feedback.
  4. Persönliche Sprachassistenten
    Technologiebegeisterte können Projekte einrichten, um die natürliche Sprachinteraktion mit KI zu erleben und einen intelligenten Assistenten zu simulieren, zur persönlichen Unterhaltung oder für kleine Projekte.

 

QA

  1. Welche Hardware-Unterstützung ist erforderlich?
    Empfohlenes Linux-System mit NVIDIA-GPU (mindestens 8 GB Videospeicher) und CUDA 12.1. CPU läuft machbar, aber mit hoher Latenz. Mindestanforderungen: Python 3.9+, 8 GB RAM.
  2. Wie lösen Sie Probleme bei der Docker-Bereitstellung?
    Stellen Sie sicher, dass Docker, Docker Compose und NVIDIA Container Toolkit korrekt installiert sind. Prüfen Sie docker-compose.yml der GPU-Konfiguration, um die Protokolle anzuzeigen:docker compose logs -f.
  3. Wie kann ich zwischen Stimme und Modell wechseln?
    Änderungen code/server.py den Nagel auf den Kopf treffen START_ENGINE(TTS) oder LLM_START_MODEL(LLM). Der Docker-Benutzer muss das Modell erneut abrufen:docker compose exec ollama ollama pull <model>.
  4. Welche Sprachen werden unterstützt?
    RealtimeTTS unterstützt mehrere Sprachen (z. B. Englisch, Chinesisch, Japanisch), die in der Datei code/audio_module.py Geben Sie das Sprach- und Sprechmodell in der
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " RealtimeVoiceChat: natürlich gesprochener Dialog mit niedriger Latenz und KI
de_DEDeutsch