← На главную

Kokoro синтезирует реалистичную речь на CPU через Docker

07.07.2026 18:24 · hackernews

Несколько лет назад локальная генерация речи казалась фантастикой. Сейчас качество отличное, и приватность не страдает — всё работает на твоём железе.

В основе Kokoro — модель всего с 82M параметров, которая выдаёт реалистичную речь на английском, китайском и хинди. В ней около 50 голосов, в основном английских. В статье показан пример на машине с GTX 1080 Ti, где GPU занят под LLM‑инференс, а синтез речи полностью лёг на CPU.

Самый простой способ запустить Kokoro — взять готовый контейнер Kokoro-FastAPI. Внутри уже лежат предзагруженные голосовые модели, поэтому образ весит ~5 ГБ. Запускается одной командой через Docker или Podman:

podman run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu

Проверить работу можно в простом веб‑интерфейсе на localhost:8880/web — вводишь текст, слушаешь результат. Контейнер также поддерживает API, совместимый с OpenAI speech API, так что существующие программы переключить несложно.

Пример использования через командную строку (переменные окружения):

export TTS_API_BASE_URL=http://127.0.0.1:8880/v1 ./speak.js "Good morning! How are you today?"

Для Python команда почти такая же. Аудио сохраняется в MP3, а если установлен SoX, ещё и сразу воспроизводится. Голос можно сменить переменной TTS_VOICE, например am_eric. Полный список голосов лежит на Hugging Face: huggingface.co/hexgrad/Kokoro-82M/blob/main/VOICES.md.

Насколько это быстро? Тесты на коротком абзаце про Юпитер с голосом am_eric (лучший из трёх запусков):

Первому CPU уже 12 лет. Если он справляется, система действительно шустрая.

Есть альтернатива — Speaches (speaches.ai), тоже в контейнере и с OpenAI‑совместимым API. В отличие от Kokoro-FastAPI, Speaches не тащит веса в образ — их надо скачивать отдельно через API. Зато внутри сразу есть Whisper — качественная система распознавания речи от OpenAI. Если нужны и синтез, и распознавание, Speaches может стать решением «всё в одном».

В паре с локальной LLM такой TTS позволяет слушать ответы нейросети, а не читать их.

Читать оригинал →