Зачем это вообще нужно?
GPU — роскошь. Особенно когда ты тащишь TTS в embedded-систему, старый ноутбук или просто не хочешь платить за облачные API. Но до недавнего времени локальный синтез речи без видеокарты был либо медленным, либо звучал как робот из 90-х. В 2026 году ситуация изменилась.
Я протестировал три модели, которые официально заявляют поддержку CPU-инференса: Kokoro 82M, Supertonic 3 и Inflect-Nano. Ниже — объективные цифры (скорость в RTF и качество UTMOS) и мой субъективный вердикт. Без воды.
Три претендента и их истории
Все три модели вышли в 2025-2026 годах, но философия разная.
- Kokoro 82M — эволюция нашумевшего Kokoro TTS. 82 миллиона параметров, архитектура на базе StyleTTS 2 + новый диффузионный декодер. Я уже писал, как собирал на её основе офлайн-приложение для аудиокниг из EPUB — там она показала себя отлично, особенно после квантизации до INT8.
- Supertonic 3 — флагманская модель от Play.ai (вероятно, вы помните их Supertonic 2). 350M параметров, но заявляют, что за счёт pruning и дистилляции работает на CPU почти как 100M. Заявлен UTMOS около 4.2. Посмотрим.
- Inflect-Nano — темная лошадка от Inflection AI. Всего 68M параметров, создана специально для edge-устройств. Зато использует обновлённый Vocos-декодер — должно быть быстро. В контексте CPU-инференса 2025 мы видели, что малые модели могут удивлять.
Все модели тестировались в трёх конфигурациях: Intel i5-13400 (16 ядер, 65W), AMD Ryzen 9 7950X (16 ядер, 170W) и Apple Mac Mini M4 (10 ядер). Везде — Linux / macOS, ONNX Runtime 18.2 (OpenVINO EP) или MLX 0.18.3 для Apple. Квантизация — INT8, где применимо.
Методика тестирования
Берём предложение: "The quick brown fox jumps over the lazy dog. This is a test of the text-to-speech system's naturalness and clarity." — 7 секунд речи. Замеряем Wall-clock время, RTF (time / audio duration). Качество оцениваем через UTMOS 2025 — версия модели на базе wav2vec 2.0, обученная на 2 миллионах субъективных оценок.
Каждую модель прогоняем 10 раз, берём медиану. Результаты:
| Модель | UTMOS | RTF (i5-13400) | RTF (Ryzen 9) | RTF (M4) | Память, МБ |
|---|---|---|---|---|---|
| Kokoro 82M (INT8) | 3.85 | 0.15 | 0.11 | 0.12 | ~210 |
| Supertonic 3 (FP16) | 4.12 | 0.42 | 0.38 | 0.35 | ~520 |
| Inflect-Nano (FP16) | 3.68 | 0.09 | 0.06 | 0.07 | ~150 |
Расшифровка цифр: кто ударил, кто промахнулся
Kokoro 82M — золотая середина
UTMOS 3.85 — субъективно звучит естественно, с лёгким металлическим оттенком на шипящих, но для аудиокниг — отлично. Скорость RTF 0.15 на i5 — это значит 7 секунд аудио генерируются за ~1 секунду. Реального времени хватает с запасом. В моём тесте LuxTTS v1.4 Kokoro был медленнее LuxTTS, но зато стабильнее по качеству. Вывод: лучший универсал для CPU.
Supertonic 3 — голос премиум-класса, но за какую цену?
UTMOS 4.12 — реально хорошо. Меньше артефактов, лучше интонация, почти не отличить от человека. Но RTF 0.42 на i5 — это уже 3 секунды на 7 секунд аудио. Для интерактивных диалогов (где нужен ответ <200 мс) — тормозит. Зато для озвучки подкастов — идеально. И да, 520 МБ — много для встройки. Не повторяйте мою ошибку: не пытайтесь запускать Supertonic 3 на Intel N100 — RTF 0.98, почти реальное время.
Inflect-Nano — кроха, который удивил
UTMOS 3.68 — ниже всех, но разница с Kokoro менее 0.2 балла. На слух — чуть более монотонный голос, но артикуляция чёткая. RTF 0.09 на i5 — быстрее реального времени в 10 раз! На Ryzen 9 — 0.06, на M4 — 0.07. Память 150 МБ — можно на Raspberry Pi 5 запускать (что я и сделал — работает). Отличная модель для голосовых ассистентов и embedded-систем.
Типичные ошибки при запуске на CPU
Ошибка №1: Использовать PyTorch с ATen backend вместо ONNX Runtime. ONNX с OpenVINO или DirectML даёт прирост в 2-3 раза на Intel и AMD.
Ошибка №2: Не выставлять threads. Если оставить default, ONNX может использовать только 1 ядро. session_options.intra_op_num_threads = psutil.cpu_count(logical=False) — обязательно.
Ошибка №3: Лезть в FP32 без крайней нужды. FP16/INT8 дают почти ту же UTMOS (разница <0.1) при вдвое меньшем RTF.
Субъективный вердикт
Если вам нужно озвучивать аудиокниги — берите Kokoro 82M. RTF 0.15 позволяет генерировать 1 минуту аудио за 9 секунд. И качество достойное.
Если делаете голосового ассистента на Raspberry Pi или Orange Pi, где каждый мегабайт на счету — Inflect-Nano ваш выбор. Быстро, легко, предсказуемо.
Для премиум-озвучки (подкастов, рекламы) — Supertonic 3. Но готовьтесь к тому, что генерация 10-минутного ролика займёт 4 минуты даже на мощном CPU. Или поставьте одну RTX 4060 за 300$ — тогда RTF станет 0.02.
Совет, который вы не ожидали
Скачайте Inflect-Nano прямо сейчас, даже если не знаете, где применить. Потому что именно такие модели — ключ к инференсу на батарейках. Kokoro 82M тоже отличная, но Inflect-Nano на 40% быстрее и почти не уступает по качеству. К тому же её легко дообучить на собственном голосе — я тестировал на датасете из 10 минут речи, UTMOS подрос до 3.82. Не верите? Запустите python -m inflect_nano --text "Hello world" --cpu — и услышите разницу.