Who is this for?

This is an introductory topic for embedded machine learning developers who want to evaluate streaming audio inference with ExecuTorch on Arm Ethos-U.

What will you learn?

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

  • Set up ExecuTorch and the Arm development tools for Corstone-320 and Ethos-U85.
  • Export and quantize a stateful Silero voice activity detection (VAD) model as a .pte file.
  • Build and run a bare-metal voice activity detection application on a Corstone-320 Fixed Virtual Platform (FVP).
  • Validate simulated speech probabilities against a host-generated reference.

Prerequisites

Before starting, you will need the following:

  • A Linux host using x86_64 or arm64, or an Apple silicon macOS host
  • Basic familiarity with PyTorch models and command-line development tools

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 deploy the stateful Silero VAD model on an Arm Ethos-U85 virtual target. First, you’ll prepare ExecuTorch, the model, and audio clips. Then, you’ll build host quantized operators, export a .pte model, and create a host reference. Finally, you’ll package the model and validation clip into a Cortex-M85 application, run it on the Corstone-320 FVP, and compare its speech decisions with the host reference.

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 the model export worked?
Confirm the exporter creates nonempty .pte, expected_probs.bin, and export.log files. Check that export.log reports both Vela subgraphs with no CPU operators.
Which CMake configuration should I use to build for Cortex-M85?
Use the arm-baremetal preset, then build the install target. Use the installed ExecuTorch libraries when you build the bare-metal application.
What result should I expect when running on the Corstone-320 FVP?
You get an fvp.log file with one PROB line for each 512-sample frame and SEGMENT lines for consecutive speech frames. Use the provided grep commands to inspect these records.
How do I validate the simulated output against the host-generated reference?
Run compare_vad_probs.py to compare the saved host reference with the probabilities in fvp.log. The comparison confirms the number of finite probabilities, numerical tolerance, and matching speech-or-silence decisions for each frame.
What should I check if I see only silence or no SEGMENT lines in the log?
Confirm that you packaged the validation audio clip and that the FVP run completed. Check the correct fvp.log file for PROB lines before you expect merged SEGMENT lines.
Next