A collection of audio processing algorithms optimized for the Nuclei RISC-V processor architecture.
This library provides a suite of codecs and digital signal processing libraries tailored for embedded systems. It leverages RISC-V extensions (such as the P-extension and Vector extension) to achieve high-performance and low-power audio processing.
- AMR-NB: Adaptive Multi-Rate Narrowband Codec.
- AMR-WB: Adaptive Multi-Rate Wideband Codec. Encoder & Decoder
- EVS: Enhanced Voice Services Codec
- ADPCM: Adaptive Differential Pulse-Code Modulation. IMA-ADPCM codec
- MP3: Helix MP3 Decoder
- SBC: Sub-Band Codec
- Opus: Opus Interactive Audio Codec
- LC3plus: Low Complexity Communication Codec
- SpeexDSP: Noise Reduction, Acoustic Echo Cancellation, Automatic Gain Control ...
To build and use this library, the Nuclei bare-metal development environment is required.
-
Required Tools:
- Nuclei SDK version 0.8.1
- Nuclei Studio IDE: 2025.02 (Linux recommended)
-
How to Use:
Following the Nuclei SDK Quick Startup to configure your toolchain.
Note
A Linux x86_64 host is recommended, as some prebuilt binaries for test data generation are provided for this environment.
The Nuclei Audio Library can be imported into the Nuclei Studio IDE as an npk package.
You can quickly create demo projects in the IDE by following these steps:
- Open the Nuclei Package Manager in Nuclei Studio IDE.
- Download the
nuclei-audio-librarypackage or import the ZIP file of this repository
- Create a new Nuclei RISC-V C/C++ project and select an example filtered
by the
audio applicationcategory
- Then you can run or debug the project as usual.
Nuclei Audio Library is licensed under Apache-2.0.