On-device AI · Kokoro-82M

Neural text-to-speech. No cloud required.

6 languages, 37 voices, one Gradle line. On-device neural synthesis — your text never leaves the phone. No API key, no per-character fee, no internet. Start free, go Pro for streaming and extensibility.

// on-device AI · arm64-v8a · 24 kHz WAV · 82M params · 100% offline

MainActivity.kt
// one dependency
implementation("com.jokobee:jokobeetts:1.0.0")
// three lines to speak
val tts = Tts.create(context)
val audio = tts.synthesize("Hello world", lang = "en")
// works in any language
tts.synthesize("Bonjour le monde", lang = "fr")
tts.synthesize("Hola mundo", lang = "es")
On-device · no cloud · no API key SPEAKING
Why on-device

Your text stays on the phone.

Cloud TTS APIs send your text to a server and charge per character. JokobeeTTS runs the neural model locally — nothing uploaded, nothing billed, works offline. Private by design, unlimited usage, zero recurring cost.

On-device AI · Kokoro-82M neural engine 6 languages · FR EN ES PT IT 37 voices · male & female per language Private · text never leaves the device Offline · no internet required $0/character · no usage fee, ever 24 kHz · PCM WAV output Maven Central · com.jokobee
Languages

6 languages, production-grade normalization.

Each language has its own normalizer — currencies, dates, times, abbreviations, phone numbers, cardinal points — all spoken naturally. 400+ English loanwords automatically pronounced correctly in every romance language.

🇫🇷 French · CharsiuG2P · WER 0.00 🇺🇸 English US · misaki · 99.6% 🇬🇧 English GB · misaki british 🇪🇸 Spanish · CharsiuG2P · 100% 🇧🇷 Portuguese BR · CharsiuG2P · 100% 🇮🇹 Italian · CharsiuG2P · 100%
Free tier

Everything you need to ship a TTS app.

The free tier is a complete, production-ready TTS library — not a crippled demo. 6 languages, 37 voices, smart normalization, loanwords engine, custom pronunciation. No limits, no watermarks.

Free

Neural Synthesis

Kokoro-82M ONNX engine. Natural 24 kHz audio. 37 voices across 6 languages. Runs entirely on-device.

Free

Smart Normalization

Currencies, dates, times, abbreviations, cardinal points, phone numbers — spoken naturally per locale.

Free

Loanwords Engine

400+ English words automatically pronounced correctly in French, Spanish, Italian, Portuguese. "Package" = /ˈpækɪdʒ/, not /pakaʒ/.

Free

Custom Pronunciation

IPA, ARPABET, and TSV dictionaries. One line to make your app say any word correctly.

Free

Audio Stitching

Multi-sentence synthesis with configurable silence, crossfade, and peak normalization.

Free

Model Manager

Download models and voices on first launch. Keep your APK light — heavy assets load from Cloudflare.

Pro tier

An extensible TTS platform for professional apps.

Pro unlocks the extensibility layer — streaming, accent adapters, terminology dictionaries, normalization adapters, voice import and blending, auto language detection. Open formats for your own data, encrypted formats for proprietary content.

Pro

Streaming

Phrase-by-phrase streaming with callback or Kotlin Flow. Audio starts before full synthesis completes. Essential for chatbots and voice assistants.

Pro

Auto Language Detection

Pass lang="auto" — the library detects the language. Per-segment in streaming: French then English uses the right pipeline for each.

Pro

Voice Import & Blending

Import custom .pt voice files. Blend 2-3 voices with weighted mixing to create unique vocal identities.

Pro

Accent Adapters

Transform phonemes for regional accents — Québécois French, Castilian Spanish, European Portuguese. JSON or encrypted .jkba.

Pro

Terminology Dictionaries

Medical, legal, technical dictionaries in JSON, TSV, IPA or ARPABET. Stack multiple with priority. Open or encrypted .jkbt.

Pro

Normalization Adapters

Customize text processing for regional formats, abbreviations, expressions. JSON rules or encrypted .jkbn.

Architecture

4 extension points. One extensible pipeline.

Every word flows through a complete processing chain with 4 named extension points. The developer controls pronunciation at every level — from raw text to final phonemes.

Pipeline
Text
   [tts.normalization] PRO · text → text
   Normalizer per locale (currencies, dates, times…)
   tts.lexicon FREE · dev always wins
   [tts.dictionary] PRO · terminology packs
   Loanwords 402 anglicisms, automatic
   G2P misaki EN / CharsiuG2P
   [tts.accent] PRO · IPA → IPA
   PhonemePost vocab guard
   Kokoro ONNX 82M params
   WAV 24 kHz 🔊
Free & Pro

Ship for free. Extend with Pro.

The free tier is a complete TTS library — not a trial. Pro unlocks the extensibility platform: streaming, adapters, dictionaries, voice import, auto-detection. One-time purchase, yours forever.

Free Apache 2.0
$0 · Maven Central / JitPack / GitHub
  • 6 languages · 37 voices · neural synthesis
  • Production-grade normalization per locale
  • 402 loanwords (automatic, all romance languages)
  • Custom pronunciation (IPA / ARPABET / TSV)
  • Audio stitching (silence, crossfade, normalize)
  • Model Manager (download on first launch)
  • 24 kHz WAV · arm64-v8a · 100% offline
Extensible platform
Pro bundled license
$149 · one-time, yours forever
  • Everything in Free
  • Phrase-by-phrase streaming (callback + Kotlin Flow)
  • Auto language detection (lang="auto", per-segment)
  • Voice import + blending (custom .pt files)
  • Accent adapters (JSON + encrypted .jkba)
  • Normalization adapters (JSON + encrypted .jkbn)
  • Terminology dictionaries (JSON/TSV + encrypted .jkbt)
  • No subscription — no recurring fees
One Gradle line

No NDK. No Python. Just add the dependency.

The library includes everything — neural model, G2P engines, normalizers, voice files. Add one line to your build file and synthesize.

app/build.gradle.kts
// Free — Maven Central
implementation("com.jokobee:jokobeetts:1.0.0")
// Free — JitPack (alternative)
implementation("com.github.Jokobee:JokobeeTTS:v1.0.0")
// Pro — copy .aar to app/libs/, then:
implementation(files("libs/jokobeetts-pro-1.0.0.aar"))
Works with Whisper

Transcribe → Process → Speak. All on-device.

Pair with Whisper Android for speech-to-text and llama.cpp for LLM chat — a complete voice assistant pipeline running entirely on the phone. No cloud, no API, no limits.