Превращаем текст в речь локально (казуальный вариант) | Qwen 3 TTS

Превращаем текст в речь локально (казуальный вариант) | Qwen 3 TTS
​​

Начну с самого интересного и приятного - с этой статьёй можно познакомиться ушами, вся базовая ознакомительная информация из темы будет озвучена посредством обозреваемой технологии, вам останется лишь потом взглянуть на конкретные примеры, чтобы сделать окончательные выводы


Перед основной частью самое важное - возможности, требования и нюансы работы модели, с которыми необходимо ознакомиться

​​

Qwen 3 TTS позволяет генерировать голос на 10 различных языках (английский, китайский, японский, русский и другие), причём вы можете взять, например, русскую речь и использовать её в произнесении английского текста, таким образом создавая языковые акценты. Всего есть 3 базовые функции - клонирование голоса (это когда вы берете готовую аудиозапись и генерируете из неё свою), использование готовых голосовых моделей и дизайн голоса, который позволяет создать свой собственный тембр через промпт. Более подробно распишу все в основной части, это затравка

​​

Если вы не обладаете ПК с как минимум 16 гигабайтами оперативной памяти, 8 гигабайтами видео памяти (карта от Nvidia) и одной из последних версий виндовс, то сразу забудьте про любого вида нейрогенерации, не потянет. Также стоит отметить, что в этой статье будет рассмотрен один из самых простых для работы вариантов, который потребует предварительной предустановки определенного софта, об этом будет позже

​​

Хоть модель и представляет из себя, пожалуй, самый лучший из бесплатных вариантов, но всё же имеются свои косяки. Во-первых, модель не рассчитана на длинные генерации, а в конкретной сборке, что я предоставлю, на вход будут приниматься лишь небольшие куски текста всего на пару минут. Так что, если вы планируете озвучивать что-то продолжительное, то придется заливать текст кусками или изобретать свой чанкер, который будет разбивать большой текст на маленькие фрагменты. Во-вторых, модель не предоставляет возможности расставлять ударения и порой произносит слова самыми необычными способами. В-третьих, хоть поддержка русского языка и имеется, все же лучше промптить на английском. Более мелкие нюансы разберу на конкретных примерах

​​

Приступим к детальному обзору возможностей Qwen 3 TTS, а начнем с самого интересного - Voice Clone

​​

Работает он по принципу: получил исходник голоса - обработал согласно настройкам - вывел результат по введенному тексту

Что нужно знать об исходном голосе - никаких фоновых шумов, музыки и посторонних звуков, если хотите слышать чистую речь без артефактов, то используйте качественный исходник. Продолжительность исходника варьируется от 3 до 30 секунд, чем больше фрагмент вы даете нейронке, тем разнообразнее будет речь

Теперь самая главная нода, разберем всё по порядку - первое текстовое поле, это ваш запрос, то что вы хотите услышать по итогу. Из своего опыта могу сказать, что стоит внимательно распределять препинательные знаки, нейронка чувствительна к тире и в словах по типу "что-то" лучше ставить пробел вместо чёрточки, иначе между "что" и "то" будет неестественно долгая пауза. Также не стоит забывать, что "е" - это "е", а "ё" - это "ё", лучше убедитесь, что текст составлен грамотно перед тем, как запускать генерацию. Лучше прописывать числа буквами, так как начиная с пятизначных чисел модель перестаёт их понимать. Из положительного отмечу, что вы можете свободно использовать в тексте сразу несколько языков и аббревиатуры, нейронка не сломается и произнесет всё, как надо

А теперь к конкретным параметрам:

model choice - это выбор модели, у вас будет 2 варианта 1.7 и 0.6, разница в качестве результата, так что выбирайте 1.7

device - это то, через что будет проходить генерация, процессор или видео карта, можете просто оставить авто

precision - это используемая точность вычисления, лично я огромной разницы не вижу, fp32 звучит немного чётче чем fp16, но в то же время и затрачивает в 2 раза больше ресурсов, можете лично посмотреть, как оно работает, чтобы выбрать оптимальный вариант

language - это язык, на котором будет говорить ваш голос, именно за счет этого инструмента можно придавать речи определенные акценты, например взять русский голос и заставить парадировать китайскую манеру речи

вторая текстовая колонка - это слова из вашего исходника, для наибольшей точности можно их вписывать вручную, но есть возможность этого не делать, благодаря переключателю чуть ниже

seed - в своем роде точка отсчета, влияет на голос за счёт своего значения, допустим, что вам не очень понравился первый результат и вы хотите, какой-нибудь немного другой голос, для этого поменяйте значение параметра

под seed можно выбрать его состояние от одной генерации до другой, предположим, что у вас есть большой текст и вы хотите, чтобы голос сохранял своё звучание на протяжении всей речи, тогда имеет смысл установить значение fixed, чтобы seed не менялся, в обратном случае можно поставить значение randomize, что сделает каждую отдельную генерацию уникальной по звучанию

