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.

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)
Clona el proyecto y entra en el directorio.
Construye la imagen de Docker (descargará la imagen base, instalará las dependencias de Python/ML y pre-descargará el modelo STT por defecto).
Inicia los servicios (App y Ollama).
Descarga los modelos de Ollama necesarios.
Accede a través del navegador a http://localhost:8000 y comienza a chatear por voz.
Instalación manual
Crea y activa un entorno virtual de Python.
Instala PyTorch (según la configuración de tu hardware).
Instala el resto de dependencias (requirements.txt).
Inicia el servidor FastAPI.
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
Asistente de guiones▸
Apps AI
Noticias AI 