8000 GitHub - Selectorrr/svr_voiceover
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Selectorrr/svr_voiceover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Руководство

Это приложение автоматически озвучивает тексты из CSV-файлов с использованием нейросети SVR_TTS. Ниже – подробное руководство, начиная с быстрого старта и заканчивая описанием внутренних деталей.


Быстрый старт

  1. Подготовка файлов:

    • Скачайте и распакуйте example.zip
    • Запустите run.cmd и следуйте инструкциям
    • Если вы все сделали правильно то у вас появится директория dub с озвученными файлами
    • Изменяйте CSV-файл (voiceover.csv) с данными для озвучки. В CSV каждая строка должна содержать:
      • audio: относительный путь к аудиофайлу.
      • speaker: имя говорящего (записи группируются по этому полю для формирования сэмплов тембра).
      • text: текст для озвучки.
      • Дополнительно можно указать:
        • text_accented: текст с ударениями (приоритет, если заполнено) пример: нА стЕне вИсит зАмок.
        • text_adopted: адаптированный текст по длительности, если text_accented пуст.

    Имена CSV-файлов могут содержать номер версии (например, voiceover1.csv, voiceover2.csv), чтобы приложение могло отслеживать изменения.

  2. Запуск приложения:

    • Переместите файл example/run.cmd в директорию с файлами (рядом с csv)
    • Запустите двойным кликом и следуйте интрукции
  3. Результат:

    • Готовые озвученные файлы будут сохранены в папке workspace/dub.
    • Сэмплы тембра для каждого говорящего сохраняются и кешируются в папке workspace/voices, если хотите изменить голос то просто подменити файл на другой.

Подробное описание работы

Обработка CSV-файлов

Приложение ищет CSV-файлы с версионными именами, сравнивает их и находит изменённые или новые записи для озвучки. Важно, чтобы в CSV были следующие колонки:

  • audio: отностительный путь к аудиофайлу из workspace/resources.
  • speaker: имя говорящего, по которому данные группируются для формирования сэмплов.
  • text: основной текст для озвучки.
  • text_accented (опционально): текст с ударениями, который используется, если поле заполнено.
  • text_adopted (опционально): адаптированный вариант текста, если нет ударений.

Работа с аудио

Модуль AudioProcessor отвечает за:

  • Загрузку аудиофайлов разных форматов (прямо через soundfile, через pydub или через vgmstream для экзотических форматов).
  • Нормализацию громкости аудио до заданного уровня (LUFS).
  • Перевод аудио в sample rate 24000 Гц, необходимый для корректной работы нейросети.

Подготовка и кеширование тембра

Модуль SpeakerProcessor:

  • Формирует сэмпл тембра для каждого говорящего, объединяя аудиозаписи по данному персонажу.
  • Кеширует сэмпл, чтобы повторно не производить обработку, и сохраняет его в workspace/voices.

Выбор текста для озвучки

Модуль TextProcessor:

  • Отдает предпочтение тексту с ударениями (text_accented), затем адаптированному (text_adopted), и только потом базовому (text).

Синтез озвучки и сохранение

Основной модуль PipelineModule:

  • Собирает данные (текст, сэмплы тембра и просодии).
  • Отправляет их на синтез в SVR_TTS.
  • После синтеза восстанавливает оригинальную громкость аудио и сохраняет файл в формате, заданном параметром --ext, в папке workspace/dub.

Полезные ссылки внутри приложения

  • entrypoint.py: Точка запуска приложения.
  • AudioProcessor.py: Обработка аудио (загрузка, нормализация, конвертация).
  • CsvProcessor.py: Обработка CSV-файлов, поиск изменений и фильтрация записей.
  • PipelineModule.py: Основной модуль, объединяющий все процессы озвучки.
  • SpeakerProcessor.py: Формирование и кеширование сэмплов тембра для говорящих.
  • TextProcessor.py: Выбор оптимального варианта текста для озвучки.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published
0