Phonon TTS: маленькая открытая нейросеть озвучки работает без сети и сервера

Phonon TTS: маленькая открытая нейросеть озвучки работает без сети и сервера

Две недели назад авторы открыли Phonon, небольшую нейросеть для синтеза речи (text-to-speech, TTS), которая запускается на собственном устройстве пользователя. Ей не нужны ни сервер, ни сеть, а набираемый текст остаётся у пользователя. В блоге Hugging Face они разбирают, зачем построили модель, что она умеет, какие демо вышли вместе с ней и как она показала себя в Open TTS Leaderboard.

Авторы исходят из того, что большинство голосового ИИ живёт в облаке: каждая фраза делает круг до сервера и обратно. Хорошо звучащий голос на маленьком устройстве, по их словам, всегда было сложно получить: либо модель мала, но звучит плохо, либо звучит отлично, но не помещается. Phonon объявили в апреле и ещё шесть месяцев дорабатывали вместе с партнёрами и первыми пользователями: модели стали меньше, добавились языки и поддержка своих голосов через клонирование и описание голоса. Модель основана на линии Pocket TTS и генерирует звук методом flow matching, который сильно отличается от подходов в других TTS-системах. Именно он позволил получить такое качество в маленькой модели, но обучение сначала было численно нестабильным и потребовало нескольких приёмов, чтобы получить качественный результат на всех пяти языках.

Релиз включает два размера, примерно 65 и 75 МБ. Вместе они говорят по-английски, по-французски, по-немецки, по-испански и по-португальски. Встроено более 100 голосов, свои можно создать в Gradium Studio. По словам авторов, Phonon справляется с тем, на чём часто спотыкаются другие TTS-системы: телефонными номерами, датами и кодами. Работает на телефонах, ноутбуках, одноплатных компьютерах и во вкладке браузера. Phonon 31m говорит по-английски и выпущена под лицензией Apache 2.0, то есть бесплатна, в том числе в коммерческих продуктах. Phonon 40m охватывает все пять языков, но под некоммерческой лицензией. Остальные модели распространяются по CC BY-NC: бесплатно для некоммерческих проектов, а для коммерческих цена зависит от числа пользователей, а не от объёма сгенерированной речи (конкретные цены не названы).

К запуску вышли демо: на Apple Watch без Wi-Fi Phonon пошагово ведёт через заваривание кофе; на iPhone без сигнала считает повторения в упражнениях; робот Lamp от Autonomous в сортировочной шляпе говорит в образе; в браузере офлайн-игра с динозавром превращается в радиошоу ведущего Рекса; есть также фантастическая игра, озвученная на машине игрока, и чтение Пруста страница за страницей. Команда Hugging Face сделала интеграцию в Transformers, так что модель доступна разработчикам с первого дня. Разработчики уже строят на ней свои проекты: конвертация ExecuTorch запускает Phonon на GPU посетителя прямо в браузере, Micdrop приносит её в приложения на Node.js, есть Space smallest-s2s. За первые две недели Phonon скачали более 200 тысяч раз, и она всё ещё в трендах Hugging Face.

Open TTS Leaderboard, новый проект Hugging Face, где на фоне более 9 000 TTS-моделей на Hub можно сравнивать открытые модели и слушать их рядом. Оценка идёт по 23 языкам: разборчивость (доля ошибок в словах), скорость (обратный коэффициент реального времени и время до первого звука) и естественность (UTMOS для английского, KOMOS для корейского); оцениваются фиксированный голос и клонирование, для клонирования добавлено сходство с говорящим. Есть вкладка Listen для прослушивания и голосования. По разборчивости, как пишут авторы, Phonon первая в немецком и испанском и в первой тройке во всех оценённых языках, рядом с моделями до 100 раз больше неё. По скорости, по их оценке, модели лидируют в потоковом бенчмарке на CPU по времени до первого звука.

