Engineering / 04
How the system earns its speed.
This case study follows the implemented VoxBento paths: low-latency media transport, asynchronous coordination, and processing for captions and multilingual output.
Architecture
FastAPI coordinates state and workers; MediaMTX carries the real-time media stream; self-hosted Jitsi monitors the floor.
02Real-Time Audio Pipeline
Interpreter microphone to WHIP, MediaMTX to WHEP listener playback, with RTSP available to processing workers.
03Distributed Processing
Async FastAPI routes, SQLAlchemy sessions, workers, and WebSocket channels keep coordination separate from media transport.
04Speech-to-Text
A worker reads the RTSP stream through FFmpeg and supports local Whisper alongside configured cloud transcription providers.
05Translation
Final transcript segments are stored, translated through configured provider backends, and broadcast to connected clients.
06Text-to-Speech
Translation segments can be buffered at punctuation, synthesized by a configured TTS provider, and scheduled for browser playback.
07Synchronization
Listener playback uses browser scheduling and configurable audio delay, with reconnection and HLS fallback for resilience.
08State Coordination
BoothRegistry and per-booth asyncio locks manage transient state; SQLite or PostgreSQL persists events, roles, booths, transcripts, and webhook delivery records.
09Infrastructure
Docker Compose combines the portal, MediaMTX, floor bot, and self-hosted Jitsi services for reproducible deployment.
010Technical Decisions
Keep Python out of the direct audio path; use MediaMTX for WebRTC media transport and FastAPI for stateful application coordination.
011Challenges
The system must balance real-time delivery, browser interoperability, role-aware control, and recoverable operation across multiple services.