This repository allows users to add additional functionality to the Maestro Audio framework. This structure is designed for integration with Maestro and is not intended for standalone use. For information on the use of individual components, please refer to the Maestro programmer's guide.
This repository acts as Zephyr module, to be able to use these libraries in Zephyr build system.
- asrc - Libraries and public files of Asynchronous Sample Rate Converter, version 1.0.0
- ssrc - Libraries and public files of Synchronous Sample Rate Converter, version 1.0.0
- opus - Source files of Opus decoder and encoder, version 1.3.1
- opusfile - Source files for Opus streams in the Ogg container, version 0.12
- ogg - Source files of Ogg container, version 1.3.5
- decoders - Libraries and public files of following audio decoders:
- zephyr/ - Files allowing usage of the libraries in Zephyr build
Following table contains information about libraries and source files availability:
<style type="text/css"> .tg {border-collapse:collapse;border-spacing:0;} .tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:12px; overflow:hidden;padding:3px 5px;word-break:normal;} .tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:12px; font-weight:normal;overflow:hidden;padding:3px 5px;word-break:normal;} .tg .tg-0lax{background-color:#ffffff;color:#000000;text-align:left;vertical-align:top} .tg .tg-1lax{background-color:#374F7F;color:#ffffff;text-align:left;vertical-align:center} </style>Processor | Toolchain | Source files | |||
---|---|---|---|---|---|
Cortex-M7(F) | Cortex-M33(F) | ARM GCC | IAR | ||
ASRC | Yes | X |
Yes | X | X |
SSRC | Yes | Yes | Yes | Yes | X |
Opus | X | X | X | X | Yes |
Opus File | X | X | X | X | Yes |
Ogg Container | X | X | X | X | Yes |
AAC | Yes | Yes | Yes | X | X |
FLAC | Yes | Yes | Yes | Yes | X |
MP3 | Yes | Yes | Yes | Yes | X |
WAV | Yes | Yes | Yes | Yes | X |
The Asynchronous Sample Rate Converter (ASRC) software module compensates the drift
between two mono audio signals. This is not a frequency converter and so the nominal signal
frequency is the same before and after the ASRC.
More details about ASRC are available in the User Guide, which is located in asrc\doc\
.
The Synchronous Sample Rate Converter (SSRC) software module converts an audio signal
(mono or stereo) with a certain sampling frequency to an audio signal with another sampling
frequency.
More details about SSRC are available in the User Guide, which is located in ssrc\doc\
.
For Opus decoder and encoder documentation please see following link: opus.
The Opus File provides a API for decoding and basic manipulation of Opus streams in Ogg container and depends on Opus and Ogg libraries. For Opus File documentation please see following link: opusfile.
For Ogg container documentation please see following link: ogg.
Each decoder contains libraries for supported processor and toolchain (see table above), corresponding Public API file and documentation folder.
For decoder features please see aacdec, for API Usage please see aacd_ud.
For decoder features please see flacdec, for API Usage please see flacd_ud.
For decoder features please see mp3dec, for API Usage please see mp3d_ud.
For decoder features please see wavdec, for API Usage please see wavd_ud.
To add library into the Zephyr build, add CONFIG_NXP_AUDIO_VOICE_COMPONENTS_*
for specific libraries into your prj.conf.
For all configuration options, see zephyr/Kconfig.
List of supported libraries in Zephyr:
- Decoders:
- AAC
- FLAC
- MP3
- FLAC
- OPUS
- Encoders
- OPUS