Kokoro всплывает снова и снова — он вышел в топ Hacker News, возглавляет открытые рейтинги «Текст в речь», и создатели всё чаще спрашивают, может ли модель на 82 миллиона параметров, работающая на обычном CPU, действительно заменить платный voice API. Поэтому мы установили её, запустили на ноутбуке и сгенерировали примеры, которые вы можете послушать ниже. Это разбор с практикой: что такое Kokoro, насколько он реально хорошо звучит, две ловушки настройки, которые отняли у нас время, и когда лучше выбрать хостинговый инструмент. Источник: github.com/hexgrad/kokoro (Apache-2.0).
Что такое Kokoro и кто его сделал?
Kokoro — это модель «Текст в речь» с открытыми весами, опубликованная hexgrad под именем Kokoro-82M. Главное — прямо в названии: 82 миллиона параметров — крошечный размер по меркам 2026 года, достаточно маленький, чтобы работать на телефоне, — и при этом она выдаёт естественную, выразительную дикторскую речь. Модель построена на ветке StyleTTS 2 и выпущена под либеральной лицензией Apache-2.0, так что она действительно бесплатна и для коммерческого использования.
По состоянию на 2026-07-11 основной репозиторий hexgrad/kokoro имеет примерно 7 900 звёзд на GitHub. Мы запускали модель через ONNX-рантайм от сообщества thewh1teagle/kokoro-onnx (около 2 600 звёзд, MIT) — это самый простой способ запустить её на CPU без установки PyTorch.
Покопавшись в самом файле весов, мы насчитали 54 встроенных голоса в 9 языковых и акцентных группах — американский и британский английский, испанский, французский, хинди, итальянский, японский, бразильский португальский и китайский (мандарин). Американские английские голоса явно самые отполированные.
Мы реально запустили это (Apple M3 Pro, только CPU)
Никакого GPU, никакого облака — только MacBook Pro с M3 Pro и 18 GB RAM. Вот честный разбор по шагам.
Установка и веса
Python-пакет ставится за секунды: pip install kokoro-onnx soundfile. Но вот первая ловушка: pip-пакет содержит код, а не модель. Нужно вручную скачать два файла со страницы релизов kokoro-onnx на GitHub: kokoro-v1.0.onnx (310 MB) и voices-v1.0.bin (27 MB). В quickstart это почти не проговаривается, поэтому первый запуск падает с ошибкой отсутствующих файлов, пока вы не скачаете веса.
Баг с путём espeak-ng (тот, что реально съел время)
Kokoro превращает текст в фонемы с помощью espeak-ng. На самой первой генерации мы увидели такое:
Error processing file '/Users/runner/work/espeakng-loader/.../espeak-ng-data/phontab': No such file or directoryПуть /Users/runner/work/ — явная подсказка: wheel espeakng-loader из pip содержит libespeak-ng, собранную в CI с жёстко прошитым путём к данным, которого на вашей машине не существует. Самое раздражающее: установка переменной окружения ESPEAK_DATA_PATH ничего не даёт, потому что kokoro-onnx её вообще не читает — путь к данным берётся напрямую из встроенного loader.
Исправление, которое сработало: установите системный espeak-ng и явно укажите Kokoro пути через EspeakConfig:
brew install espeak-ng # macOS; apt install espeak-ng on Linux
from kokoro_onnx import Kokoro, EspeakConfig
cfg = EspeakConfig(
lib_path="/opt/homebrew/lib/libespeak-ng.dylib",
data_path="/opt/homebrew/share/espeak-ng-data",
)
k = Kokoro("kokoro-v1.0.onnx", "voices-v1.0.bin", espeak_config=cfg)После этого генерация просто работает. Если вы когда-либо боролись именно с ошибкой phontab: No such file — это и есть решение.
Скорость (измерено на прогретой системе)
Только на CPU модель загружается примерно за 1.7 секунды, а синтез уверенно быстрее реального времени. Абзац озвучки длительностью 22 секунды отрендерился за 3.5 секунды — real-time factor около 0.16×, то есть примерно в 6 раз быстрее воспроизведения. Короткие одиночные предложения возвращаются за 1–2 секунды. Для настолько маленькой модели на ноутбуке это действительно рабочая, продакшен-годная производительность. Вот реальная форма волны для этого абзаца:

