Reference build of Trippi's browser-audio-capture pipeline: MV3 tabCapture -> offscreen AudioWorklet -> Deepgram STT -> DeepL MT, live translated captions on Meet/Zoom/Teams. No backend, no account -- bring your own API keys.
0
stars
2
commits
JavaScript
primary language
Aug 28, 2026
updated

Real-time translated live captions on top of Google Meet, Zoom, and Microsoft Teams calls — the original speech on top, the translation underneath, with per-speaker attribution. No Google Workspace or Teams Premium plan required, no bot joins the call, and no sign-up. It's built for people on personal or free accounts, and for small teams with no built-in call-translation feature, who still want captions without giving a bot a seat in the meeting. Instead of scraping a platform's own captions, it does its own tab-audio capture and runs its own speech-to-text + translation pipeline.
This is a trimmed reference build of the core technique —
tabCapture + an offscreen AudioWorklet + a pluggable STT/MT pipeline —
not a crippled trial. It's fully functional with your own Deepgram and
DeepL API keys, just without Trippi's hosted backend, account system, or
free-tier quota.
chrome://extensions and enable Developer mode.src/offscreen/offscreen.js +
src/offscreen/pcm-worklet.js — tab-audio
capture via an AudioWorklet. No bot, no screen share: Chrome's
tabCapture API hands the extension the tab's own audio stream directly.src/engine/streaming-engine.js — the
direct pipeline: audio frames stream straight over a WebSocket to Deepgram
for speech-to-text, and finished phrases go to DeepL for translation.src/content/overlay.js — the caption
overlay, rendered in a Shadow DOM on top of the call page so the host
page's styles can't clash with it (and vice versa).Everything runs straight from your browser to Deepgram and DeepL — no server in between. Grab a key from Deepgram (speech-to-text) and DeepL (translation), paste them into the extension's Options page, and you're set. Your calls, your keys — nothing about either goes anywhere else.
Trippi's hosted version does the same capture-and-caption trick, with a managed backend, a generous free tier, and priority support — no keys to find, rotate, or pay for separately.
MIT — see LICENSE.
2 commits
JavaScript
91.9%
CSS
4.1%
HTML
4.0%
Reference build of Trippi's browser-audio-capture pipeline: MV3 tabCapture -> offscreen AudioWorklet -> Deepgram STT -> DeepL MT, live translated captions on Meet/Zoom/Teams. No backend, no account -- bring your own API keys.
0
stars
2
commits
JavaScript
primary language
Aug 28, 2026
updated

Real-time translated live captions on top of Google Meet, Zoom, and Microsoft Teams calls — the original speech on top, the translation underneath, with per-speaker attribution. No Google Workspace or Teams Premium plan required, no bot joins the call, and no sign-up. It's built for people on personal or free accounts, and for small teams with no built-in call-translation feature, who still want captions without giving a bot a seat in the meeting. Instead of scraping a platform's own captions, it does its own tab-audio capture and runs its own speech-to-text + translation pipeline.
This is a trimmed reference build of the core technique —
tabCapture + an offscreen AudioWorklet + a pluggable STT/MT pipeline —
not a crippled trial. It's fully functional with your own Deepgram and
DeepL API keys, just without Trippi's hosted backend, account system, or
free-tier quota.
chrome://extensions and enable Developer mode.src/offscreen/offscreen.js +
src/offscreen/pcm-worklet.js — tab-audio
capture via an AudioWorklet. No bot, no screen share: Chrome's
tabCapture API hands the extension the tab's own audio stream directly.src/engine/streaming-engine.js — the
direct pipeline: audio frames stream straight over a WebSocket to Deepgram
for speech-to-text, and finished phrases go to DeepL for translation.src/content/overlay.js — the caption
overlay, rendered in a Shadow DOM on top of the call page so the host
page's styles can't clash with it (and vice versa).Everything runs straight from your browser to Deepgram and DeepL — no server in between. Grab a key from Deepgram (speech-to-text) and DeepL (translation), paste them into the extension's Options page, and you're set. Your calls, your keys — nothing about either goes anywhere else.
Trippi's hosted version does the same capture-and-caption trick, with a managed backend, a generous free tier, and priority support — no keys to find, rotate, or pay for separately.
MIT — see LICENSE.
2 commits
JavaScript
91.9%
CSS
4.1%
HTML
4.0%