Hear every voice—or just read it—in your language.
Live translation and dubbing for desktop and browser audio, plus synchronized processing for uploaded audio and video.
CI Release Python 3.12 Node 20+ License: MIT
فارسی · User guide · Installation · Privacy · Support · Contributing
| Use case | What you need | Virtual audio device |
|---|---|---|
| Translate a Chrome or Edge tab | Standalone extension | No |
| Process an audio or video file | Desktop app and FFmpeg | No |
| Translate VLC, a course player, or another desktop app live | Desktop app and a loopback/monitor input | Usually |
The desktop app and browser extension are independent. The extension does not require the app, Python, FFmpeg, localhost, or a virtual audio cable.
- Live translated speech with source and translated captions.
- Four independent output channels: original audio, dubbed audio, source subtitles, and translated subtitles.
- Two extension playback paths: low-latency output on the current page, or a dedicated buffered player that keeps captured video, dub, and both caption tracks on one timeline.
- A movable, resizable frosted-glass subtitle card with adjustable size, width, and opacity.
- Optional recording of
original.wav,dubbed.wav,source.srt, andtranslated.srt. - Audio/video upload with timestamped transcription, translation, generated speech, and synchronized playback.
- A ZIP download containing all generated outputs.
- Persian and English interfaces with automatic RTL/LTR text direction.
- Native desktop windows for Windows, macOS, and Linux.
Avorythm standalone browser extension
Download the build for your operating system from Releases.
Until SignPath approval is complete, Windows users install the clearly named
Avorythm-Setup-x64-unsigned.exe; macOS and Linux users can extract the matching ZIP. The Windows
build already contains FFmpeg for uploaded-media processing.
The app needs a Gemini API key. Media Studio additionally needs a Groq API key for Whisper. Keys are stored in the operating-system keyring.
For a manual installation from a GitHub release:
- Extract
Avorythm-Extension.zipinto a permanent folder. - Open
chrome://extensionsoredge://extensions. - Enable Developer mode, select Load unpacked, and choose the extracted folder.
- Pin Avorythm, complete the one-time setup on its separate Settings page, then start translation on a normal media tab.
Choose On this page for the lowest practical delay, or Synchronized recorder & player to keep
capture around 20 seconds ahead of an independently seekable player and place the generated dub on the same timeline. Protected
DRM media can block video capture; Avorythm reports the limitation and on-page mode remains available.
The synchronized player offers a fast Gemini 3.5 Live path and a precise Whisper → Gemini text pool → Gemini 3.1 Flash Live path. The precise path groups complete utterances, reuses one serialized Live voice session, preserves Gemini's natural PCM without pitch-changing resampling, and anchors each translated caption to the PCM interval generated for that utterance. The approximate Gemini 3.5 transcript path applies one calibrated 2.5-second presentation offset. Capture progress is independent from AI progress, recording can be stopped manually, media transitions such as YouTube autoplay are finalized automatically, and an active/finalized session survives a player-page refresh. Precise mode stays disabled until the user separately saves a Groq key, grants Chrome access to api.groq.com, and consents to sending short selected-tab audio windows directly to Groq Whisper for transcription and timestamps. On restricted networks, Chrome itself must route api.groq.com through the browser or system proxy; the extension checks this before recording starts.
On-page playback and synchronized playback/export have separate output controls. The synchronized player defaults to dubbed audio only; before export, users can independently enable original audio, dubbed audio, either subtitle file, set both audio levels, and apply smart ducking. Avorythm renders that selected audio mix into a new seekable WebM and downloads enabled subtitle tracks as SRT files. Browser-native mixing replays the local recording once, so building the final WebM takes approximately the recording duration; the player displays progress and an ETA.
Only the latest synchronized capture is retained temporarily in Chrome's private origin storage. Starting a new synchronized capture removes the previous local capture and its generated artifacts. Files explicitly downloaded by the user are saved under Downloads/Avorythm and are not removed automatically.
The extension key is kept only in chrome.storage.session and is cleared when the browser fully exits.
See the illustrated complete user guide and the installation and audio-routing guide for Windows AMM, macOS loopback, Linux monitor sources, proxy setup, and troubleshooting.
- Live desktop audio and selected-tab audio in the direct Gemini modes is sent to Google Gemini only after the user starts translation and grants the Gemini-audio consent.
- In the extension's precise synchronized mode, short selected-tab audio windows go directly to Groq Whisper for transcription and timestamps only after a separate Groq-audio consent; transcript text then goes to Google Gemini for translation and voice generation.
- Uploaded media stays on the computer; extracted audio chunks go to Groq Whisper, while transcript text and generated speech requests go to Gemini.
- Preferences and generated files remain local. Avorythm has no analytics, advertising, or developer telemetry.
- Four-output recording is optional and disabled by default. Synchronized playback records the selected tab locally so it can seek and export a WebM.
Read the bilingual privacy policy before processing private or copyrighted media.
Requirements: Python 3.12, Node.js 20+, and FFmpeg for Media Studio.
python -m venv .venv .\.venv\Scripts\Activate.ps1 python -m pip install -e ".[dev,build]" python -m pytest -q python -m ruff check src tests scripts python -m mypy src node --test tests/*.test.mjs python -m avorythm
Build the current platform and package the extension:
python scripts/build.py .\scripts\package-extension.ps1
Contributor documentation: architecture, contributing guide, security policy, support, and changelog.
Verify downloads against SHA256SUMS.txt from the same GitHub Release. The current Windows installer
is explicitly marked unsigned while the SignPath Foundation application is pending, so SmartScreen may
show an unrecognized-publisher warning. Signing and verification rules are documented in the
code-signing policy.
Avorythm is under active development and uses preview AI services. Accuracy, voices, latency, availability, and upstream quotas can change. Review important translations before relying on them.
MIT © Mohammad Saleh Mahdinejad. The Windows package also contains FFmpeg under GPLv3; see the third-party notices.