Who is this for?

This is an introductory topic for developers who want to implement a multimodal pipeline for a Voice Assistant application and accelerate the performance on Android devices using KleidiAI and SME2.

What will you learn?

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

  • Learn about the multimodal Voice Assistant pipeline and different components used.
  • Learn about the functionality of ML components used and how these can be built and benchmarked on various platforms.
  • Compile and run a multimodal Voice Assistant example based on Android OS.
  • Optimize performance of multimodal Voice Assistant using KleidiAI and SME2.

Prerequisites

Before starting, you will need the following:

  • An Android phone that supports the i8mm Arm architecture feature (8-bit integer matrix multiplication).
  • An Android phone with support for SME (Scalable Matrix Extension) instructions, required for SME performance checking
  • This Learning Path was tested on a Vivo X300 Pro.
  • A development machine with Android Studio installed.
  • Arm Performance Studio installed. Follow the Arm Performance Studio install guide for instructions.

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 build and run a multimodal Voice Assistant on an Android device, then compare and profile its LLM performance with KleidiAI and SME2. First, you’ll install Android Studio and command-line dependencies, clone and build the app, and deploy it to your phone. Then, you’ll use its speech-to-text, local LLM, and Android text-to-speech pipeline, benchmark LLMs with and without SME2, and use Arm Streamline to inspect performance.

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
?
How do I know Android Studio can deploy the app to my phone?
Enable developer mode, connect your phone with USB, and confirm that it appears as a running device in the Android Studio toolbar. Select the device, then select Run to install and launch the Voice Assistant.
What should I check if the build fails?
If the build fails while downloading, verify that python3 version 3.9 or later and git are installed, and try the Android Studio build again. The first build might take longer while it downloads additional dependencies.
What result should I expect when I run the Voice Assistant?
Tap Press to talk in Chat mode and speak your request. The app transcribes your audio, sends the text to its LLM, and displays the response. To hear the response, enable Speech generation, which is disabled by default.
Do I need to change any settings to use KleidiAI in this project?
On Arm platforms, the default build includes KleidiAI support. To compare against a build without it, add -PkleidiAI=false to ./gradlew build or set kleidiAI=false in gradle.properties.
How can I check SME2-related behavior or performance on my device?
To compare SME2 performance, build the LLM benchmark once with -DMNN_SME2=OFF and again without that setting, which enables SME instructions by default. You can also capture a profile in Arm Streamline to confirm SME2 kernel activity during LLM execution.
Next