Dia: модель преобразования текста в речь для создания гиперреалистичных многопользовательских диалогов

Общее введение

Dia - это модель преобразования текста в речь (TTS) с открытым исходным кодом, разработанная компанией Nari Labs и ориентированная на создание гиперреалистичного диалогового аудио. Она преобразует текстовые сценарии в реалистичные многосимвольные диалоги за один процесс, поддерживает управление эмоциями и интонациями и даже генерирует невербальные выражения, такие как смех. В основе Dia лежит модель с 1,6 миллиардами параметров, размещенная на Hugging Face, а код и модели предварительного обучения доступны пользователям через GitHub. Разработанная с акцентом на открытость и гибкость, она позволяет пользователям полностью контролировать сценарии диалогов и речевой вывод. Dia предоставляет интерфейс Gradio для пользователей, чтобы они могли быстро оценить, как будет выглядеть сгенерированный диалог. Проект поддерживается Google TPU Research Cloud и грантом Hugging Face ZeroGPU Grant и вдохновлен такими технологиями, как SoundStorm и Parakeet.

Dia:生成超现实多人对话的文本转语音模型

Адрес для демонстрации: https://huggingface.co/spaces/nari-labs/Dia-1.6B

 

Список функций

  • Создание сюрреалистического диалога: Преобразование текстовых скриптов в многосимвольные диалоговые аудиозаписи с поддержкой тегов нескольких дикторов (например, [S1], [S2]).
  • Эмоции и управление тоном: Регулировка эмоций и интонаций речи с помощью звуковых подсказок или фиксированных семплов.
  • невербальное выражение: Генерируйте невербальные звуки, такие как смех и паузы, чтобы повысить реалистичность диалога.
  • Интерактивный интерфейс Gradio: Предоставляет визуальный интерфейс для упрощения операций создания диалогов и вывода звука.
  • Модели и коды с открытым исходным кодом: Пользователи могут загрузить предварительно обученные модели с сайта Hugging Face или получить исходный код на GitHub.
  • Поддержка кросс-устройств: Поддерживает работу с GPU, в будущем планируется поддержка CPU.
  • Повторяющиеся настройки: Обеспечьте последовательное получение результатов, задавая случайные семена.

 

Использование помощи

Процесс установки

