CLI en C++ para traducción de voz en tiempo real en Linux, con salida a micrófono virtual y altavoz virtual.
Base de proyecto creada con arquitectura modular y sesión persistente simulada (event-driven).
Módulos actuales:
cli: parseo de flags de consola.virtual_devices: preparación de micrófono/altavoz virtuales (stub).event_dispatcher: enrutamiento de eventos cliente/servidor.realtime_client: máquina de estados y loop de sesión viva.audio_pipeline: hilos de captura/salida desacoplados.translation_orchestrator: coordinación del ciclo de vida.
- Linux
- CMake >= 3.20
- Compilador C++20 (g++/clang++)
OPENAI_API_KEYen entorno
export OPENAI_API_KEY="tu_api_key"
cmake -S . -B build
cmake --build build -j
./build/translatia \
--input-lang es \
--output-lang en \
--input-device default \
--virtual-mic-name translatia-virtual-mic \
--virtual-speaker-name translatia-virtual-speakerAl ejecutar, el proceso mantiene una sesión viva y muestra eventos en streaming.
Pulsa ENTER para detener.
- Captura real de audio PCM en streaming (PipeWire/PulseAudio).
- Conexión real con OpenAI Realtime API para traducción y TTS.
- Creación/gestión de dispositivos virtuales Linux (source + sink).
- Bucle de baja latencia: captura -> realtime session -> reproducción/ruteo.
- Manejo de reconexión, jitter buffer y control start/pause/stop.