Releases: timoncool/dub-studio
Release list
Dub Studio 2.2.1 — critical download fix + karaoke transcript
2.2.1 — critical download fix
🛠️ Fixed: alternative models downloaded corrupted. The alt-quant models (Gemma Q5/Q6/Q8, Higgs, Roformer, Parakeet) moved to Hugging Face's new Xet storage, which drops connections under parallel download — the files came down with holes and llama-server failed to load them (invalid magic characters '????'). Now they download correctly:
- range retries with backoff, lower connection concurrency for Xet;
- download to a
.partfile, validated (exact size +GGUFmagic) and only then renamed — a corrupt/interrupted download can no longer pass as "installed"; - fixed a Parakeet manifest typo (
encoder-model.onnx_data→.onnx.data).
Verified end-to-end through the app: all alternative models download valid, and the Gemma Q8 quant loads and translates in the real dubbing pipeline.
🎬 Transcript mode — karaoke play-along: a play button, video, and highlighting of the current line/word as it plays.
🌍 Processing status now follows the interface language (was hardcoded Russian).
🔄 Auto-update: 2.1.0 / 2.2.0 will offer to update.
Dub Studio 2.2.0 — закадровый, субтитры-оригинал, режимы в редакторе
Что нового в 2.2.0
🎙️ Новый режим «Закадровый» (voice-over) — переведённый голос звучит поверх приглушённого оригинала. Громкость оригинальной дорожки регулируется прямо в редакторе.
📝 Субтитры — только на языке оригинала (без перевода). Плей оригинальной дорожки работает прямо в редакторе.
🎛️ Все режимы переключаются в редакторе — Субтитры · Дубляж · Закадровый · Шуточный · Транскрипт. Уже загруженный ролик можно отправить в любой режим (раньше часть была только на старте).
🖼️ Превью выбранного видео на главном экране.
💾 Фикс экспорта — больше не пересинтезирует уже одобренную озвучку: перегенерированные вручную фразы сохраняются при экспорте.
⚙️ Реальные альт-кванты Gemma (Q5_K_M / Q6_K / Q8_0) — рабочие ссылки, и выбор варианта реально применяется в рантайме.
Прочее: панель файлов больше не уезжает за край экрана.
🔄 Авто-обновление: установка 2.1.0 сама предложит обновиться до 2.2.0.
Dub Studio 2.1.0
Dub Studio 2.1.0
🔄 Авто-обновление (новое)
Приложение само проверяет новую версию на GitHub и ставит её в один клик. Установленная версия (setup.exe) — авто-апдейт с проверкой подписи; портативная — уведомление со ссылкой на релиз. Работает начиная с этой версии.
✏️ WYSIWYG-редактор
- Перетаскивание и ресайз тайтлов прямо на кадре, выбор синхронизирован со списком
- Переброс фразы другому спикеру
- Тайминг (начало/конец = плейхед) и выравнивание тайтлов; тайминг масок
- ~10 исправлений по сплошному аудиту (мёртвые контролы, рассинхрон выбора при удалении/undo, клик-в-списке без эффекта)
⚡ Прочее
- Загрузка моделей общим пулом из 16 соединений — разные модели качаются одновременно
- После докачки сразу открывается стартовый экран (без кнопки «Продолжить»)
- Одно консольное окно вместо всплывающих чёрных окон
Dub Studio v2.0.0 — полностью нативный порт (Rust + C++/CUDA)
Dub Studio v2.0.0 — полностью нативный порт
Мажорный релиз: весь пайплайн переписан с Python на нативный Rust + C++/CUDA. Ноль Python в рантайме — один .exe, всё остальное качается кнопкой при первом запуске.
Dub Studio v2 — это не обновление, а полная замена. Прошлая версия жила на embeddable-CPython: torch, CUDA-wheel'ы, llama-cpp-python, triton, NeMo sub-venv — гигабайты установки и хрупкий install.bat. Теперь всё это заменено нативными движками (GGUF/ONNX/C++), а оркестрация переехала на Rust. Результат: быстрый старт, ниже VRAM, надёжная установка одной кнопкой.
Новое в этой сборке
- Режим «Транскрипт + диаризация» — отдельный экран: аудио/видео → чистый транскрипт, разложенный по спикерам (клик по фразе двигает плейхед, скраб подсвечивает и подкручивает фразу). Из каждого спикера одной кнопкой создаётся голос: реф чистится вокал-сепарацией (Mel-Band Roformer) и авто-транскрибируется под ref-текст — как
build_speaker_referenceв Higgs. Экспорт.srt/.txt. - Пакетная обработка — очередь из нескольких файлов, каждый прогоняется одними настройками, прогресс по каждому + ссылка на результат.
- Голоса стали лучше — в пак-режиме разный голос реально ложится на каждого спикера (CSV
voice.name→ отсортированные спикеры); Higgs-клон получает ref-текст (авто-транскрипция реф-клипа) для качества; голоса из спикеров чистятся вокал-сепарацией. - Субтитры — блюр-подложка теперь РОВНО по размеру рисуемого текста: оригинал спрятан, а перевод целиком лежит на своей размытой подложке (не половиной на чистом видео).
- Монтаж — гейн всей дорожки виден на вейформе; ползунок громкости прослушки.
- Любые видео-форматы — MP4, MOV, MKV, WEBM, AVI и другие (декод через ffmpeg), не только MP4/MOV.
Что нового
Полный нативный стек (замена Python 1:1 по контракту):
- Оболочка — Tauri 2 (Rust) поднимает
dub-server(axum) на локальном порту и открывает окно на SPA. Один процесс, без Node и Python в рантайме. - ASR — NVIDIA Parakeet-TDT 0.6B v3 (ONNX Runtime 1.24.2) со словными таймингами, крейт
dub-asr. - Диаризация — NVIDIA Sortformer v2 (до 4 спикеров), тот же крейт.
- Перевод + vision — Gemma-4 12B QAT q4_0 GGUF через нативный llama.cpp (CUDA 13.3), крейты
dub-llm/dub-translate. Контекстный проход разбирает раскладку кадра: стиль субтитров, тайтлы, бренды, зоны текста. - TTS с клоном голоса — Higgs Audio v3 (GGUF Q8_0) на нативном движке
audiocpp_engine.dll, C-ABI. Клон тембра, авто-каст по спикерам, пер-спикерные голоса. - Вокал-сепарация — Mel-Band Roformer через нативный BSRoformer.cpp (CUDA), крейт
dub-sep. Фон ролика сохраняется, клон цепляется за чистую речь. - OCR + блюр — PP-OCR (ONNX), крейт
dub-ocr: детект вшитого текста → блюр оригинала → локализованный титр поверх. - Субтитры — крейт
dub-captions: 26 пресетов (karaoke / word-by-word / hormozi / neon / …), ASS-рендер, паритет с ffmpeg-burn (JASSUB поверх того же.ass= WYSIWYG).
Фичи-паритет с прошлой версией (всё перенесено):
- Дубляж любых роликов с клоном голоса, 6 языков (EN / RU / ZH / ES / PT / FR), авто-детект языка источника.
- Живой редактор: транскрипт, голоса, стиль субтитров, блюр-боксы, тайтлы — правки, пресеты, голоса.
- Превью 0.17 с/кадр — каждая правка видна мгновенно.
- Dirty-regen — при экспорте переозвучиваются и пересчитываются только правленые сегменты, а не весь ролик.
- Шуточный ремикс (тема → переписанный скрипт → передубляж), сравнение до/после.
- Автоскачка всего — модели, движки-сайдкары, CUDA/VC++-рантайм, ffmpeg тянутся кнопкой при первом запуске.
Замеры (тот же тест-сет и то же железо, RTX 4090):
| Стадия | Python v1 | Порт v2 |
|---|---|---|
| E2E, 61-сек ролик (ru→en) | 149.4 с | ~145 с |
| Превью, за кадр | 0.124 с | 0.166 с |
| OCR-стадия (duck) | 15.2 с (GPU) | 14.0 с (CPU) |
| vision / TTS / перевод | паритет | паритет |
- 6/6 роликов тест-сета проходят полный e2e-цикл без падений (duck / neeko / adhd / manip / boris / pen).
- OCR-стадия быстрее Python и при этом на CPU: Python гонит PP-OCR на
onnxruntime-gpu(15.2 с), порт распознаёт строки кадра пачкой (один инференс на кадр) и обрабатывает кадры параллельно (пул воркеров, у каждого свои ORT-сессии) → 14.0 с на CPU, без CUDA-зависимостей. Регионы байт-в-байт совпадают. - E2E и превью — паритет-или-лучше Python.
Накрытие текста «как будто так и было»:
- Порт определяет фон за каждым вшитым текстом сам: почти однотонный фон (белый лист, чёрная полоса) закрывается сплошной заливкой этого же цвета — чистый край, на своём фоне невидима; текстурная сцена (трава, улица) — блюром. Стиль дублированной строки зеркалит оригинал по данным vision (цвет/обводка/полоса), плашка ложится ровно на место оригинала. Никаких видимых блюр-простыней и лишних прямоугольников.
- Пофикшены классы дефектов прошлых прогонов: тройное расхождение «текст / плашка / полоса оригинала», раздутый кегль тайтра, дубли подстрочных титров, протечка счётчиков слайдов в заголовок. Приёмка — покадровым просмотром всех шести роликов.
Миграция с v1 (Python)
- Проекты совместимы. Контракт
project.jsonсохранён 1:1 — Rust-модель (dub-core) использует passthrough неизвестных полей (serde(flatten), аналог Pydanticextra="allow"), round-trip покрыт тестом. Проекты, созданные прошлой версией, читаются без конвертации; тот же REST/SSE-контракт (PORT-CONTRACT.md), тот же формат Project (meta/mode/tgt_lang/audio/segments/subs/captions/render/raw_ctx). SPA работает без правок. - Модели качаются заново. v2 использует нативные форматы (GGUF/ONNX), а не HF-кэш torch прошлой версии. При первом запуске панель «Первый запуск» предложит скачать компоненты кнопкой — суммарно ~15 ГБ (Higgs Q8_0 ~5.5 ГБ, Gemma-4 12B + vision ~7.2 ГБ, Parakeet ~0.7 ГБ, Sortformer ~0.5 ГБ, Roformer ~0.25 ГБ + движки llama.cpp/BSRoformer/ONNX Runtime/ffmpeg + CUDA-рантайм). Замер
download_pendingиз чистого портатива = 15.0 ГБ. Всё внутри папки приложения; в комплекте релиза уже идут VC++-рантайм и OCR-модели. install.bat/run.batбольше не нужны. Ставить Python, CUDA Toolkit, VC++, ffmpeg вручную не надо — приложение тянет всё само. Вручную ставится только драйвер NVIDIA.- Старый Python-README сохранён как
docs/README-python-legacy.md.
Требования
- Windows 10 / 11 (x64), NVIDIA GPU с 8–16 ГБ VRAM, свежий драйвер NVIDIA. WebView2 (предустановлен в Win11). ~13 ГБ под модели.
Файлы
Dub.Studio_2.0.0_x64_Portable.zip— портативная сборка (распаковать в любую папку →Dub Studio.exe). Модели/движки тянутся при первом запуске.Dub.Studio_2.0.0_x64-setup.exe— установщик NSIS.Dub.Studio_2.0.0_x64_en-US.msi— установщик MSI.
Все три несут один и тот же нативный движок; в комплекте идут VC++-рантайм и OCR-модели, остальное докачивается кнопкой.
Dub Studio v1.0.0 — Windows installer
Windows installer (no-models bundle, ~55 MB). The AI models — Gemma‑4 GGUF + mmproj, Parakeet ASR, Qwen3‑TTS, Sortformer — download automatically on first run.
Install — Windows · NVIDIA
- Extract the zip to a path without spaces or Cyrillic.
- Run
install.batand pick your GPU. One‑time setup, entirely inside the folder. - Run
run.bat→ the editor opens athttp://127.0.0.1:8765.
Other platforms (Linux / macOS / AMD / CPU)
One‑click cross‑platform install via Pinokio.
Beta. Needs an NVIDIA GPU (~12 GB VRAM) and ~30 GB free disk for the full setup. Bug reports, PRs and model recipes welcome.