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

Адрес для демонстрации: https://huggingface.co/spaces/nari-labs/Dia-1.6B
Список функций
- Создание сюрреалистического диалога: Преобразование текстовых скриптов в многосимвольные диалоговые аудиозаписи с поддержкой тегов нескольких дикторов (например, [S1], [S2]).
- Эмоции и управление тоном: Регулировка эмоций и интонаций речи с помощью звуковых подсказок или фиксированных семплов.
- невербальное выражение: Генерируйте невербальные звуки, такие как смех и паузы, чтобы повысить реалистичность диалога.
- Интерактивный интерфейс Gradio: Предоставляет визуальный интерфейс для упрощения операций создания диалогов и вывода звука.
- Модели и коды с открытым исходным кодом: Пользователи могут загрузить предварительно обученные модели с сайта Hugging Face или получить исходный код на GitHub.
- Поддержка кросс-устройств: Поддерживает работу с GPU, в будущем планируется поддержка CPU.
- Повторяющиеся настройки: Обеспечьте последовательное получение результатов, задавая случайные семена.
Использование помощи
Процесс установки
Чтобы использовать Dia, сначала нужно клонировать свой репозиторий на GitHub и настроить окружение. Вот подробные шаги:
- склад клонов::
Выполните следующую команду в терминале:git clone https://github.com/nari-labs/dia.git cd dia
- Создание виртуальной среды::
Используйте Python для создания виртуальных сред, чтобы изолировать зависимости:python -m venv .venv source .venv/bin/activate # Windows 用户运行 .venv\Scripts\activate
- Установка зависимостей::
Dia Использованиеuv
Инструменты для управления зависимостями. Установкаuv
И бегите:pip install uv uv run app.py
Это автоматически установит необходимые библиотеки и запустит интерфейс Gradio.
- требования к оборудованию::
- Графические процессоры: Рекомендуемые графические процессоры NVIDIA с поддержкой CUDA.
- ПРОЦЕССОР: Оптимизация GPU на данный момент лучше, поддержка CPU планируется.
- память с произвольным доступом (RAM): Не менее 16 ГБ оперативной памяти, для загрузки модели требуется больше памяти.
- Проверка установки::
быть в движенииuv run app.py
После этого в терминале отобразится локальный URL-адрес интерфейса Gradio (обычно этоhttp://127.0.0.1:7860
). Откройте этот URL-адрес в браузере и убедитесь, что интерфейс загружается правильно.
Использование интерфейса Gradio
Интерфейс Gradio является основным методом взаимодействия Dia и подходит для быстрого тестирования и создания диалогов. Шаги следующие:
- Откройте интерфейс::
активировать (план)uv run app.py
Интерфейс содержит поля ввода текста, настройки параметров и области вывода звука. - Ввод сценариев диалогов::
Введите сценарий в текстовое поле, используя кнопку[S1]
, и[S2]
и т.п. маркеры для различения говорящих. Например:[S1] 你好,今天过得怎么样? [S2] 还不错,就是有点忙。(笑)
Скрипт поддерживает неязыковую разметку, например
(笑)
. - Настройка параметров генерации::
- Максимальный аудиомаркер(
--max-tokens
): Определяет длину генерируемого аудио, по умолчанию 3072. - Соотношение CFG(
--cfg-scale
): Регулирует качество генерации, по умолчанию 3.0. - температура(
--temperature
): управление случайностью, по умолчанию 1.3, чем больше значение, тем больше случайность. - Top-p(
--top-p
): вероятность выборки ядра, по умолчанию 0,95.
Эти параметры можно настроить в интерфейсе, а новички могут использовать значения по умолчанию.
- Максимальный аудиомаркер(
- Добавление звуковых подсказок (опционально)::
Для согласованности голоса можно загрузить эталонный звук. Нажмите на опцию "Audio Cue" в интерфейсе и выберите WAV-файл. В официальной документации упоминается, что руководство по созданию звуковых реплик будет выпущено в ближайшее время, а пока вы можете обратиться к примеру в интерфейсе Gradio. - Генерировать аудио::
Нажмите кнопку "Generate", и модель обработает сценарий и выведет звук. Время генерации зависит от производительности оборудования, обычно это от нескольких секунд до десятков секунд. Сгенерированный звук можно просмотреть в интерфейсе или загрузить в виде WAV-файла. - закрепление семян::
Для того чтобы генерируемый звук каждый раз был одинаковым, можно задать случайное зерно. Нажмите на опцию "Seed" в интерфейсе и введите целое число (например.35
). Если этот параметр не установлен, Dia может генерировать каждый раз разные звуки.
Использование командной строки
В дополнение к Gradio, Dia также поддерживает операции командной строки для разработчиков или пакетную генерацию. Ниже приведен пример:
- Запуск сценариев CLI::
Работает в виртуальной среде:python cli.py "[S1] 你好! [S2] 嗨,很好。" --output output.wav
- Определение моделей::
По умолчанию обнимающееся лицоnari-labs/Dia-1.6B
Модели. Если вы используете локальную модель, вам необходимо предоставить файл конфигурации и контрольные точки:python cli.py --local-paths --config config.yaml --checkpoint checkpoint.pt "[S1] 测试" --output test.wav
- Параметры настройки::
Параметры генерации можно задать из командной строки, например: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 предоставляет этические и юридические рекомендации по использованию, которым должны следовать пользователи, чтобы избежать создания неприемлемого контента.
сценарий применения
- создание контента
Dia идеально подходит для создания реалистичных диалогов для подкастов, анимации или коротких видеороликов. Создатели могут вводить сценарии и быстро генерировать голоса персонажей, исключая затраты на запись. Например, аниматоры могут генерировать диалоги с различными интонациями для своих персонажей, чтобы улучшить их работу. - Образование и обучение
Dia может генерировать аудиодиалоги для изучения языка или ролевых игр. Например, преподаватели иностранных языков могут создавать многоролевые диалоги, имитирующие реальные сценарии, чтобы помочь студентам практиковать аудирование и разговорную речь. - разработка игр
Разработчики игр могут использовать Dia для создания динамических диалогов для NPC. Скрипты поддерживают тегирование эмоций и могут генерировать речь персонажей для различных сценариев. - Исследования и разработки
Исследователи ИИ могут изучать технологии TTS путем вторичной разработки на основе открытого исходного кода Dia. Модель поддерживает локальную загрузку, что подходит для экспериментов и оптимизации.
QA
- Какие форматы входных данных поддерживает Dia?
Dia принимает текстовые скрипты с[S1]
, и[S2]
Маркеры различают говорящих. Поддержка невербальных маркеров, таких как(笑)
Звуковая подсказка доступна в формате WAV в качестве опции. - Как обеспечить согласованность генерируемых звуков?
Фиксированные семена можно установить с помощью настройки (--seed
) или загрузить реализацию аудиокью. Семплы могут быть установлены в интерфейсе Gradio или в командной строке, а звуковые сигналы должны быть высококачественными WAV-файлами. - Поддерживает ли Dia работу с процессором?
В настоящее время Dia оптимизирована для работы на графических процессорах, в будущем планируется поддержка процессоров, и для достижения наилучшей производительности рекомендуется использовать графические процессоры NVIDIA. - Сколько времени требуется для создания аудио?
Время генерации зависит от аппаратного обеспечения и длины сценария. На высокопроизводительных графических процессорах генерация коротких диалогов обычно занимает несколько секунд, а длинных - десятки секунд. - Диа свободна?
Dia - это проект с открытым исходным кодом, и код и модели бесплатны. Пользователи несут ответственность за стоимость оборудования, необходимого для его работы.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...