«Таити, Таити! Не были мы ни в какой Таити! Нас и тут неплохо кормят.»
[lang: ru, confidence: 1.00]
Это не цитата из мультика. Это вывод моего опенсорс-тулкита, в который я скормил войс на 4 секунды.
Зачем я это сделал
Я пилю для себя персонального AI-агента — OpenClaw. Он ходит в Gmail, в шелл, в календарь, отвечает в телеге. И в какой-то момент я понял, что хочу кидать ему голосовые, а не печатать простыни на телефоне пальцем.
Whisper, конечно, работает. Но:
- Python в проде — это всегда праздник зависимостей
openai-whisperна моём M3 Pro транскрибирует минутный войс секунд 20faster-whisperполучше, но всё равно тащит CUDA-stack и ffmpeg- Хочется локально, без отправки голоса в OpenAI
А потом NVIDIA выкатила модель Parakeet TDT 0.6B — меньше Whisper, быстрее, и по бенчмаркам точнее на европейских языках, включая русский. Parakeet по-английски — попугайчик. Ну и дальше, сами понимаете: если попугай, то Кеша. Название придумалось само, на второй строчке README.
Что получилось
Kesha Voice Kit — CLI-тулза и одновременно плагин для OpenClaw. Кидаешь файл — получаешь транскрипт.
curl -fsSL https://bun.sh/install | bash
bun install -g @drakulavich/kesha-voice-kit
kesha install # скачает движок и модели
kesha voice.ogg # транскрипт в stdout
Под капотом — Rust-бинарь на 20 мегабайт. Без Python. Без ffmpeg. Без native-аддонов для Node. Просто один исполняемый файл.
- На Apple Silicon гоняет через CoreML и Neural Engine (спасибо ребятам из FluidAudio)
- На Linux/Windows — через ONNX Runtime
- Аудио декодит Symphonia, поэтому ogg/opus/mp3/m4a/flac/wav — всё из коробки, без ffmpeg в системе
Циферки
На M3 Pro против openai-whisper с large-v3-turbo:
- ~15× быстрее на Apple Silicon
- ~2.5× быстрее на CPU (где работает через ONNX)
Это при сопоставимом качестве транскрипции. В репе есть BENCHMARK.md с прогонами по русским войсам из реальной переписки и английским файлам — с цифрами, не на словах.
25 языков для распознавания речи (включая русский и украинский), 107 языков для детекции языка по аудио. Плюс определение языка текста через системный NLLanguageRecognizer на макоси — бесплатно и мгновенно.
OpenClaw-интеграция — ради чего всё и затевалось
Одна команда — и у агента появляются уши:
openclaw plugins install @drakulavich/kesha-voice-kit
openclaw config set tools.media.audio.models \
'[{"type":"cli","command":"kesha","args":["--format","transcript","{{MediaPath}}"],"timeoutSeconds":15}]'
Дальше: прилетает войс в Telegram/WhatsApp/Slack → локально транскрибируется → агент получает текст + язык + confidence и уже думает что с этим делать. Ни один килобайт голоса не уходит наружу.
TTS (превью)
В M1-релизе добавил и обратную сторону — чтобы Кеша умел говорить, а не только слушать. Под капотом Kokoro-82M:
brew install espeak-ng
kesha install --tts
kesha say "Hello, world" > reply.wav
Пока только английский. Русский и авто-роутинг языков — в M3 на роадмапе. Если кому интересно взяться — issue ждёт.
Что дальше
- Русский TTS (очевидный некст)
- OGG/Opus и MP3 на выходе у
kesha say - Статик-линковка
espeak-ng, чтобы убрать последнюю системную зависимость - Нормальный стриминг для длинных файлов
Позырить / заюзать / поругать
- 🐙 Гитхаб: github.com/drakulavich/kesha-voice-kit
- 📦 npm:
@drakulavich/kesha-voice-kit - 📜 MIT
Буду рад звёздочкам, issues и PR-ам. Особенно интересно услышать от тех, кто пилит своих AI-агентов и упирался в ту же стену с Whisper — зашло/не зашло, что не хватает, где сломалось.
Свободу попугаям! 🦜