Для запуска на устройстве авторы создали новый фреймворк вывода ptts с поддержкой более 10 бэкендов: CPU (Intel, Arm, WebAssembly), GPU (CUDA, Vulkan, Metal, WebGPU) и NPU (Apple Core ML, Snapdragon). Phonon также есть в Transformers начиная с версии v5.21 как эталонная реализация на PyTorch: ptts запускает один поток на устройстве, а Transformers нацелена на пропускную способность GPU (пакетная генерация, torch.compile всего графа), например для массового синтеза речевых наборов данных. Определение модели в Transformers занимает около 200 строк, описывающих только отличия от Pocket TTS. Phonon генерирует аудио-латенты авторегрессивно; кодек, переводящий звук в латенты, играет роль токенизатора. Голос, это не запись, а тензор латентов говорящего; аудио-токенизатор поставляется только с декодером, а голоса приходят предвычисленными (gradium/phonon-voices). В примере кода модель gradium/phonon-31m-en содержит 30 788 354 параметра, а аудио-токенизатор, 10 305 313.

Дальше авторы предлагают клонировать голос по короткой записи с согласия говорящего или описать новый обычным текстом в Gradium Studio, скачать файл голоса и запускать полностью на устройстве. Они также обучают заказные модели Phonon с партнёрами: можно сделать модель ещё меньше, добавить корейский, арабский или японский, дообучить на собственном словаре.

Ключевые факты

  • Phonon, небольшая нейросеть синтеза речи, работающая на устройстве без сервера и сети; два размера, около 65 и 75 МБ, пять языков (английский, французский, немецкий, испанский, португальский), более 100 встроенных голосов.
  • Лицензии: Phonon 31m (английский), Apache 2.0, бесплатно и для коммерции; Phonon 40m (все пять языков) и остальные модели, CC BY-NC, для коммерческого использования цена зависит от числа пользователей.
  • Более 200 тысяч загрузок за первые две недели; по словам авторов, в Open TTS Leaderboard Phonon первая по разборчивости в немецком и испанском и в первой тройке во всех оценённых языках, а по времени до первого звука лидирует в потоковом бенчмарке на CPU.
  • Для запуска создан фреймворк ptts с более чем 10 бэкендами (CPU, GPU, NPU); модель также доступна в Transformers начиная с v5.21.
  • Свои голоса можно клонировать по короткой записи с согласия говорящего или описать текстом в Gradium Studio; авторы также берутся обучать заказные модели с партнёрами.

Почему это важно

Озвучка на самом устройстве убирает облачный круг запрос-ответ: текст остаётся у пользователя, а голос работает без сети. Авторы утверждают, что при размере порядка 65-75 МБ Phonon держится в первой тройке по разборчивости во всех оценённых языках рядом с моделями до 100 раз больше. Часть весов открыта, и Phonon 31m можно свободно использовать даже в коммерческих продуктах.

Кому это важно

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

Как это применить

Попробовать Phonon можно прямо в браузере, а в коде, через Transformers начиная с версии v5.21 (модель gradium/phonon-31m-en, голоса из gradium/phonon-voices) или через фреймворк ptts для запуска на устройстве. Для коммерческого продукта без платы подходит только Phonon 31m (английский, Apache 2.0); для пяти языков и других моделей лицензия CC BY-NC, а цена за коммерческое использование зависит от числа пользователей (сумм в тексте нет). Свой голос создаётся в Gradium Studio: клонированием по короткой записи с согласия говорящего или описанием текстом.

Можно ли доверять

Это материал самих авторов Phonon, опубликованный на сайте Hugging Face, поэтому оценки качества, их собственные формулировки. Open TTS Leaderboard назван новым проектом Hugging Face. Конкретных значений метрик (доли ошибок в словах, времени до первого звука) в тексте нет, а с какими именно моделями сравнивается Phonon, не сказано. Цифры по загрузкам и местам в рейтинге стоит проверять на самих страницах Hugging Face.

Риски и подводные камни

Бесплатная коммерция разрешена только для английской Phonon 31m под Apache 2.0; модель на все пять языков и остальные идут по CC BY-NC, и для коммерческого использования потребуются платные условия, привязанные к числу пользователей. Обучение, по признанию авторов, было численно нестабильным и требовало нескольких приёмов. Клонирование голоса в тексте привязано к согласию говорящего. Первое место заявлено только в немецком и испанском по разборчивости; в остальных языках, первая тройка.

«Ей не нужны ни сервер, ни сеть, а то, что вы набираете, остаётся у вас.»

— авторы Phonon, блог Hugging Face