tmoroney/auto-subs
On-device subtitle generation that connects directly to DaVinci Resolve, Premiere, and After Effects.
About tmoroney/auto-subs
tmoroney/auto-subs is an open-source project on GitHub, mainly written in TypeScript. On-device subtitle generation that connects directly to DaVinci Resolve, Premiere, and After Effects. It currently holds 4,252 stars and 0 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).
Project Overview
Git Homed tracks it on the Video Trending board and on the AI Video Trending list.
GitHub Repository Details
README
AutoSubs
Local-first AI subtitles. No cloud, no subscription, no data leaving your machine.
Use it as a standalone app, or connect to DaVinci Resolve, Adobe Premiere Pro, and After Effects.
- 🎙️ Speech to Subtitles: Turns audio or video into accurate, timestamped subtitles. Pick from several AI models, from fast and lightweight to maximum accuracy.
- 👥 Speaker Labels: Automatically detects who is speaking and labels each speaker, so you can give each person their own style.
- 🌍 1,000+ Languages: Transcribe or translate almost any language, all processed on your own machine.
- 💻 Mac, Windows & Linux: Works on Apple Silicon and Intel Macs, Windows, and Linux. Everything runs offline.
---
Download
| Platform | Installer | |---|---| | 🪟 Windows | AutoSubs-windows-x86_64.exe | | 🍎 macOS (Apple Silicon) | AutoSubs-Mac-ARM.pkg | | 🍎 macOS (Intel) | AutoSubs-Mac-Intel.pkg | | 🐧 Linux (Debian/Ubuntu) | AutoSubs-linux-x86_64.deb | | 🐧 Linux (Fedora/openSUSE) | AutoSubs-linux-x86_64.rpm |
macOS Homebrew
macOS users can also install AutoSubs with Homebrew:
brew install --cask auto-subs
Linux install
Debian/Ubuntu (.deb):
wget https://github.com/tmoroney/auto-subs/releases/latest/download/AutoSubs-linux-x86_64.deb
sudo apt install ./AutoSubs-linux-x86_64.deb
Fedora/openSUSE (.rpm): Download AutoSubs-linux-x86_64.rpm and open it with your package manager.
---
Quick Start
Standalone Mode
1. Launch AutoSubs and select an audio or video file. 2. Pick your model and language/translation options. 3. Click Transcribe. Edit speakers and subtitles as needed. 4. Export as SRT, text, or copy to clipboard.DaVinci Resolve Mode
1. Open DaVinci Resolve → Workspace → Scripts → AutoSubs. 2. Select your timeline/audio source and settings. 3. Click Transcribe. Edit speakers and subtitles as needed. 4. Send styled subtitles back to Resolve.[!WARNING]
Mac App Store version not supported - download DaVinci Resolve from blackmagicdesign.com instead.
Adobe Premiere Pro / After Effects Mode
1. Launch AutoSubs and open Premiere Pro or After Effects (the CEP extension loads automatically). 2. Select the Adobe integration from AutoSubs to export timeline audio for transcription, or import generated subtitles into your project. 3. In Premiere Pro, subtitles are imported as caption tracks; in After Effects, SRT entries are created as text layers.Command Line Interface
For command-line usage, see the CLI Guide with complete reference, examples, and troubleshooting.
---
Documentation
- CLI Guide - Command-line interface reference
- Contributing Guide - Development setup and contribution workflow
- AutoSubs-App README - Technical architecture and code organization
- Resolve Integration - DaVinci Resolve integration architecture and development
- Adobe Extension - Adobe Premiere Pro/After Effects integration details
- Arch Linux - Dependencies, Wayland compositing, and Resolve paths on Arch
[!TIP]
I highly recommend checking out DeepWiki for asking questions and understanding the codebase.
>
---
Supported Models
AutoSubs ships with several local transcription model families. All run fully on-device — nothing is sent to the cloud. Models are downloaded on demand from the in-app Model Manager.
Accuracy is a relative 1–4 rating within AutoSubs (higher is better). Sizes and RAM figures are approximate.
Whisper
OpenAI's Whisper, via whisper-rs (GGML). Each size is available in a multilingual variant and an .en English-only variant (the .en models are slightly more accurate on English audio).
| Model | Size | RAM | Languages | Accuracy | |---|---|---|---|---| | tiny / tiny.en | 80 MB | 1 GB | Multilingual / English | ★ | | base / base.en | 150 MB | 1 GB | Multilingual / English | ★ | | small / small.en | 480 MB | 2 GB | Multilingual / English | ★★ | | medium / medium.en | 1.5 GB | 5 GB | Multilingual / English | ★★★ | | large-v3-turbo | 1.6 GB | 6 GB | Multilingual | ★★★ | | large-v3 | 3.1 GB | 10 GB | Multilingual | ★★★★ |
Moonshine
Useful Sensors' Moonshine, via ONNX Runtime. The tiny English model is quantized; the language-specific tiny variants and the base model are float-precision.
| Model | Size | RAM | Language | Accuracy | |---|---|---|---|---| | moonshine-tiny | 60 MB | 1 GB | English | ★ | | moonshine-tiny-ar | 120 MB | 1 GB | Arabic | ★★★ | | moonshine-tiny-zh | 120 MB | 1 GB | Chinese | ★★★ | | moonshine-tiny-ja | 120 MB | 1 GB | Japanese | ★★★ | | moonshine-tiny-ko | 120 MB | 1 GB | Korean | ★★★ | | moonshine-tiny-uk | 120 MB | 1 GB | Ukrainian | ★★ | | moonshine-tiny-vi | 120 MB | 1 GB | Vietnamese | ★★★ | | moonshine-base | 200 MB | 1 GB | English | ★★ |
Parakeet
NVIDIA's Parakeet-TDT-0.6B-v3 (int8 ONNX). Fast and accurate, with support for 25 European languages plus Russian and Ukrainian. Orukeet is a community variant on the same engine — faster and more accurate than Parakeet, with weights under CC BY-SA 4.0.
| Model | Size | RAM | Languages | Accuracy | |---|---|---|---|---| | orukeet | 672 MB | 4 GB | 25 languages (EU + RU + UK) | ★★★★ | | parakeet | 700 MB | 2 GB | 25 languages (EU + RU + UK) | ★★★★ |
SenseVoice
Alibaba's SenseVoice (int8 ONNX). Compact and well-suited to CJK audio.
| Model | Size | RAM | Languages | Accuracy | |---|---|---|---|---| | sense-voice | 230 MB | 1 GB | Chinese, English, Japanese, Korean, Cantonese | ★★★ |
Canary
NVIDIA's Canary-1B-v2 (int8 ONNX). A multilingual encoder-decoder model that also supports native translation.
| Model | Size | RAM | Languages | Accuracy | |---|---|---|---|---| | canary | 1 GB | 3 GB | 25 languages (EU + RU + UK) | ★★★★ |
Cohere
Cohere Transcribe (int4 ONNX). The highest-accuracy option for a focused set of 14 widely-spoken languages.
| Model | Size | RAM | Languages | Accuracy | |---|---|---|---|---| | cohere | 2 GB | 4 GB | Arabic, German, Greek, English, Spanish, French, Italian, Japanese, Korean, Dutch, Polish, Portuguese, Vietnamese, Chinese | ★★★★ |
GigaAM
Sber's GigaAM v3 (int8 ONNX). A Conformer model trained on 700k hours of Russian speech — the most accurate option for Russian audio. The end-to-end CTC variant outputs punctuated, normalized text.
| Model | Size | RAM | Languages | Accuracy | |---|---|---|---|---| | gigaam-v3 | 225 MB | 2 GB | Russian, English | ★★★★ |
GigaAM Multilingual (600M, int8 ONNX) covers Central Asian languages that the other models handle poorly — Whisper large v3 scores 58–110% WER on Kazakh, Kyrgyz and Uzbek. It uses a character-wise CTC head, so unlike GigaAM v3 its output has no punctuation or capitalization.
| Model | Size | RAM | Languages | Accuracy | |---|---|---|---|---| | gigaam-multilingual | 592 MB | 3 GB | Russian, Kazakh, Kyrgyz, Uzbek, English | ★★★★ |
Omni-ASR
Meta's Omnilingual ASR (1B CTC, fp32 ONNX). Covers 1600+ languages, making it the fallback for languages no specialist model supports. Output is lowercase with no punctuation.
| Model | Size | RAM | Languages | Accuracy | |---|---|---|---|---| | omni-asr-1b-ctc | 3.7 GB | 4 GB | 1600+ languages | ★★★ |
Diarization & VAD
In addition to transcription models, AutoSubs downloads a speaker diarization model (~40 MB, user-selectable from the Model Manager) and a Silero VAD model (auto-downloaded for voice activity detection during transcription). An optional MMS forced-alignment model (~320 MB, CC BY-NC 4.0) can also be downloaded for word-level timestamps — see Model licensing.
---
Integrations
AutoSubs can run as a standalone subtitle generator, connect directly to DaVinci Resolve, or communicate with Adobe Premiere Pro and After Effects through the bundled CEP extension.
Select a Preset Style | Or create your own
:-------------------------:|:-------------------------:
| 
---
Contributing
PRs are welcome! See CONTRIBUTING.md for how to get started, including the dev setup and a full codebase walkthrough via AutoSubs DeepWiki.
For detailed information about the DaVinci Resolve integration architecture, Lua server, Fusion macro system, and development workflow, see Resolve-Integration/README.md.
---
Model licensing
AutoSubs code is MIT-licensed. The optional MMS forced-alignment weights are downloaded separately and licensed under CC BY-NC 4.0 for noncommercial use. Users are responsible for ensuring their use complies with the model license.
The forced-aligner weights originate from Meta's MMS model, with forced-alignment conversion work by MahmoudAshraf and ONNX/INT8 conversion by onnx-community. Conversion and quantization changes were made by those respective projects; no endorsement is implied.
While MMS supports over a thousand languages, word-level alignment relies on romanizing the transcript with uroman. uroman covers the major world scripts (Latin, Cyrillic, Arabic, CJK, most Indic scripts, etc.), but very low-resource minority languages whose scripts are not included in its data may produce degraded or missing word timestamps.
Acknowledgments
AutoSubs is built on top of excellent open-source projects:
- whisper-rs - Rust bindings for Whisper C++ library
- transcribe-rs - ONNX Runtime transcription with Moonshine and Parakeet models
- pyannote-rs - Rust implementation of Pyannote for speaker diarization (integrated into app code for improvements)
