Speech-to-text
25 languages via NVIDIA Parakeet TDT. ~19× faster than Whisper on Apple Silicon,
~2.5× on CPU. Auto language detection, optional VAD for long audio,
word-level timestamps, plain text, or LLM-friendly TOON output.
- EN · RU · DE · FR · ES
- + 20 more
- word timestamps
- VAD opt-in
- JSON / TOON
New
Speaker diarization
Drop a meeting recording in, get back timestamped segments tagged with a stable
speaker ID. Powered by FluidAudio’s Sortformer model running on the Apple Neural
Engine via a Swift sidecar — ~4.6× real-time on a 71-minute Zoom call. v1.19
gives the cold ANE warmup extra headroom so the first --speakers call
on a fresh process no longer hits a false timeout.
- --speakers
- darwin-arm64
- Sortformer (CoreML)
- opt-in install
Text-to-speech
Kokoro runs through CoreML/ANE on Apple Silicon and ONNX on Linux and Windows;
Vosk-TTS covers Russian, and macOS system voices need no model download. macOS
auto-routes from the text language; Linux and Windows use --lang or
--voice. Kokoro (ANE or ONNX) and Vosk support SSML
<prosody rate> and <break>;
<emphasis> is Vosk-only. macOS system voices reject
--ssml.
OGG/Opus voice notes
Synthesize straight into the format Telegram, WhatsApp, Signal and Discord
expect for inline voice messages — ~24× smaller than WAV. Pick a bitrate; the
engine handles the OggOpus container, no ffmpeg required.
- --format ogg-opus
- 16 / 32 / 64 kbps
Timestamped transcripts
--json --timestamps adds a words array to each segment:
file-relative predictions on a 0.08-second grid. Each word end is predicted
independently, so consecutive spans may overlap and an end is not necessarily the
next word’s start. The field is absent when the decoder has no usable words (for
example after --itn), not an empty array.
Language detection
107 languages from audio via SpeechBrain ECAPA-TDNN. JSON and TOON also expose
textLanguage separately from spoken audioLanguage:
Apple’s recognizer on macOS and bundled tinyld elsewhere. Their confidence scales
are not comparable.
Voice activity detection
Silero VAD v5 trims silence on long, sparse recordings. Install it explicitly
with kesha install --vad; Kesha uses it automatically past 120
seconds once it is available.
Persistent --stdin-loop
One TTS process, many requests. Models stay in memory across calls so each
synthesis hits ~10 ms cold-start instead of ~800 ms. Ideal for chatbots,
live agents, and long agentic loops.
New
Live dictation with recovery
On darwin-arm64, kesha record --live prints the microphone transcript
to stdout. Install VAD explicitly, then opt into silence stopping with
--auto-stop: 1,000 ms silence after 250 ms speech by default. Live
recording has a 120-second hard stop by default; pass --max-seconds
to override it. Ctrl-C prints the transcript; the recovery WAV is deleted only
after uninterrupted successful stdout delivery, and is kept if delivery fails or
Ctrl-C or SIGTERM ends the session.
- darwin-arm64
- kesha install --vad
- --auto-stop
New
Privacy-safe diagnostic logs
Opt-in local-only command events with paths and user-supplied text redacted.
kesha doctor surfaces status; kesha logs manages them;
kesha support-bundle bundles them for support. Mode
retain-on-failure keeps logs only when a command actually fails.
- kesha doctor
- kesha logs
- support-bundle
- local only
v1.24
Multilingual TTS
Install TTS only when you need it. Kokoro powers English and multilingual voices
through CoreML/ANE on Apple Silicon and ONNX on Linux/Windows; Russian uses
Vosk-TTS. Chinese, Japanese, and Hindi are darwin-arm64 only;
Chinese accepts Han text, while Hindi requires romanized Latin input and Japanese
requires romaji (Devanagari and kana/kanji are rejected). Use --lang
on Linux and Windows rather than relying on macOS auto-routing.
- en · es · fr · it · pt
- ru (Vosk)
- hi · ja · zh (darwin-arm64)
- --lang off macOS
v1.22
Structured error taxonomy
Every failure path prints a stable, machine-readable error [CODE]: …
line. kesha-engine --error-codes-json dumps the whole taxonomy; a
docs drift gate keeps docs/errors.md honest. Agents and CI can branch
on why something failed instead of regexing log soup.
- stable codes
- --error-codes-json
- exit codes
- agent-friendly
Rust engine, zero deps
A single Rust binary for macOS arm64, Linux x64, and Windows x64. FluidAudio
(CoreML) on Apple Silicon via dedicated sidecars (diarization, TTS, language
detection); ort (ONNX) elsewhere. Symphonia decodes WAV, MP3, OGG/Opus, FLAC,
AAC, M4A; pure-Rust opus + flacenc handle encode
— royalty-free codecs, no C dep, no patent exposure. Linux .deb and
.rpm packages signed with Sigstore.
No ffmpeg. No Python. No native Node addons.
OpenClaw-ready
Plug straight into your LLM agent as a voice-processing skill. Give Claude (or any
agent) ears and a voice in one install.