Голосовые системы

Озвучка трёх версий ролика

Содержание и 19 сцен одинаковы; отличаются голос, измеренная длительность сцен, таймлайн и итоговый MP4. Все три дорожки создаются локально моделью Silero v5_5_ru.pt: Xenia, Aidar, Eugene. Eugene выбран третьим голосом из официальной таблицы Silero.

Что установлено и сколько занимает

17.09.2026 через установленный uv 0.6.17 в отдельной среде, не меняя системный Python:

uv venv локальный источник --python 3.12
uv pip install --python локальный источник numpy==2.5.3
uv pip install --python локальный источник \
  torch==2.8.0 --index-url https://download.pytorch.org/whl/cpu

Фактически установлен torch 2.8.0+cpu; CUDA-библиотеки и GPU не требуются. Виртуальная среда занимает 800 MiB, из них пакет torch — 689 MiB, numpy с библиотеками — около 60 MiB. Веса модели — 145 420 684 байта (139 MiB); node_modules текущего видеопроекта — 364 MiB. Это измеренный размер на диске, а не расход RAM и не размер загрузки по сети. Chrome и ffmpeg были установлены заранее, их вес в эти цифры не входит. На три итоговых файла и промежуточные WAV/MP4 требуется дополнительное место.

Взят ранее скачанный с https://models.silero.ai/models/tts/ru/v5_5_ru.pt файл; SHA-256 50081637b602126ee06cb3bc8a744d25651d2da149ee8864b9a379bfdd934437. Для новой установки сравните контрольную сумму после загрузки. Пакет модели загружается как доверенный исполняемый torch.package, поэтому не подменяйте источник случайным зеркалом. Веса в репозиторий и в skill не добавлены.

Машина и ограничения

Проверенный хост: Ubuntu Linux x86_64, AMD Ryzen 7 7730U с AVX2, 16 логических CPU, 15 GiB RAM, без NVIDIA GPU. Синтез шёл на CPU в 4 потоках; аудио — mono PCM 48 кГц. Это проверенный стенд, не подтверждённые минимальные требования. Для сборки кадров дополнительно использовались Node 22.14, pnpm 11.19, Remotion 4.0.507, Google Chrome 152 и ffmpeg/ffprobe 6.1.1. Без видео Node/Chrome/ffmpeg не нужны. Свободного места при подготовке было 68 GiB.

После однократной установки и загрузки модели синтез выполняется без сетевого TTS: текст сценария не отправляется третьей стороне. У v5_5_ru.pt CC BY-NC-SA 4.0, поэтому эти версии подготовлены для заявленного некоммерческого использования и не публиковались. Исключение MIT в README относится к CIS base, не к v5_5_ru. Перед коммерческим применением нужно отдельное разрешение или иная модель с подходящей лицензией.

Воспроизведение

Сначала создаётся WAV и таймлайн, потом видео. Голоса звучат с разной скоростью, поэтому аудио одного голоса нельзя подкладывать под кадры другого без пересборки.

локальный источник scripts/codex_audio.py \
  --project . --model локальный источник \
  --speaker xenia --threads 4
env -u NODE_OPTIONS pnpm exec tsc --noEmit
env -u NODE_OPTIONS node scripts/codex_render.mjs full
python3 scripts/mux.py
локальный источник scripts/final_qc.py

Повторите цикл с --speaker aidar и --speaker eugene, сохраняя отдельно WAV, film-timeline.json, SRT и MP4 каждого варианта. NODE_OPTIONS снимается только у дочернего Node-процесса, потому что на этом хосте он содержит неподдерживаемый Node флаг. Путь к уже установленной проверочной среде для final_qc.py приведён только как журнал текущей сборки: для новой установки понадобятся Pillow и ffmpeg, либо эквивалентная проверка.

Основная процедура и лицензии также описаны в anything2explainer-codex/reference/silero-setup.md. Исходная версия Piper сохранена отдельно в voice-variants/piper-original/ и не выдаётся за один из трёх новых вариантов.

Исходник

Скачать Markdown · К материалам исследования