RealtimeVoiceChat : application de chat vocal IA avec réponses vocales en temps réel 72

小编 ·

RealtimeVoiceChat : application de chat vocal IA avec réponses vocales en temps réel

RealtimeVoiceChat est un projet open source qui permet de discuter avec une IA à la voix et de recevoir des réponses vocales en temps réel. Il transmet des chunks audio sur le réseau, transcrit la parole en texte pour traitement par l'IA, puis resynthétise la réponse en voix. Il prend en charge plusieurs backends IA (Ollama par défaut, ainsi qu'OpenAI) et offre un choix flexible de styles vocaux. Son architecture client-serveur optimisée pour la faible latence détecte intelligemment les tours de parole pour des échanges plus fluides. Docker est recommandé pour le déploiement, en particulier sur GPU NVIDIA compatible CUDA.

RealtimeVoiceChat : application de chat vocal IA avec réponses vocales en temps réel

Qu'est-ce que RealtimeVoiceChat ?

RealtimeVoiceChat est un projet open source qui vous permet de discuter avec un système intelligent par la voix, et de recevoir des réponses vocales en temps réel. Il transmet des fragments audio via le réseau, convertit la voix en texte, fait traiter le texte par le système intelligent, puis reconvertit le texte en voix. Ce projet prend en charge plusieurs systèmes intelligents (Ollama par défaut, Openai également compatible) et permet de choisir灵活 le style vocal. Il adopte une architecture client-serveur, optimise la faible latence et détecte intelligemment les tours de conversation pour des échanges plus fluides. Il est recommandé de déployer avec Docker ; les performances seront meilleures avec un GPU NVIDIA compatible CUDA.

RealtimeVoiceChat : application de chat vocal IA en temps réel avec réponses vocales en temps réel.webp

Fonctionnalités principales de RealtimeVoiceChat

  • Interaction vocale en streaming : la voix de l'utilisateur est capturée par le navigateur, transmise au backend Python via WebSockets, transcrite en texte en temps réel, envoyée au LLM pour traitement, puis la réponse textuelle est convertie en flux vocal renvoyé à l'utilisateur.

  • Conception à faible latence : architecture optimisée grâce au streaming de blocs audio, garantissant une conversation fluide.

  • Détection intelligente des tours : détection dynamique du silence, basculement automatique du temps de parole selon le rythme de la conversation.

  • Backend IA flexible : prise en charge de plusieurs backends LLM (Ollama par défaut, OpenAI également compatible).

  • Voix personnalisables : possibilité de choisir différents moteurs de synthèse vocale (comme Kokoro, Coqui, Orpheus).

  • Interface web épurée : interface utilisateur simple construite avec Vanilla JS et l'API Web Audio.

  • Déploiement conteneurisé : il est recommandé d'utiliser Docker Compose pour le déploiement, facilitant la gestion des dépendances.

Caractéristiques de RealtimeVoiceChat

  • Interaction en temps réel : les utilisateurs peuvent converser avec l'IA par la voix, et l'IA répond également en temps réel sous forme vocale.

  • Collaboration multi-composants : le projet inclut le traitement audio et l'interaction UI côté前端, ainsi que la transcription vocale, le traitement de texte et la synthèse vocale côté backend.

  • Configurabilité : prise en charge de plusieurs moteurs TTS et modèles LLM, configurables via des variables d'environnement.

Stack technique

  • Backend : Python 3.x, FastAPI

  • 前端 : HTML, CSS, JavaScript (Vanilla JS, Web Audio API, AudioWorklets)

  • <
  • Communication : WebSockets

  • Conteneurisation : Docker, Docker Compose

  • Bibliothèques IA/ML principales : RealtimeSTT (语音转文本), RealtimeTTS(文本转语音)、transformers (détection des tours, tokenisation), torch/torchaudio (framework de machine learning), ollama/openai (clients LLM)

  • Traitement audio : numpy, scipy

Installation et déploiement

Installation via Docker (recommandé)

  1. Clonez le projet et accédez au répertoire.

  2. Construisez l'image Docker (télécharge l'image de base, installe les dépendances Python/ML et pré-télécharge le modèle STT par défaut).

  3. Démarrez les services (App et Ollama).

  4. Tirez (pull) le modèle Ollama requis.

  5. Accédez à http://localhost:8000 via le navigateur pour commencer le chat vocal.

Installation manuelle

  1. Créez et activez un environnement virtuel Python.

  2. Installez PyTorch (selon la configuration matérielle).

  3. Installez les autres dépendances (requirements.txt).

  4. Démarrez le serveur FastAPI.

  5. Accédez à http://localhost:8000 via le navigateur pour commencer le chat vocal.

Configuration et personnalisation

  • Moteur TTS et voix : configurés dans server.py et audio_module.py.

  • Backend LLM et modèle : configurés dans server.py et llm_module.py.

  • Paramètres STT : configurés dans transcribe.py.

  • Sensibilité de la détection des tours : configurée dans turndetect.py.

  • SSL/HTTPS : configuré dans server.py.

Adresse du projet

Dépôt GitHub :https://github.com/KoljaB/RealtimeVoiceChat