max new tokens определяет максимальную продолжительность вашего текста, этот параметр напрямую зависит от обьема видеопамяти видеокарты, так что при малом объеме лучше поставить значение 2048

top p отвечает за вариативность произношения, чем выше значение тем шире ассортимент возможных произношений, чем ближе значение к нулю, тем чётче и более предсказуемо будет читаться текст

top k отвечает за количество возможных вариантов произношения, что, по сути, работает, как и top p

temperature отвечает за импровизацию и эмоциональность, чем выше значение, тем больше разнообразнее речь, чем ближе к нулю, тем спокойнее

repetition penalty - функция, отсекающая повторы, при высоком значении будет полностью отсекать похожие звуки, что может привести к проглатыванию некоторых слов или их частей

x vector only - связан со второй текстовой колонкой, при значении true нейронка будет сама разбираться, что говорится в вашем исходнике, важно понимать, что если вы хотите самостоятельно прописывать текст, то нужно выставить значение false

attention влияет на метод обработки, что сказывается на скорости и качестве, flash и sage самые быстрые, sdpa - золотой стандарт, eager самый медленный

unload model after generate при значении true результат генерации вычищается из ОЗУ, что позволяет освободить место, при значении false хранит данные в ОЗУ, что позволяет быстрее обрабатывать последующие запросы

custom model path - путь к собственной модели на базе Qwen, вряд ли пригодиться

Нажмите, чтобы раскрыть...

​​

Перейдем к Custom Voice, благо большая часть параметров уже пройдена и остаётся разобрать только особенности этой ноды

​​

Speaker - это параметр, предоставляющий 9 готовых голосов на выбор

Далее обращаем внимание на вторую текстовую колонку, она предназначена для промпта, который определит манеру речи, давайте я выберу Sohee, выдам следующий промпт и заставлю её прочитать стишок

Нажмите, чтобы раскрыть...


​​

И на конец Design Voice, предназначенный для создания своего собственного голоса по промпту

​​

Здесь уникальна только вторая колонка для ввода текста, в неё нужно вписать подробное описание вашего персонажа, чтобы создать уникальный голос, давайте попробуем, я возьму базовый китайский промпт(старый суровый дед) и переводу на русский и на английский, заодно сравним результаты


Как и было сказано в начале, с русским языком нейронка ладит не очень, так получилось, что старый мужчина говорит голосом молодой девушки, а вот с английским промптом звучит отлично, дед хорошо читает сказки

​​

Если увиденные материалы заинтересовали, то пора устанавливать говорилку

Сперва необходимо скачать оболочку - ComfyUI, она будет служить, как браузерный интерфейс, но предварительно нужно будет установить Python и Git, всё это вы найдете по запросу в поисковике

После установки архива ComfyUI, распаковываем его и переходим по следующему адресу

⁡
⁡C:\ComfyUI_windows_portable\ComfyUI\custom_nodes
⁡

Вводим в адресную строку команду
⁡cmd
⁡и видим командную строку

​​

В неё вписываем
⁡git clone https://github.com/Comfy-Org/ComfyUI-Manager
⁡, он нужен будет для удобной установки нод

​​

После скачиваем модели
⁡Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice
⁡ |
⁡Qwen/Qwen3-TTS-12Hz-1.7B-Base
⁡|
⁡Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign
⁡ , их можно найти на Hugging face, после установки распаковываем в папку

⁡
⁡C:\ComfyUI_windows_portable\ComfyUI\models\TTS
⁡

​​

После окончания всех загрузок можно открыть непосредственно ComfyUI через батник run_nvidia

​​

Открыть менеджер


​​

Ввести название ноды ComfyUI-QWEN3_TTS и установить, это даст вам базовые ноды

​​

Потом можно будет докачать более приятные в работе ноды
⁡https://github.com/flybirdxx/ComfyUI-Qwen-TTS
⁡ в папку

⁡
⁡C:\ComfyUI_windows_portable\ComfyUI\custom_nodes
⁡

​​

Осталось лишь собрать воркфлоу или же вы можете установить готовый, благо он есть на том же сайте, где и ноды

⁡
⁡https://github.com/flybirdxx/ComfyUI-Qwen-TTS
⁡


​​
После скачивания файла перетащите его в открытое окно ComfyUI, все нужные ноды появятся сами

По сути, на этом всё, выбирайте нужные ноды, предварительно выключив остальные, чтобы не создавать лишнюю нагрузку(выделить лишние блоки затем ctrl+B) и работайте, с базовым управлением внутри комфи разберетесь
eb36cec7-7959-4b30-8744-fc7a629b519a.webp

Комментарии 0

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