Как озвучить текст на Raspberry Pi без интернета и задержек

09 апр 2026

Это архивный репозиторий и может быть устаревшим.

13,778
1,545
97
4 недели

Представьте, что вы делаете читалку для электронных книг или умное зеркало. Вам нужно, чтобы устройство «разговаривало», но тащить в проект тяжелые облачные API от Google или OpenAI не хочется. Во-первых, это платно. Во-вторых, если пропадет Wi-Fi, ваш девайс онемеет. В-третьих, задержка в пару секунд между текстом и звуком убивает всё ощущение «умного» гаджета.

Недавно я наткнулся на репозиторий supertonic от команды Supertone. Это движок текстового синтеза (TTS), который работает полностью локально, весит копейки по меркам нейросетей и выдает звук почти мгновенно даже на слабом железе.

Supertonic Banner

Что это такое и почему оно летает

Supertonic — это компактная модель для синтеза речи, оптимизированная под запуск через ONNX Runtime. Если вы привыкли, что для качественного TTS нужна видеокарта с 24 ГБ памяти, то здесь всё иначе. Модель содержит всего 66 миллионов параметров. Для контекста: это в десятки раз меньше, чем у популярных опенсорсных решений, которые еле ворочаются на домашнем процессоре.

Разработчики сделали ставку на скорость. На MacBook с чипом M4 Pro синтез идет в 167 раз быстрее реального времени. То есть часовую аудиокнигу можно «наговорить» меньше чем за минуту. Но самое крутое — это работа на Edge-устройствах. В репозитории есть видео, где движок крутится на Raspberry Pi и электронной читалке Onyx Boox в режиме полета.

Реклама

Чем проект выделяется на фоне остальных

Обычно маленькие модели TTS звучат как роботы из восьмидесятых или постоянно ошибаются в ударениях и числах. У Supertonic есть несколько фишек, которые решают эти боли.

Умная обработка текста без костылей

Самая большая проблема TTS — это сокращения и спецсимволы. Как прочитать «$5.2M»? Большинство моделей скажут «доллар пять точка два эм». Supertonic из коробки понимает контекст и произносит «five point two million dollars». То же самое касается дат, номеров телефонов с добавочными кодами (ext. 402) и технических единиц вроде «30kph». Вам не нужно писать гору регулярных выражений для пре-процессинга текста.

Голос на любой вкус

В январе разработчики выкатили вторую версию с поддержкой нескольких языков: английского, корейского, испанского, португальского и французского. Русского в официальном списке пока нет, но архитектура позволяет добавлять свои голоса. Кстати, у них запустился Voice Builder — инструмент, который позволяет превратить ваш собственный голос в модель для этого движка.

Запуск везде, где есть процессор

Список поддерживаемых платформ впечатляет. Это не просто Python-скрипт. В репозитории лежат готовые примеры для:

  • C++, Rust и Go — для системщиков.
  • Swift и Java — для мобильной разработки.
  • Node.js и даже браузера (через WebGPU/WASM).
  • Flutter — для тех, кто пишет кроссплатформенные приложения.

Voice Builder

Техническая изнанка

В основе проекта лежат довольно свежие научные работы. Если заглянуть в раздел Citation, можно найти ссылки на статьи про Flow Matching и новую технологию позиционного кодирования LARoPE. Если упростить, это помогает модели лучше сопоставлять текст со звуком и не «проглатывать» слова при длинных предложениях.

Для инференса используется ONNX Runtime. Это стандарт индустрии, который позволяет запускать нейронки на CPU максимально эффективно. Модели дополнительно оптимизированы с помощью OnnxSlim, чтобы занимать еще меньше места в памяти.

Как попробовать в деле

Завести проект можно буквально за пару минут. Сначала клонируем репозиторий:

git clone https://github.com/supertone-inc/supertonic.git
cd supertonic

Затем нужно скачать сами веса моделей с Hugging Face. Учтите, что там используется Git LFS, так что он должен быть установлен в системе:

git clone https://huggingface.co/Supertone/supertonic-2 assets

Если вы пишете на Python, запуск выглядит так:

cd py
pip install supertonic
python example_onnx.py

В папке py появится WAV-файл с результатом. Аналогично всё работает для Node.js или Rust — просто переходите в нужную директорию и следуйте инструкциям в локальном README.

Кому это пригодится

Я вижу несколько сценариев, где Supertonic будет идеален. Во-первых, это любые IoT-устройства и встраиваемые системы. Если вы делаете голосового ассистента для дома, вам не нужна задержка от облака.

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

В-третьих, это геймдев. Локальный TTS позволяет генерировать реплики NPC на лету, не раздувая размер дистрибутива игры гигабайтами предзаписанных аудиофайлов.

Конечно, это не замена профессиональной озвучке для больших проектов, но для интерфейсов, уведомлений и быстрых прототипов — это, пожалуй, одно из самых шустрых решений на сегодня. Скудная поддержка языков (пока нет русского) — единственный серьезный минус, но, судя по активности в репозитории, это вопрос времени и комьюнити.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.