How fossasia/voxbento works
VoxBento is a browser-first live interpretation and audio-broadcast platform. Event organizers configure rooms and language booths; interpreters publish audio, attendees listen, and optional AI services generate captions, translations, and speech. The README describes media flowing through MediaMTX rather than Python, with FastAPI handling coordination. The graph preserves documented product capabilities and source-index-supported connections; unsampled modules are represented at their exact paths, and uncertain wiring is omitted.
Main entry points: program_ingest.py Program ingest control · worker.py Transcription workers · aggregator.py Translation aggregation · database.py Portal database
Components 23
Portal and access
- FastAPI application
fastapi_app.py - Authentication routes
portal/routers/auth.py - Authentication and roles
portal/auth.py
Event operations
- Event and room operations
portal/routers/admin.py - Portal database
portal/database.py - Interpreter booth
portal/static/js/interpreter-booth.js - Booth identity
portal/booth_identity.py
Live media
- Program ingest UI
portal/static/js/program-ingest.js - Ingest routes
portal/routers/program_ingest.py - Program ingest control
portal/program_ingest.py - MediaMTX
- Listener playback
portal/static/js/listener-event.js - YouTube relay
portal/program_relay.py
AI services
- Transcription workers
portal/transcription/worker.py - Speech providers
portal/transcription/providers/base.py - Translation aggregation
portal/transcription/aggregator.py - Speech synthesis
portal/tts/worker.py
Coordination
- WebSocket coordination
portal/websockets/manager.py - WebSocket handlers
portal/websockets/handlers.py - Webhook delivery
portal/webhooks/worker.py
Other components
- Event organizer
- Interpreter
- Attendee
Connections 24
- Event organizer → FastAPI application: configures event
README.md - Interpreter → Interpreter booth: publishes audio
README.md - Attendee → Listener playback: plays audio
README.md - FastAPI application → Authentication routes: registers routes
fastapi_app.py - Authentication routes → Authentication and roles: authenticates
portal/routers/auth.py - Event and room operations → Authentication and roles: checks access
- Event and room operations → Portal database: reads and writes
- Ingest routes → Program ingest control: dispatches changes
portal/routers/program_ingest.py - Program ingest control → MediaMTX: controls paths
portal/program_ingest.py - Program ingest UI → Ingest routes: requests ingest
- Program ingest control → Portal database: updates state
portal/program_ingest.py - MediaMTX → Attendee: streams audio
README.md - MediaMTX → Transcription workers: supplies floor audio
README.md - Transcription workers → Speech providers: selects provider
portal/transcription/worker.py - Speech providers → Translation aggregation: submits text
portal/transcription/providers/base.py - Translation aggregation → Attendee: delivers captions
- Translation aggregation → Speech synthesis: synthesizes speech
- Speech synthesis → Attendee: streams speech
README.md - WebSocket handlers → WebSocket coordination: manages connections
portal/websockets/handlers.py - WebSocket coordination → Interpreter: coordinates booth
README.md - Transcription workers → Webhook delivery: queues events
portal/transcription/worker.py - Webhook delivery → Portal database: loads deliveries
portal/webhooks/worker.py - Program ingest control → YouTube relay: configures relay
portal/program_ingest.py - YouTube relay → MediaMTX: forwards stream