Avorythm
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.
فارسی · 简体中文 · العربية · Deutsch · Français · Italiano · Русский · Website & videos · Install the Chrome extension · User guide · Installation · Privacy · Support · Contributing
Choose how you use Avorythm
| 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.
Features
- 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 desktop interfaces, plus a Simplified Chinese extension interface, with automatic RTL/LTR text direction.
- Native desktop windows for Windows, macOS, and Linux.
Target languages
The desktop app and extension share the same target-language catalog. Popular destinations are English, Persian, Arabic, Chinese (Simplified and Traditional), German, French, Italian, Spanish, Russian, Japanese, Korean, Turkish, Portuguese (Brazil and Portugal), Dutch, Polish, Ukrainian, Hindi, Urdu, Hebrew, Indonesian, Malay, Vietnamese, and Thai. The selector also includes additional supported languages such as Bengali, Bulgarian, Czech, Danish, Finnish, Greek, Hungarian, Romanian, Swedish, and more.
Quick start
Desktop app
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.
Browser extension
Install Avorythm from the Chrome Web Store or use the manual release package below.
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.
Extension keys stay in chrome.storage.session by default and are cleared when the browser fully exits. In Settings, Remember key on this device can be enabled separately for Gemini and Groq. Remembered keys remain in this browser profile, are never synced, and are not encrypted by the extension. Turning the option off removes the disk copy while keeping the current session key; Clear key removes both copies.
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.
Data processing
- 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.
Development
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.
Release trust
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.
Project status
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.
License
MIT © Mohammad Saleh Mahdinejad. The Windows package also contains FFmpeg under GPLv3; see the third-party notices.



