An open API service indexing awesome lists of open source software.

https://github.com/tmoroney/auto-subs

Generate Subtitles & Diarize Speakers in Davinci Resolve using AI.
https://github.com/tmoroney/auto-subs

ai davinci davinci-19 davinci-resolve diarize openai pyannote resolve speaker speech-to-text subtitles subtitles-generator transcribe whisper

Last synced: 2 months ago
JSON representation

Generate Subtitles & Diarize Speakers in Davinci Resolve using AI.

Awesome Lists containing this project

README

          

# AutoSubs – Subtitles Made Simple

Create high‑quality subtitles with **one click**. AutoSubs delivers **fast, accurate, and fully customisable** subtitles in a sleek, intuitive interface β€” works standalone or integrated with DaVinci Resolve.

[![Downloads](https://img.shields.io/endpoint?url=https://tom-moroney.com/release-tracker/data/badge-downloads.json)](https://tom-moroney.com/release-tracker/)
[![Weekly Active Users](https://img.shields.io/endpoint?url=https://tom-moroney.com/release-tracker/data/badge-weekly-users.json)](https://tom-moroney.com/release-tracker/)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/tmoroney/auto-subs)

### πŸ“₯ One‑Click Installer: [Windows](https://github.com/tmoroney/auto-subs/releases/latest/download/AutoSubs-windows-x86_64.exe) ✨ [macOS (Apple Silicon)](https://github.com/tmoroney/auto-subs/releases/latest/download/AutoSubs-Mac-ARM.pkg) ✨ [macOS (Intel)](https://github.com/tmoroney/auto-subs/releases/latest/download/AutoSubs-Mac-Intel.pkg)

### 🐧 [Linux (.deb): see install commands below](#quick-start)

Buy Me A Coffee

---

## What AutoSubs Does

AutoSubs runs **AI transcription models locally** on your machine β€” no cloud, no subscription. Drop in any audio or video file, and it produces accurate, timestamped subtitles with speaker labels.

**Core capabilities:**
- Fast, accurate transcription in many languages
- Speaker diarization with automatic labeling and colors
- Translation to English (more languages coming)
- Export to SRT, plain text, or directly into DaVinci Resolve
- Per-speaker subtitle styling (color, outline, border) when using Resolve

Generate Subtitles & Label Speakers | Advanced Settings
:-------------------------:|:-------------------------:
Transcription Page | Advanced Settings

---

## Architecture Overview

AutoSubs is a [Tauri](https://tauri.app) desktop app β€” a **React + TypeScript** frontend backed by a **Rust** engine, packaged as a native app for Windows, macOS, and Linux.

```mermaid
graph TB
subgraph Frontend ["Frontend (React + TypeScript)"]
UI[UI Components]
CTX[State Contexts\nTranscript Β· Models Β· Progress Β· Settings]
UI <--> CTX
end

subgraph Tauri ["Tauri Bridge"]
IPC[IPC Commands + Events]
end

subgraph Backend ["Rust Backend"]
API[Command Handlers]
AP[Audio Preprocessor]
API --> AP
end

subgraph Engine ["Transcription Engine"]
EM[Engine Manager]
EM --> W[Whisper]
EM --> P[Parakeet / Moonshine]
EM --> D[Pyannote Diarization]
EM --> FMT[Formatter\nline breaking Β· timing Β· CPS]
EM --> TR[Translator]
end

subgraph External ["External"]
FF[FFmpeg Sidecar]
HF[HuggingFace Hub\nmodel downloads]
end

subgraph Resolve ["DaVinci Resolve (Optional)"]
LUA[AutoSubs.lua Script]
end

Frontend <--> Tauri
Tauri <--> Backend
Backend --> Engine
AP --> FF
Engine --> HF
LUA <-.->|IPC| Tauri
```

**How a transcription works end-to-end:**
1. User selects a file and clicks Transcribe
2. Rust backend preprocesses audio via FFmpeg (normalization, format conversion)
3. Transcription engine runs the chosen AI model (Whisper / Parakeet / Moonshine) locally
4. Optionally runs Pyannote for speaker diarization and Google Translate for translation
5. Formatter applies line-breaking, timing constraints, and language-specific rules
6. Results stream back to the UI in real time; user edits and exports

---

## Quick Start

### 1) Download & Install

**πŸͺŸ Windows + 🍎 macOS:**
Download the installer for your platform from the links above and follow the prompts.

**🐧 Linux (.deb):**
```bash
wget https://github.com/tmoroney/auto-subs/releases/latest/download/AutoSubs-linux-x86_64.deb
sudo apt install ./AutoSubs-linux-x86_64.deb
# If you see dependency errors, run:
sudo dpkg -i AutoSubs-linux-x86_64.deb && sudo apt -f install
```

### 2) Choose a Workflow

#### Standalone Mode
1. Launch AutoSubs and select an audio/video file.
2. Pick your model and language/translation options.
3. Click **Transcribe**. Edit speakers/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/subtitles as needed.
4. Send styled subtitles back to Resolve.

> [!WARNING]
> AutoSubs will not work with the Mac App Store version of DaVinci Resolve. Re-install from the [official website](https://www.blackmagicdesign.com/products/davinciresolve/) if needed.

---

## What's New in V3
- **New, cleaner UI** β€” easier to use and more consistent
- **Faster + lighter** β€” ~3Γ— lower idle memory on a new Rust backend
- **Smarter models** β€” more choices, easy delete, and clear status badges
- **Better timing** β€” accurate with variable frame rates and drop-frame
- **Standalone mode** β€” transcribe any file, no Resolve required
- **Powerful editors** β€” modern subtitle editor and advanced per-speaker styling

---

## Contributing

PRs are welcome! For a full breakdown of the codebase before diving in, see the **[AutoSubs DeepWiki](https://deepwiki.com/tmoroney/auto-subs)**.

### Dev Setup

1. Clone the repo.
2. Install prerequisites: Node.js + Rust toolchain β€” see [tauri.app](https://tauri.app).
3. Start the app in dev mode:
```bash
cd AutoSubs-App
npm install
npm run tauri dev
```
4. For Resolve integration during development, copy `AutoSubs-App/src-tauri/resources/Testing-AutoSubs.lua` into your Resolve scripts folder:
- **Windows:** `%appdata%/Blackmagic Design/DaVinci Resolve/Support/Fusion/Scripts/Utility`
- **macOS:** `/Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Scripts/Utility`

Then change the path in `Testing-AutoSubs.lua` to point to your local AutoSubs installation and open it from Resolve via **Workspace β†’ Scripts β†’ Testing-AutoSubs**.

Backend code lives under `AutoSubs-App/src-tauri/`.

---

## Deep Dive

For detailed architecture docs, component breakdowns, and agentic Q&A on any part of the codebase, visit **[AutoSubs on DeepWiki](https://deepwiki.com/tmoroney/auto-subs)**.