Running Whisper on the NPU with VoiceAI ASR
1. Installing SDKs
-
Open a terminal on your development board, and set up the base requirements for this example:
-
Install the AI Runtime SDK - Community Edition:
-
Install VoiceAI ASR - Community Edition:
2. Download models from AI Hub
With the SDKs installed, you can download precompiled Whisper models from AI Hub. When downloading a model select the following device:- RB3 Gen 2 Vision Kit: ‘Qualcomm QCS6490 (Proxy)’
- RUBIK Pi 3: ‘Qualcomm QCS6490 (Proxy)’
- IQ-9075 EVK: ‘Qualcomm QCS9075 (Proxy)’
encoder_model_htp.bin and the decoder model to decoder_model_htp.bin.
To download the Whisper-Small-Quantized model directly on your development board:
-
RB3 Gen 2 Vision Kit / Rubik Pi 3:
-
IQ-9075 EVK:
3. Compiling and running examples
-
Build the
npu_rpc_linux_sample/voice-ai-refexample: -
You can now transcribe .WAV files:
-
Or even do live transcription:
a. Connect a microphone to your development board.
b. Find the name of your microphone:
-
Run live transcription:
-
Run live transcription:
Live transcription errors out immediately after the VAD determines that there is no speech, hopefully this will be fixed in a future update.
voice-ai-ref binary, and read data from stdout.
Running Whisper on the CPU with whisper.cpp
Alternatively you can run Whisper on the CPU (with less performance) using whisper.cpp (or any of the other popular Whisper libraries). Here’s instructions for whisper.cpp. Open the terminal on your development board, or an ssh session to your development board, and run:-
Install build dependencies:
-
Build whisper.cpp:
-
Add the whisper.cpp paths to your PATH:
-
You now transcribe some audio using whisper.cpp:
-
You can also live transcribe audio:
a. Connect a microphone to your development board.
b. Find your microphone ID:
c. Start live transcribing:
Running on the GPU with OpenCL
You can also build binaries that run on the GPU:- First follow the steps in llama.cpp under “Install the OpenCL headers and ICD loader library”.
-
Build a binary with OpenCL:

