Google adds offline speech recognition and TTS to AI Edge Gallery
Google has added on-device Automatic Speech Recognition (ASR) and Text-to-Speech (TTS) to Google AI Edge Gallery, its open-source showcase app for running AI models on phones. The Google AI Edge and Android ML teams announced it on November 10, 2026, together with the APIs behind it: ML Kit’s GenAI speech APIs on Android, and MediaPipe Tasks and LiteRT for iOS, macOS, Windows, Linux and the web. It matters for developers because the whole voice loop (listen, think with a small model like Gemini Nano or Gemma 4, speak back) can now run on the device, offline, according to Google’s announcement.
What’s new
Two ways to build it
| Path | Platforms | Models | What you manage |
|---|---|---|---|
| ML Kit GenAI Speech Recognition and Text-to-Speech | Android | Google’s system speech models, served through AICore | Nothing: Google says they add 0 MB to your APK and update in the background |
| MediaPipe Tasks (built on LiteRT) | iOS, macOS, Windows, Linux, web | Open-weight models packaged as .litertlm bundles |
You ship or download the model files |
ML Kit on Android
Google gives these numbers for its system models:
- Speech recognition: 100+ languages, a word error rate of 8.0% to 9.0% on the FLEURS benchmark, and about 10x real-time speed (roughly 300 ms for 3 seconds of speech). It streams partial and final transcripts, from the phone’s microphone or from an external audio stream such as smart glasses.
- Text-to-speech: a few-step diffusion model running on the NPU that starts speaking in about 100 ms and produces 24 kHz audio at up to 50x real-time speed, with 8 voices across 21 locales. Google says it reads a 27-second paragraph in about 500 ms and uses over 50% less active power than older autoregressive TTS models.
The docs are at ML Kit GenAI Speech Recognition and ML Kit GenAI Text-to-Speech.
MediaPipe Tasks and LiteRT everywhere else
The new MediaPipe ASR task handles audio framing, voice activity detection and decoding for you, with streaming, full-sentence and hybrid modes (live words first, then a refined sentence when the user stops talking). The TTS task adds voice selection and streaming audio output. Both have browser demos on the MediaPipe samples site.
Each model ships as a single .litertlm file that bundles its encoders, tokenizers, vocoders and voice data. The ready-made bundles on the LiteRT Community page on Hugging Face are:
- Parakeet-TDT-0.6B-v3: multilingual speech recognition
- PocketTTS 100M and Kokoro-82M: multilingual text-to-speech
- Phonon 31M: English-only text-to-speech that Google says starts playing audio in under 100 ms on most devices
Inside the Gallery app
The Android and iOS apps get two features. AI Chat now takes voice input and can read replies aloud, highlighting each sentence as it is spoken. A new demo, XR Language Teacher, lets you point the camera at a menu or sign, ask a question out loud, and hear the answer in your language with the foreign words pronounced in the local one. It uses a structured output schema to tag which phrases belong to which language, so the TTS can switch voices mid-sentence.
What it means for developers
- No server, no per-minute bill. Transcription and speech run locally, so a voice feature keeps working on a plane or in a subway and audio never leaves the phone.
- Copy the reference code. The Gallery repository on GitHub is open source. Google points to its handling of chat replies: it strips Markdown, skips code blocks and tables, and synthesizes one sentence at a time so speech does not fight the language model for compute and memory while tokens are still being generated.
- Cascade, don’t merge. Gemma 4 can take audio directly, but Google recommends pairing the language model with separate small speech models to keep latency low and swap parts freely.
- Bring other models. LiteRT can run other open-weight voice models; Google names Whisper, Qwen3-ASR and Moonshine for recognition and Qwen3-TTS and Matcha for speech, with examples in the LiteRT-LM repository.
If you only need speech in a browser and don’t want to ship a model, the built-in Web Speech API still works; we covered it in speech recognition and synthesis with simple JavaScript. For Google’s latest hosted models, see our post on Gemini Omni 1.2 Flash.