Примеры, которые мы сгенерировали (без правок)
Каждый клип ниже мы сделали сами с помощью Kokoro на CPU M3 Pro, описанном выше — сырой выход модели, без чистки и без постобработки. Включайте и оценивайте качество сами.
Сгенерировано VisionStory с Kokoro-82M через kokoro-onnx, 2026-07-11. Обратите внимание на очевидный признак: это чистая голосовая дорожка — но это только голос. Нет лица, нет движения губ, нет ведущего в кадре. Этот разрыв — и есть главная мысль следующего раздела.
Честный вердикт: сильные стороны и реальные ограничения
Что нас действительно впечатлило:
- Качество на байт — впечатляющее. Для 82 миллионов параметров американские английские голоса звучат естественно и выразительно — достаточно близко к платному TTS, чтобы большинство слушателей не заметили подвоха в коротком клипе.
- Она правда быстро работает на CPU. 6× реального времени на ноутбуке без GPU — главная фишка, и она подтверждается.
- По-настоящему бесплатно и дружелюбно к коммерции. Apache-2.0 без оплаты «за символ». Для озвучки в большом объёме такая экономика — редкость.
Где всё ломается — и это важно:
- Нет клонирования голоса. Есть 54 фиксированных пресета. Вы не можете клонировать свой голос или голос клиента — если это ваш сценарий, Kokoro вам не подходит.
- Качество английского зависит от espeak-ng — отсюда и баг с упаковкой выше, и периодически неверно произнесённые имена, бренды или аббревиатуры.
- Длинный текст нужно вручную резать на куски. Есть лимит по длине фонем на один вызов, поэтому длинные сценарии придётся делить и потом сшивать аудио.
- Голоса не на английском — как повезёт — заметно более нестабильно, чем флагманский набор American English.
- На выходе — голый WAV. Нет таймкодов по словам, нет визем — ничего, что из коробки помогло бы делать липсинк.
- Это только голос. Нет лица, нет видео. Чтобы получить говорящего ведущего, нужно связать Kokoro с отдельной системой липсинка или аватаров и самостоятельно выстроить тайминг.
Самостоятельный хостинг Kokoro vs хостинговый инструмент: что выбрать?
Kokoro и хостинговый инструмент с аватаром решают разные половины задачи. Kokoro даёт вам голос; инструмент вроде VisionStory даёт говорящего ведущего — голос, лицо и липсинк в одном результате. Вот честные компромиссы.
| Kokoro (self-host) | VisionStory (hosted) | |
|---|---|---|
| Стоимость | Бесплатно (ваше железо) | Подписка / Кредиты |
| Настройка | pip + веса 330 MB + исправление espeak-ng | Не нужна — работает в браузере |
| Что вы получаете | Только голосовая дорожка (WAV) | Видео с говорящим аватаром (голос + лицо + липсинк) |
| Клонирование голоса | Нет — 54 пресета | Да — клонируйте свой голос |
| Скорость на клип | ~0.16× реального времени на CPU (секунды) | Секунды, в облаке — без локальных вычислений |
| Коммерческое использование | Да (Apache-2.0) | Да (в зависимости от плана) |
| Поддержка | Вы сами правите espeak, зависимости, разбиение текста | Не требуется |
| Лучше всего, когда | Нужна только бесплатная голосовая дорожка и вы умеете кодить | Нужно готовое говорящее видео — быстро |
Выбирайте Kokoro, если вам нужна просто бесплатная озвучка, вы уверенно чувствуете себя в Python и отдельно разберётесь с лицом и липсинком (или лицо вообще не нужно). Выбирайте хостинговый инструмент, если вам нужен голос, привязанный к ведущему с липсинком, или нужно клонировать голос конкретного человека — Kokoro не умеет ни то, ни другое.
Чему нас научил Kokoro
Главный урок от запуска Kokoro — голос становится товаром. Модель размером 82 MB на ноутбуке уже выдаёт озвучку, достаточную для реальной работы, бесплатно. Если единственное обещание вашего продукта было «мы делаем Текст в речь», этот ров уже исчез.
Сложная, всё ещё не решённая часть — всё, что после голоса: превратить аудиодорожку в убедительное говорящее лицо — точный липсинк, мимика, движения головы и цельный тайминг. Именно над этим уровнем мы и работаем. Поэтому наш вывод не «не используйте Kokoro» — это действительно хороший голосовой движок. Просто один голос — это половина видео. Если вам нужна вторая половина, VisionStory превращает фото и сценарий в липсинкнутого говорящего ведущего за один шаг, а если нужно попасть в конкретный голос, он умеет и клонировать его.
