Who is this for?

This Learning Path is for Android and machine learning developers who want to run optimized speech recognition models locally on an Arm-based Android device.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Prepare the Android command-line tools and connect an Arm-based Android phone.
  • Run Whisper Base with LiteRT, then compare it with Whisper Tiny running with ExecuTorch.
  • Understand how the importer installs model packages, the recorder captures audio, and the two supplied adapters run LiteRT or ExecuTorch and decode a transcript.
  • Register another compatible model or generate and validate a separate adapter.

Prerequisites

Before starting, you will need the following:

  • A macOS, Linux, or Windows development machine
  • An Arm-based Android phone with Android 9 or later and enough storage and memory for the application and model packages
  • Basic familiarity with terminal commands and Android applications
  • Git installed on the development machine
  • Python 3 with the venv and pip modules on the machine
  • Java Development Kit (JDK) 17 or later on the machine, available on your PATH
  • A tool for downloading files and a tool for extracting ZIP archives on the machine
  • A data-capable USB cable and microphone access on the phone
  • Network access for the first Gradle build and model downloads
  • A Hugging Face account with access to the model repositories

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll set up Android command-line tools, connect an Arm-based Android phone, and run an application called Whisper Journal locally. First, you’ll transcribe speech with Whisper Base and LiteRT, then compare it with Whisper Tiny and ExecuTorch using the same recording conditions. Next, you’ll trace how the importer, recorder, registry, and adapters connect each model package to an English transcript. Finally, you’ll register a compatible model or generate and validate an adapter for a model with a different contract.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
Which Android SDK and API levels do I need?
Install Android SDK Platform 35, Platform-Tools, and Build-Tools 34.0.0. The sample project compiles against API 35 and supports Android 9 (API 28) or later.
How do I know my Android phone is ready before installing the app?
Use Android Debug Bridge (adb) from Android SDK Platform-Tools to confirm that the phone is authorized, uses the arm64-v8a ABI, and runs Android 9 (API 28) or later.
Which adapter should I use for my Whisper package?
Select Whisper Base for the first workflow and Whisper Tiny for the guided comparison. The application registry chooses the LiteRT adapter for Base and the ExecuTorch adapter for Tiny. It also registers LiteRT profiles for Medium and Large V3 and the ExecuTorch adapter for Small.
What result should I expect after running inference?
The app records audio and produces an English transcript in a journal entry. Inference runs locally on the Android CPU, and the app doesn’t upload the recording to a server.
How do I extend the app for a speech model that's not in the registered list?
Compare the model’s task, runtime, package files, callable methods or signatures, tensors, audio preprocessing, tokenizer, decoder behavior, and output format with the supplied adapters. If the model doesn’t match an adapter, modify an adapter or create a new one. Register it in AdapterRegistry and update the decoder profile when needed.
Next