/ Модель

Характеристики

Лицензия
Apache 2.0
Базовая модель
Qwen3-TTS-12Hz-1.7B-Base
Библиотека
voicy
Опубликована
24 сен 2026

qwen3-tts-12hz-1.7b-ru-stress-gguf

Синтез речиТекст → аудио3 профессии

Русскоязычная дообученная Qwen3-TTS для синтеза речи с управлением ударением с помощью знака в тексте.

599скачиваний за 30 дней0лайковвеса обновлены24 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Русскоязычная версия Qwen3-TTS-12Hz-1.7B-Base, подготовленная для локального сервера синтеза речи voicy. Модель дообучена следовать знаку ударения U+0301 в тексте, что помогает задавать произношение русских омографов и слов с нестандартным для модели ударением. Текст без знаков она озвучивает как исходная модель, а автоматическую расстановку ударений перед синтезом может выполнять voicy с помощью RUAccent и словаря произношений.

Это речевая модель семейства Qwen3-TTS с говорящей частью на базе трансформера. Для дообучения использована LoRA ранга 16 на слоях внимания и MLP; адаптер влит в веса. Репозиторий содержит варианты GGUF и ONNX, включая квантизированные GGUF, для запуска через llama.cpp или ONNX Runtime. Модель рассчитана только на русский язык и сценарии синтеза речи, в том числе клонирование голоса по аудиообразцу в совместимом сервере.

В описанном автором эксперименте модель чаще следовала явно заданному ударению, чем исходная, при этом качество ударений на обычном тексте существенно не изменилось. Оценка проводилась автоматическим измерителем с заметной долей ложных тревог, а прослушивание проверял один человек без слепого теста. Расстановка знаков RUAccent может ошибаться, и модель не всегда соблюдает их на словах с сильной привычной формой произношения. Лицензия — Apache-2.0.

Сценарии применения

  • синтез русской речи с заданным ударением
  • озвучивание омографов с нужным значением
  • генерация речи из текста с пользовательскими подсказками произношения
  • локальный синтез речи через voicy, llama.cpp или ONNX Runtime
  • клонирование голоса по аудиообразцу в совместимом сервере

Ограничения

Модель работает только с русским языком; RUAccent может ошибаться в ударениях, а сама модель иногда не следует заданному знаку на словах с сильной привычной формой произношения. Экспериментальная оценка ударений опиралась на автоматический измеритель с 10–12% ложных тревог и прослушивание одним человеком без слепого теста.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Qwen3-TTS-12Hz-1.7B для русского: ударение по знаку

Qwen3-TTS-12Hz-1.7B-Base, дообученная слушаться знака ударения в тексте: сто́ит и стои́т, за́мок и замо́к она читает так, как размечено. Исходная модель обучалась без разметки ударений: знак она не понимает, а слово с ним ещё и коверкает.

Модель сделана для voicy — локального речевого сервера — и работает только для русского языка. Формат тот же, что у sknyazev/qwen3-tts-12hz-1.7b-base-gguf: GGUF и ONNX для llama.cpp и ONNX Runtime, без PyTorch и без Python.

Послушать: абзац с омографами и пары «до / после».

Как ставится знак

U+0301 (комбинируемое ударение) сразу после ударной гласной: сто́ит, замо́к. Слова с ё и односложные не размечаются. Текст без знаков модель читает как исходная — сама ставит ударения, где их нет.

Расставлять знаки вручную не нужно: voicy делает это сам перед синтезом — RUAccent (MIT), перенесённый в Rust, плюс словарь произношений проекта, запись которого главнее RUAccent. Отключить — --no-stress или "stress": false в запросе.

Что изменилось, в числах

Замер через voicy — ровно то, что лежит здесь: говорящая часть q5_k на llama.cpp, знаки ставит RUAccent в Rust. RTX 3080, голос turgenev. Ударение определяет автоматический измеритель: контур громкости слова сравнивается с эталонами Silero, где ударение поставлено на каждый слог по очереди; проверен до использования — 10–12% ложных тревог, находит 71% сдвинутых ударений.

исходнаяэта модель
знак на ненормативном слоге: ударение там, где знак (24 фразы × все слоги × 3 сида)26% из 13443% из 215, p = 0.0008
то же у Silero с той же разметкой — предел измерителя66%
обычный текст, 79 фраз × 2 сида: ударение не там, где у RUAccent (с поправкой на измеритель)14%12%
CER обратного распознавания, те же фразы3.6%4.3% (ДИ разницы −0.15…+1.65 п.п.)
сходство голоса с образцом (кодировщик диктора Qwen; замер в Python, bf16)0.9850.983

