How vladimirfokow/transept works
Transept captures meeting audio, turns recognition fragments into sentence-sized captions, translates for languages people are actively reading, and streams each language to phones. The principal runtime is server.py in self-hosted mode; hosted mode moves capture to sender.py and sends audio to that same server. Recording and offline translation review are separate quality-improvement capabilities. The README and sampled excerpts support the main boundaries; some internal wiring is not shown, so uncertain links are omitted.
Main entry points: pipeline.py Speech pipeline · server.py Session server · record.py Session recorder · capture.py Capture backends
Components 18
Audio capture
- Capture backends
capture.py - Hosted room sender
sender.py
Recognition and translation
- Speech pipeline
pipeline.py - Deepgram
- Translation provider
Controls and delivery
- Session server
server.py - Operator page
static/operator.html - Operator routes
controls.py - Reader page
static/reader.html - Language streams
server.py - Tailscale Funnel
Recording and review
- Session recorder
record.py - Session database
record.py - Review document
record.py - Offline translation review
review.py
Other components
- Operator
- Microphone
- Phone readers
Connections 20
- Microphone → Capture backends: provides audio
- Capture backends → Speech pipeline: streams audio
- Speech pipeline → Deepgram: sends audio
- Deepgram → Speech pipeline: returns fragments
- Speech pipeline → Translation provider: requests translations
- Translation provider → Speech pipeline: returns translations
- Operator → Operator page: uses
- Operator page → Operator routes: calls routes
- Operator routes → Session server: controls session
- Session server → Speech pipeline: runs pipeline
- Speech pipeline → Language streams: publishes captions
- Language streams → Reader page: streams language
- Reader page → Phone readers: displays captions
- Session server → Session recorder: records session
- Session recorder → Session database: writes session
- Session recorder → Review document: generates review
- Offline translation review → Translation provider: requests translations
- Hosted room sender → Capture backends: opens audio source
- Hosted room sender → Session server: sends audio and controls
- Tailscale Funnel → Session server: publishes reader access