Skip to content

Releases: timoncool/dub-studio

Dub Studio 2.2.1 — critical download fix + karaoke transcript

Choose a tag to compare

@timoncool timoncool released this 14 Jul 14:47

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 .part file, validated (exact size + GGUF magic) 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 — закадровый, субтитры-оригинал, режимы в редакторе

Choose a tag to compare

@timoncool timoncool released this 14 Jul 12:26

Что нового в 2.2.0

🎙️ Новый режим «Закадровый» (voice-over) — переведённый голос звучит поверх приглушённого оригинала. Громкость оригинальной дорожки регулируется прямо в редакторе.

📝 Субтитры — только на языке оригинала (без перевода). Плей оригинальной дорожки работает прямо в редакторе.

🎛️ Все режимы переключаются в редакторе — Субтитры · Дубляж · Закадровый · Шуточный · Транскрипт. Уже загруженный ролик можно отправить в любой режим (раньше часть была только на старте).

🖼️ Превью выбранного видео на главном экране.

💾 Фикс экспорта — больше не пересинтезирует уже одобренную озвучку: перегенерированные вручную фразы сохраняются при экспорте.

⚙️ Реальные альт-кванты Gemma (Q5_K_M / Q6_K / Q8_0) — рабочие ссылки, и выбор варианта реально применяется в рантайме.

Прочее: панель файлов больше не уезжает за край экрана.


🔄 Авто-обновление: установка 2.1.0 сама предложит обновиться до 2.2.0.

Dub Studio 2.1.0

Choose a tag to compare

@timoncool timoncool released this 14 Jul 03:38

Dub Studio 2.1.0

🔄 Авто-обновление (новое)

Приложение само проверяет новую версию на GitHub и ставит её в один клик. Установленная версия (setup.exe) — авто-апдейт с проверкой подписи; портативная — уведомление со ссылкой на релиз. Работает начиная с этой версии.

✏️ WYSIWYG-редактор

  • Перетаскивание и ресайз тайтлов прямо на кадре, выбор синхронизирован со списком
  • Переброс фразы другому спикеру
  • Тайминг (начало/конец = плейхед) и выравнивание тайтлов; тайминг масок
  • ~10 исправлений по сплошному аудиту (мёртвые контролы, рассинхрон выбора при удалении/undo, клик-в-списке без эффекта)

⚡ Прочее

  • Загрузка моделей общим пулом из 16 соединений — разные модели качаются одновременно
  • После докачки сразу открывается стартовый экран (без кнопки «Продолжить»)
  • Одно консольное окно вместо всплывающих чёрных окон

Dub Studio v2.0.0 — полностью нативный порт (Rust + C++/CUDA)

Choose a tag to compare

@timoncool timoncool released this 13 Jul 02:13

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 спикеров), тот же крейт.
  • Перевод + visionGemma-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), аналог Pydantic extra="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

Choose a tag to compare

@timoncool timoncool released this 23 Jun 10:15

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

  1. Extract the zip to a path without spaces or Cyrillic.
  2. Run install.bat and pick your GPU. One‑time setup, entirely inside the folder.
  3. Run run.bat → the editor opens at http://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.