Главное — первая строка: исходная модель знак не понимает (26% — почти случайно, а слово со знаком ещё и коверкает), эта следует ему. Квантование на это не влияет: f16 даёт 44%, q5_k — 43%. На обычном тексте разницы в пределах шума: исходная модель и так ставит верно около 85% слов, и выигрыш от знаков там меньше, чем различает измеритель. Худшие фразы по CER — с английскими терминами кириллицей («экстендс», «он делит каскад»): их ударение RUAccent угадывает (см. «Ограничения»).

Замеры в Python (bf16, адаптер отдельно) и все промежуточные варианты — в отчёте эксперимента.

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

С voicy — одной командой: voicy setup качает эту модель по умолчанию, дальше voicy serve. Сервер ставит знаки, только если рядом с весами лежит stress.json — у исходной модели его нет, и знаков она не получает.

Вне voicy файлы — обычные входы llama.cpp и ONNX Runtime, но конвейер вокруг них нестандартный; самое короткое его описание — реализация: rust/src/native/qwen.rs.

Файлы

файлчто эторазмер
qwen3_tts_talker.q5_k.ggufговорящая часть с влитым адаптером, q5_k — по умолчанию1.0 ГБ
qwen3_tts_talker.q8_0.ggufто же, q8_01.5 ГБ
qwen3_tts_talker.f16.ggufто же без квантования2.8 ГБ
qwen3_tts_predictor.q8_0.ggufпредсказатель кодбуков — без изменений151 МБ
qwen3_tts_decoder.fp16.onnxдекодер кодека — без изменений230 МБ
qwen3_tts_codec_encoder.fp32.onnx (+ .data)кодировщик образца голоса — без изменений226 МБ
qwen3_tts_speaker_encoder.fp32.onnx (+ .data)кодировщик диктора — без изменений48 МБ
embeddings/таблицы эмбеддингов, .npy — без изменений866 МБ
tokenizer.jsonтокенизатор модели11 МБ
stress.jsonметка для voicy: модель понимает знак ударения—
lora/adapter.safetensors, lora/adapter.jsonсам адаптер LoRA — для воспроизводимости35 МБ

От исходной модели отличается только говорящая часть: адаптер влит в её веса, форма и скорость те же.

Как обучалась

LoRA ранга 16 на слоях внимания и MLP основного трансформера (17.4 млн параметров, ~1% модели), одна эпоха, lr 1e-4, RTX 3080 10 ГБ. Эмбеддинги, головы и предсказатель кодбуков заморожены. Раскладка примеров — та, в какой voicy генерирует: клонирование голоса по образцу.

Данные:

  • Russian LibriSpeech (OpenSLR 96, копия istupakov/russian_librispeech) — аудиокниги LibriVox, общественное достояние в США. 11.9 ч, 5 дикторов (не больше 2.5 ч на диктора), ударения размечены RUAccent.
  • 3000 фраз со сдвинутыми ударениями, озвученных ESpeech-TTS-1 RL-V2 (Apache-2.0): в 70% фраз 1–3 слова уведены на другой слог, и на них знак стоит всегда. Без таких примеров знак почти всегда совпадает с привычкой модели, и учить его читать нечему.

Всё — скрипты, проверка измерителя, три варианта адаптера, в том числе неудачные, — в отчёте эксперимента; решение — в ADR 0023.

Ограничения

  • Ударение — то, что даёт RUAccent, с его ошибками. На английских терминах кириллицей он ставит норму или угадывает («джене́рики» вместо «дже́нерики», «он де́лит каскад»), омограф в начале предложения («Замок…») не разбирает, а изредка ошибается и в обычных омографах. Исправляется записью словаря произношений со знаком — её voicy ставит поверх RUAccent.
  • На словах с сильной привычкой модель слушается знака не всегда.
  • Измеритель ударений автоматический и по одному слову шумит (10–12% ложных тревог); на слух результат проверял один человек, слепого теста не было.
  • Только русский. Для других языков берите исходные веса.

Лицензия

Apache-2.0, от Qwen3-TTS-12Hz-1.7B-Base; LICENSE приложен. Изменения относительно исходной модели: в веса говорящей части влит адаптер LoRA, обученный на данных выше; веса переведены в GGUF и ONNX и квантованы (говорящая часть — q5_k, предсказатель — q8_0, декодер — fp16) скриптами HaujetZhao/Qwen3-TTS-GGUF (MIT). Все обучающие данные — под свободными лицензиями или в общественном достоянии. Ответственность за синтезированное — в том числе за клонирование голоса — лежит на том, кто синтезирует.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · voicy

Нельзя запустить

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
e644ae0

0 моделей