{"id":15136559,"url":"https://github.com/tmoroney/auto-subs","last_synced_at":"2026-04-27T01:03:58.819Z","repository":{"id":165791706,"uuid":"614149835","full_name":"tmoroney/auto-subs","owner":"tmoroney","description":"Generate Subtitles \u0026 Diarize Speakers in Davinci Resolve using AI.","archived":false,"fork":false,"pushed_at":"2025-02-21T16:03:26.000Z","size":84624,"stargazers_count":1022,"open_issues_count":134,"forks_count":52,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-04-06T21:03:55.495Z","etag":null,"topics":["ai","davinci","davinci-19","davinci-resolve","diarize","openai","pyannote","resolve","speaker","speech-to-text","subtitles","subtitles-generator","transcribe","whisper"],"latest_commit_sha":null,"homepage":"https://tom-moroney.com/auto-subs/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tmoroney.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"buy_me_a_coffee":"tmoroney","custom":["https://paypal.me/tmoroney14"]}},"created_at":"2023-03-15T01:51:06.000Z","updated_at":"2025-04-06T20:49:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa83f073-0c31-4efe-96c8-a5586b3b4e51","html_url":"https://github.com/tmoroney/auto-subs","commit_stats":{"total_commits":329,"total_committers":10,"mean_commits":32.9,"dds":"0.045592705167173286","last_synced_commit":"5352632e4551b7d7a243ad28b6315e98d4c659da"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmoroney%2Fauto-subs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmoroney%2Fauto-subs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmoroney%2Fauto-subs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmoroney%2Fauto-subs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tmoroney","download_url":"https://codeload.github.com/tmoroney/auto-subs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248799670,"owners_count":21163398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","davinci","davinci-19","davinci-resolve","diarize","openai","pyannote","resolve","speaker","speech-to-text","subtitles","subtitles-generator","transcribe","whisper"],"created_at":"2024-09-26T06:23:12.555Z","updated_at":"2026-04-27T01:03:58.813Z","avatar_url":"https://github.com/tmoroney.png","language":"TypeScript","funding_links":["https://buymeacoffee.com/tmoroney","https://paypal.me/tmoroney14","https://www.buymeacoffee.com/tmoroney"],"categories":["Openai","Plugin","TypeScript","Media Tools","ai","By Use Case"],"sub_categories":["Independent \u0026 Hobbyist Projects","Subtitles \u0026 Captioning"],"readme":"# AutoSubs – Subtitles Made Simple\n\nCreate 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.\n\n[![Downloads](https://img.shields.io/endpoint?url=https://tom-moroney.com/release-tracker/data/badge-downloads.json)](https://tom-moroney.com/release-tracker/)\n[![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/)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/tmoroney/auto-subs)\n\n### 📥 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)\n\n### 🐧 [Linux (.deb): see install commands below](#quick-start)\n\n\u003ca href=\"https://www.buymeacoffee.com/tmoroney\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e\n\n---\n\n## What AutoSubs Does\n\nAutoSubs 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.\n\n**Core capabilities:**\n- Fast, accurate transcription in many languages\n- Speaker diarization with automatic labeling and colors\n- Translation to English (more languages coming)\n- Export to SRT, plain text, or directly into DaVinci Resolve\n- Per-speaker subtitle styling (color, outline, border) when using Resolve\n\nGenerate Subtitles \u0026 Label Speakers |  Advanced Settings\n:-------------------------:|:-------------------------:\n\u003cimg width=\"800\" alt=\"Transcription Page\" src=\"https://github.com/user-attachments/assets/ca00769b-93e2-4127-b604-a9108bf8451a\"\u003e | \u003cimg width=\"800\" alt=\"Advanced Settings\" src=\"https://github.com/user-attachments/assets/be1a111a-71c5-4d8d-ad8c-d9e889e3e7ab\"\u003e\n\n---\n\n## Architecture Overview\n\nAutoSubs 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.\n\n```mermaid\ngraph TB\n    subgraph Frontend [\"Frontend (React + TypeScript)\"]\n        UI[UI Components]\n        CTX[State Contexts\\nTranscript · Models · Progress · Settings]\n        UI \u003c--\u003e CTX\n    end\n\n    subgraph Tauri [\"Tauri Bridge\"]\n        IPC[IPC Commands + Events]\n    end\n\n    subgraph Backend [\"Rust Backend\"]\n        API[Command Handlers]\n        AP[Audio Preprocessor]\n        API --\u003e AP\n    end\n\n    subgraph Engine [\"Transcription Engine\"]\n        EM[Engine Manager]\n        EM --\u003e W[Whisper]\n        EM --\u003e P[Parakeet / Moonshine]\n        EM --\u003e D[Pyannote Diarization]\n        EM --\u003e FMT[Formatter\\nline breaking · timing · CPS]\n        EM --\u003e TR[Translator]\n    end\n\n    subgraph External [\"External\"]\n        FF[FFmpeg Sidecar]\n        HF[HuggingFace Hub\\nmodel downloads]\n    end\n\n    subgraph Resolve [\"DaVinci Resolve (Optional)\"]\n        LUA[AutoSubs.lua Script]\n    end\n\n    Frontend \u003c--\u003e Tauri\n    Tauri \u003c--\u003e Backend\n    Backend --\u003e Engine\n    AP --\u003e FF\n    Engine --\u003e HF\n    LUA \u003c-.-\u003e|IPC| Tauri\n```\n\n**How a transcription works end-to-end:**\n1. User selects a file and clicks Transcribe\n2. Rust backend preprocesses audio via FFmpeg (normalization, format conversion)\n3. Transcription engine runs the chosen AI model (Whisper / Parakeet / Moonshine) locally\n4. Optionally runs Pyannote for speaker diarization and Google Translate for translation\n5. Formatter applies line-breaking, timing constraints, and language-specific rules\n6. Results stream back to the UI in real time; user edits and exports\n\n---\n\n## Quick Start\n\n### 1) Download \u0026 Install\n\n**🪟 Windows + 🍎 macOS:**\nDownload the installer for your platform from the links above and follow the prompts.\n\n**🐧 Linux (.deb):**\n```bash\nwget https://github.com/tmoroney/auto-subs/releases/latest/download/AutoSubs-linux-x86_64.deb\nsudo apt install ./AutoSubs-linux-x86_64.deb\n# If you see dependency errors, run:\nsudo dpkg -i AutoSubs-linux-x86_64.deb \u0026\u0026 sudo apt -f install\n```\n\n### 2) Choose a Workflow\n\n#### Standalone Mode\n1. Launch AutoSubs and select an audio/video file.\n2. Pick your model and language/translation options.\n3. Click **Transcribe**. Edit speakers/subtitles as needed.\n4. Export as SRT, text, or copy to clipboard.\n\n#### DaVinci Resolve Mode\n1. Open DaVinci Resolve → **Workspace → Scripts → AutoSubs**.\n2. Select your timeline/audio source and settings.\n3. Click **Transcribe**. Edit speakers/subtitles as needed.\n4. Send styled subtitles back to Resolve.\n\n\u003e [!WARNING]\n\u003e 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.\n\n---\n\n## What's New in V3\n- **New, cleaner UI** — easier to use and more consistent\n- **Faster + lighter** — ~3× lower idle memory on a new Rust backend\n- **Smarter models** — more choices, easy delete, and clear status badges\n- **Better timing** — accurate with variable frame rates and drop-frame\n- **Standalone mode** — transcribe any file, no Resolve required\n- **Powerful editors** — modern subtitle editor and advanced per-speaker styling\n\n---\n\n## Contributing\n\nPRs are welcome! For a full breakdown of the codebase before diving in, see the **[AutoSubs DeepWiki](https://deepwiki.com/tmoroney/auto-subs)**.\n\n### Dev Setup\n\n1. Clone the repo.\n2. Install prerequisites: Node.js + Rust toolchain — see [tauri.app](https://tauri.app).\n3. Start the app in dev mode:\n   ```bash\n   cd AutoSubs-App\n   npm install\n   npm run tauri dev\n   ```\n4. For Resolve integration during development, copy `AutoSubs-App/src-tauri/resources/Testing-AutoSubs.lua` into your Resolve scripts folder:\n   - **Windows:** `%appdata%/Blackmagic Design/DaVinci Resolve/Support/Fusion/Scripts/Utility`\n   - **macOS:** `/Library/Application Support/Blackmagic Design/DaVinci Resolve/Fusion/Scripts/Utility`\n\n   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**.\n\nBackend code lives under `AutoSubs-App/src-tauri/`.\n\n---\n\n## Deep Dive\n\nFor detailed architecture docs, component breakdowns, and agentic Q\u0026A on any part of the codebase, visit **[AutoSubs on DeepWiki](https://deepwiki.com/tmoroney/auto-subs)**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmoroney%2Fauto-subs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmoroney%2Fauto-subs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmoroney%2Fauto-subs/lists"}