01 / Publish
Interpreter microphone
The interpreter booth creates a browserRTCPeerConnection, adds the microphone track, and publishes through WebRTC/WHIP.Project / 01
VoxBento is a browser-first, low-latency interpretation platform for virtual and hybrid events. It gives interpreters, listeners, organizers, and speech-processing services distinct jobs instead of asking one application to carry the whole event.
The problem
Traditional interpretation setups depend on dedicated booths, specialist hardware, and difficult media routing. VoxBento moves the interpreter booth and listener experience into the browser, while preserving a direct media path built for responsive audio.
The design goal
Architecture
Live audio path
Interpretation pipeline
Pipeline / interpreter to listener
01 / Publish
RTCPeerConnection, adds the microphone track, and publishes through WebRTC/WHIP.02 / Transport
03 / Listen
Speech pipeline
STT / continuous
Translate / on demand
TTS / on demand
Speech-to-text
VoxBento supports local faster-whisper and configured cloud providers including OpenAI, Deepgram, NVIDIA Riva, and ElevenLabs. Deepgram follows a streaming path; local and other chunk-oriented providers process short audio chunks. The worker keeps per-booth session state, tracks gaps and latency, retries connection failures with exponential backoff, and broadcasts captions over WebSocket.
Text-to-speech
The TTS worker synthesizes translated floor content with Deepgram Aura or the local Supertonic ONNX provider. Both normalize output as 24 kHz mono PCM. TTS is server-side and on demand, not a continuously running process; each translated segment is synthesized and delivered with its text metadata for synchronized client playback.
Translation
Partial transcription is useful for immediate captions. Finalized segments become durable records and the trigger for translation. If the source language matches a target language, VoxBento bypasses translation and broadcasts immediately.
Configured provider backends include OpenAI, Anthropic, Gemini, OpenRouter, and a local fallback. Per-language semaphores limit concurrent translation requests so a busy room does not overwhelm a provider.
Coordination and reliability
Transient state
asyncio.Lock instances.Durable state
Handoff
Redis is not part of the VoxBento architecture. In-process coordination and database-backed durable records avoid an unnecessary cache or queue dependency for the current single-instance design.
Access and operations
JWT-backed roles distinguish super admins, event admins, coordinators, interpreters, and listeners. Permissions are checked in routes and WebSockets; only authorized roles can control active interpreters or mutate booth state. Single-use invite tokens provide time-bounded booth access.
Docker Compose brings together the FastAPI portal, MediaMTX, an optional Chromium floor bot, and the self-hosted Jitsi services. API keys are encrypted at rest with Fernet, and Alembic migrations initialize persistent schema changes.
Future scope / personalization
Today, transcript and translation state is scoped to events, rooms, and booths. A future personalization layer could let a listener save preferred languages, choose a supported TTS voice, control caption appearance, and manage transcript download or sharing preferences.
The natural implementation is a separate user-preference record and API surface, linked to the existing user and event-membership model. It should not alter the canonical transcript: personal display, language, and voice choices belong at the edge, while the source record remains attributable and auditable.
Work across FOSSASIA
01 / VoxBento
02 / Eventyay Business
03 / Eventyay Core
04 / Star-Me
Technology map