RealtimeVoiceChat: app de chat de voz con IA con respuestas de voz en tiempo real 65

小编 ·

RealtimeVoiceChat: app de chat de voz con IA con respuestas de voz en tiempo real

RealtimeVoiceChat es un proyecto de código abierto que te permite hablar con un sistema de IA por voz y recibir respuestas habladas en tiempo real. Envía fragmentos de audio por la red, transcribe la voz a texto para que la IA lo procese y vuelve a convertir la respuesta en voz. Admite varios backends de IA (Ollama por defecto, también OpenAI) y permite elegir el estilo de voz con flexibilidad. Con una arquitectura cliente-servidor optimizada para baja latencia, detecta inteligentemente los turnos de habla para una conversación más fluida. Se recomienda Docker para el despliegue, especialmente con GPUs NVIDIA compatibles con CUDA.

RealtimeVoiceChat: app de chat de voz con IA con respuestas de voz en tiempo real

¿Qué es RealtimeVoiceChat?

RealtimeVoiceChat es un proyecto de código abierto que te permite chatear con un sistema inteligente usando voz y recibir respuestas de voz en tiempo real. Funciona transmitiendo fragmentos de audio a través de la red, convirtiendo la voz en texto, procesándolo con el sistema inteligente y volviendo a convertir el texto en voz. El proyecto es compatible con varios sistemas inteligentes (por defecto usa Ollama, pero también puede usar Openai) y permite elegir de forma flexible el estilo de voz. Utiliza una arquitectura cliente-servidor optimizada para baja latencia, detecta inteligentemente los turnos de conversación y hace que el chat sea más fluido. Se recomienda usar Docker para el despliegue, y el rendimiento será mejor si dispones de una GPU NVIDIA compatible con CUDA.

RealtimeVoiceChat: aplicación de chat de voz con IA en tiempo real con respuestas de voz instantáneas.webp

Funciones principales de RealtimeVoiceChat

  • Interacción de voz en streaming: la voz del usuario es capturada por el navegador, transmitida al backend de Python mediante WebSockets, transcrita a texto en tiempo real, enviada al LLM para su procesamiento y, a continuación, la respuesta en texto se convierte en voz y se devuelve al usuario en streaming.

  • Diseño de baja latencia: arquitectura optimizada mediante la transmisión en streaming de bloques de audio para garantizar una conversación fluida.

  • Detección inteligente de turnos: detección dinámica de silencios que cambia automáticamente el turno de habla según el ritmo de la conversación.

  • Backend de IA flexible: compatible con varios backends de LLM (por defecto Ollama, también compatible con OpenAI).

  • Voz personalizable: puedes elegir distintos motores de texto a voz (como Kokoro, Coqui, Orpheus).

  • Interfaz web sencilla: interfaz de usuario sencilla construida con Vanilla JS y la Web Audio API.

  • Despliegue con Docker: se recomienda usar Docker Compose para el despliegue y facilitar la gestión de dependencias.

Características de RealtimeVoiceChat

  • Interacción en tiempo real: los usuarios pueden mantener conversaciones con la IA usando la voz, y la IA también responde en tiempo real en forma de voz.

  • Colaboración entre múltiples componentes: el proyecto incluye el procesamiento de audio en el frontend y la interacción con la interfaz de usuario, además de la transcripción de voz, el procesamiento de texto y la síntesis de voz en el backend.

  • Configurabilidad: compatible con varios motores TTS y modelos LLM, y se puede configurar mediante variables de entorno.

Stack tecnológico

  • Backend: Python 3.x, FastAPI

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

  • Comunicación: WebSockets

  • Contenedorización: Docker, Docker Compose

  • Bibliotecas principales de IA/ML: RealtimeSTT (voz a texto), RealtimeTTS (texto a voz), transformers (detección de turnos, tokenización), torch/torchaudio (framework de machine learning), ollama/openai (clientes LLM)

  • Procesamiento de audio: numpy, scipy

Instalación y despliegue

Instalación con Docker (recomendada)

  1. Clona el proyecto y entra en el directorio.

  2. Construye la imagen de Docker (descargará la imagen base, instalará las dependencias de Python/ML y pre-descargará el modelo STT por defecto).

  3. Inicia los servicios (App y Ollama).

  4. Descarga los modelos de Ollama necesarios.

  5. Accede a través del navegador a http://localhost:8000 y comienza a chatear por voz.

Instalación manual

  1. Crea y activa un entorno virtual de Python.

  2. Instala PyTorch (según la configuración de tu hardware).

  3. Instala el resto de dependencias (requirements.txt).

  4. Inicia el servidor FastAPI.

  5. Accede a través del navegador a http://localhost:8000 y comienza a chatear por voz.

Configuración y personalización

  • Motor y voz de TTS: se configuran en server.py y audio_module.py.

  • Backend y modelo de LLM: se configuran en server.py y llm_module.py.

  • Ajustes de STT: se configuran en transcribe.py.

  • Sensibilidad de la detección de turnos: se configura en turndetect.py.

  • SSL/HTTPS: se configura en server.py.

Dirección del proyecto

Repositorio en GitHub:https://github.com/KoljaB/RealtimeVoiceChat