Чтобы использовать Dia, сначала нужно клонировать свой репозиторий на GitHub и настроить окружение. Вот подробные шаги:

  1. склад клонов::
    Выполните следующую команду в терминале:

    git clone https://github.com/nari-labs/dia.git
    cd dia
    
  2. Создание виртуальной среды::
    Используйте Python для создания виртуальных сред, чтобы изолировать зависимости:

    python -m venv .venv
    source .venv/bin/activate  # Windows 用户运行 .venv\Scripts\activate
    
  3. Установка зависимостей::
    Dia Использование uv Инструменты для управления зависимостями. Установка uv И бегите:

    pip install uv
    uv run app.py
    

    Это автоматически установит необходимые библиотеки и запустит интерфейс Gradio.

  4. требования к оборудованию::
    • Графические процессоры: Рекомендуемые графические процессоры NVIDIA с поддержкой CUDA.
    • ПРОЦЕССОР: Оптимизация GPU на данный момент лучше, поддержка CPU планируется.
    • память с произвольным доступом (RAM): Не менее 16 ГБ оперативной памяти, для загрузки модели требуется больше памяти.
  5. Проверка установки::
    быть в движении uv run app.py После этого в терминале отобразится локальный URL-адрес интерфейса Gradio (обычно это http://127.0.0.1:7860). Откройте этот URL-адрес в браузере и убедитесь, что интерфейс загружается правильно.

Использование интерфейса Gradio

Интерфейс Gradio является основным методом взаимодействия Dia и подходит для быстрого тестирования и создания диалогов. Шаги следующие:

  1. Откройте интерфейс::
    активировать (план) uv run app.py Интерфейс содержит поля ввода текста, настройки параметров и области вывода звука.
  2. Ввод сценариев диалогов::
    Введите сценарий в текстовое поле, используя кнопку [S1], и[S2] и т.п. маркеры для различения говорящих. Например:

    [S1] 你好,今天过得怎么样?
    [S2] 还不错,就是有点忙。(笑)
    

    Скрипт поддерживает неязыковую разметку, например (笑).

  3. Настройка параметров генерации::
    • Максимальный аудиомаркер(--max-tokens): Определяет длину генерируемого аудио, по умолчанию 3072.
    • Соотношение CFG(--cfg-scale): Регулирует качество генерации, по умолчанию 3.0.
    • температура(--temperature): управление случайностью, по умолчанию 1.3, чем больше значение, тем больше случайность.
    • Top-p(--top-p): вероятность выборки ядра, по умолчанию 0,95.
      Эти параметры можно настроить в интерфейсе, а новички могут использовать значения по умолчанию.
  4. Добавление звуковых подсказок (опционально)::
    Для согласованности голоса можно загрузить эталонный звук. Нажмите на опцию "Audio Cue" в интерфейсе и выберите WAV-файл. В официальной документации упоминается, что руководство по созданию звуковых реплик будет выпущено в ближайшее время, а пока вы можете обратиться к примеру в интерфейсе Gradio.
  5. Генерировать аудио::
    Нажмите кнопку "Generate", и модель обработает сценарий и выведет звук. Время генерации зависит от производительности оборудования, обычно это от нескольких секунд до десятков секунд. Сгенерированный звук можно просмотреть в интерфейсе или загрузить в виде WAV-файла.
  6. закрепление семян::
    Для того чтобы генерируемый звук каждый раз был одинаковым, можно задать случайное зерно. Нажмите на опцию "Seed" в интерфейсе и введите целое число (например. 35). Если этот параметр не установлен, Dia может генерировать каждый раз разные звуки.

Использование командной строки

В дополнение к Gradio, Dia также поддерживает операции командной строки для разработчиков или пакетную генерацию. Ниже приведен пример:

  1. Запуск сценариев CLI::
    Работает в виртуальной среде:

    python cli.py "[S1] 你好! [S2] 嗨,很好。" --output output.wav
    
  2. Определение моделей::
    По умолчанию обнимающееся лицо nari-labs/Dia-1.6B Модели. Если вы используете локальную модель, вам необходимо предоставить файл конфигурации и контрольные точки:

    python cli.py --local-paths --config config.yaml --checkpoint checkpoint.pt "[S1] 测试" --output test.wav
    
  3. Параметры настройки::
    Параметры генерации можно задать из командной строки, например:

    python cli.py --text "[S1] 你好" --output out.wav --max-tokens 3072 --cfg-scale 3.0 --temperature 1.3 --top-p 0.95 --seed 35
    

Функциональное управление

  • Диалог нескольких персонажей::
    Основная сильная сторона Dia - создание многоактных диалогов. Сценарии создаются с помощью [S1], и[S2] и т. д. маркеры для различения персонажей, модель автоматически назначит каждому персонажу свой голос. Рекомендуется, чтобы тон или эмоции персонажа были явно выражены в сценарии, например:

    [S1] (兴奋)我们赢了!
    [S2] (惊讶)真的吗?太棒了!
    
  • невербальное выражение::
    Добавьте в сценарий (笑), и(停顿) и другие маркеры, Dia будет генерировать соответствующие звуковые эффекты. Пример:

    [S2] 这太好笑了!(笑)
    
  • слаженность голоса::
    Чтобы не генерировать каждый раз разные звуки, либо исправьте семплы, либо используйте звуковые сигналы. Фиксация семпла выполняется в интерфейсе Gradio или в командной строке с помощью команды --seed Параметры. Аудиоподсказки должны быть загружены в виде высококачественных WAV-файлов с четкими голосовыми фрагментами.

предостережение

  • Модели, не настроенные на конкретные звуки: Генерируемые звуки могут быть разными каждый раз, поэтому необходимо обеспечить их последовательность с помощью засева или звуковой подсказки.
  • аппаратное ограничениеПроизводительность графического процессора существенно влияет на скорость генерации и может быть медленнее на устройствах низшего ценового диапазона.
  • Этические принципы: Nari Labs предоставляет этические и юридические рекомендации по использованию, которым должны следовать пользователи, чтобы избежать создания неприемлемого контента.

 

сценарий применения

  1. создание контента
    Dia идеально подходит для создания реалистичных диалогов для подкастов, анимации или коротких видеороликов. Создатели могут вводить сценарии и быстро генерировать голоса персонажей, исключая затраты на запись. Например, аниматоры могут генерировать диалоги с различными интонациями для своих персонажей, чтобы улучшить их работу.
  2. Образование и обучение
    Dia может генерировать аудиодиалоги для изучения языка или ролевых игр. Например, преподаватели иностранных языков могут создавать многоролевые диалоги, имитирующие реальные сценарии, чтобы помочь студентам практиковать аудирование и разговорную речь.
  3. разработка игр
    Разработчики игр могут использовать Dia для создания динамических диалогов для NPC. Скрипты поддерживают тегирование эмоций и могут генерировать речь персонажей для различных сценариев.
  4. Исследования и разработки
    Исследователи ИИ могут изучать технологии TTS путем вторичной разработки на основе открытого исходного кода Dia. Модель поддерживает локальную загрузку, что подходит для экспериментов и оптимизации.

 

QA

  1. Какие форматы входных данных поддерживает Dia?
    Dia принимает текстовые скрипты с [S1], и[S2] Маркеры различают говорящих. Поддержка невербальных маркеров, таких как (笑)Звуковая подсказка доступна в формате WAV в качестве опции.
  2. Как обеспечить согласованность генерируемых звуков?
    Фиксированные семена можно установить с помощью настройки (--seed) или загрузить реализацию аудиокью. Семплы могут быть установлены в интерфейсе Gradio или в командной строке, а звуковые сигналы должны быть высококачественными WAV-файлами.
  3. Поддерживает ли Dia работу с процессором?
    В настоящее время Dia оптимизирована для работы на графических процессорах, в будущем планируется поддержка процессоров, и для достижения наилучшей производительности рекомендуется использовать графические процессоры NVIDIA.
  4. Сколько времени требуется для создания аудио?
    Время генерации зависит от аппаратного обеспечения и длины сценария. На высокопроизводительных графических процессорах генерация коротких диалогов обычно занимает несколько секунд, а длинных - десятки секунд.
  5. Диа свободна?
    Dia - это проект с открытым исходным кодом, и код и модели бесплатны. Пользователи несут ответственность за стоимость оборудования, необходимого для его работы.
© заявление об авторских правах

Похожие статьи

Stablecog:多语言开源AI图像生成平台,独家Kandinsky基础模型

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...