We detect you are using an unsupported browser. For the best experience, please visit the site using Chrome, Firefox, Safari, or Edge. X
Maximize Your Experience: Reap the Personalized Advantages by Completing Your Profile to Its Fullest! Update Here
Stay in the loop with the latest from Microchip! Update your profile while you are at it. Update Here
Complete your profile to access more resources.Update Here!
0
$0.00
Item Qty
Your cart is empty.

We offer a comprehensive set of audio decoders including the following:

  • AAC: This is a proprietary audio coding standard for lossy digital audio compression. Designed to be the successor of the MP3 format, AAC generally achieves better sound quality than MP3 at the same bit rate.
  • MP3: This is an audio coding format for digital audio. It uses a form of lossy data compression to encode data using inexact approximations and partial data discarding to reduce file sizes, typically by a factor of 10 in comparison with a CD, while retaining a sound quality comparable to uncompressed audio.
  • FLAC:  This is an audio coding format for lossless compression of digital audio. Digital audio compressed by FLAC's algorithm can typically be reduced to between 50 to 60 percent of its original size and decompress to an identical copy of the original audio data.
  • WAVE: This Is a standard for storing an audio bitstream on a PC. The usual bitstream encoding is the linear pulse-code modulation (LPCM) format.
  • SPEEX: This audio compression format is designed for speech that may be used on VoIP applications and podcasts. It is based on the CELP speech coding algorithm.
  • Opus: This is a lossy audio coding format designed to efficiently code speech and general audio in a single format, while remaining low-latency enough for real-time interactive communication.
  • ADPCM: This Is a method for converting analog signals into Pulse Code Modulation (PCM), which is a standard format for digital audio in computers, telephony and other digital audio applications.

The FLAC, OPUS, SPEEX, WAVE, and ADPCM decoder libraries are available for free with the download of MPLAB® Harmony.

The AAC and MP3 decoder libraries are available from our purchasing portal for source/binary code for development purposes.

These decoders can be used with the PIC32MX and higher-performance PIC32 devices.

Decoder and Encoder Libraries


PIC32 MP3 Decoder Library

This compact MP3 decoder features:

  • MPEG-1, MPEG-2 and MPEG-2.5 Layer III decoder
  • Simple user interface to initialize decoder and pass MP3 data
  • Optimized C-callable APIs
  • Assembly-optimized implementation for overall performance
  • Support for Variable Bit Rate (VBR)
  • Support for these sampling frequencies (khz): 8, 11.025, 12, 16, 22.05, 24, 32, 44.1 and 48
  • Support for these bit rates (kbps): 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256 and 320

The MP3 Decoder is available in both source as well as binary formats.

  • Compact MP3 Decoder Library for Harmony Non-Modifiable Binary Code: Part Number SW320022-1HPM

The MP3 Decoder requires a minimum of 47 KB of Flash and 19.85 KB of SRAM.

  • Input buffer for one MP3 Frame: 1538 byte for most cases, however for high sample frequency and bit rate audio data, 6144 byte is recommended
  • Output buffer: 4608 bytes for 1152 samples, stereo 16-bit audio

Note that some implementations/applications of the MP3 decoder are still subject to patent protection.

PIC32 AAC Decoder Library

The PIC32 Advanced Audio Coding (AAC) Decoder library provides easy-to-use APIs for decoding an audio stream encoded using AAC encoding. The AAC Decoder Library is available both as source code as well as a binary.

The AAC Decoder requires 62 MIPS (peak) and 34 MIPS (average) and is ideal for PIC32MX or higher performance devices. 61 KB of Flash and 12 KB of RAM is the memory footprint for the AAC Decoder.

The PIC32 AAC Decoder library supports the following:

  • Sample rates: 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48, 64, 88.2 and 96 kHz
  • Bit rates: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384 kbps and VBR

We offer the AAC Decoder library both in non-modifiable binary code and source code formats for use on high-performance PIC32MX devices. The decoder is a low-complexity decoder (AAC–LC) with support for parsing ADTS headers only. The ADTS format works for Bluetooth and is limited to some “*.AAC” and “*.AC3” files

The Audio Data Transport Stream (ADTS) header is a format used by the MPEG TS or Shoutcast to stream audio:

  • Not all .AAC audio files will play using this decoder, since they may not follow the same header or AAC-LC format for encoding
  • Music with ID3 tags will not decode
  • AAC_LTP is not supported
  • Only music with the AAC-LC v4 format without ID3 tags is supported

An AAC license is available from Via Licensing.

PIC32 Opus Decoder Library

The PIC32 Opus Decoder Library supports the following features:

  • Bit rates from 6 kbps to 510 kbps
  • Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
  • Frame sizes from 2.5 ms to 60 ms
  • Support for Constant Bit Rate (CBR) and Variable Bit Rate (VBR)
  • Audio bandwidth from narrowband to fullband
  • Support for speech and music
  • Support for mono and stereo
  • Support for up to 255 channels (multi-stream frames)
  • Dynamically adjustable bit rate, audio bandwidth and frame size
  • Good loss robustness and Packet Loss Concealment (PLC)
  • Floating-point and fixed-point implementation

The full RFC 6716 specification, including the reference implementation, and an up-to-date implementation of the Opus standard are available from Opus Codec.

The Opus Decoder requires 143 KB of Flash and 17KB of SRAM in stereo mode. The PIC32 Opus Decoder is available in MPLAB® Harmony. Note that the Opus Decoder library is subject to open-source licensing requirements.

PIC32 SPEEX Decoder Library

The PIC32 SPEEX Decoder Library has the following features:

  • Fixed-point implementation
  • Narrowband (8 kHz) and wideband (16 kHz) bit streams
  • Wide range of bit rates available (from 2.15 kbps to 44 kbps)
  • Perceptual enhancement: This attempts to reduce the perception of the noise/distortion produced by the encoding/decoding process. In most cases, perceptual enhancement brings the sound further from the original objectively (e.g. considering only SNR), but in the end it still sounds better (subjective improvement).

Visit www.speex.org for further details and complete documentation.

The Speex Decoder requires 60 KB of Flash and 6KB of SRAM. The PIC32 Speex Decoder Library is available in MPLAB Harmony. The PIC32 Speex Decoder library is subject to open-source licensing requirements.

PIC32 FLAC Decoder Library

The PIC32 FLAC Decoder Library has the following features:

  • Lossless decoder.
  • Supports native FLAC format streaming.
  • No theoretical limitation on maximum sample rate and bitrate.

The FLAC Decoder requires 113 KB of Flash; the SRAM size is the same size with one FLAC block size.

  • Input buffer for one FLAC frame: 16 KB (it should be at least 1 KB, 16 KB works for most native FLAC frames)
  • Output buffer: at least 32 KB + 32 bytes (padding bytes are required by FLAC decoder algorithm) for a 4096 samples FLAC frame.

The PIC32 FLAC Decoder Library is available in MPLAB Harmony. The PIC32 FLAC Decoder library is subject to open-source licensing requirements.

PIC32 WAVE and ADPCM Decoder Libraries

The PIC32 WAVE and ADPCM decoder libraries are available for free with the download of MPLAB Harmony.

  • WAVE (.WAV) is a format for storing an audio bitstream on PCs. The usual bitstream encoding is the linear pulse-code modulation (LPCM) format.
  • Adaptive Differential Pulse-code Modulation (ADPCM) is a variant of Differential Pulse Code Modulation (DPCM) and is a bitstream encoding format.

Documentation


Title
Achieving Higher ADC Resolution Using Oversampling Download
AN1422 - High-Quality Audio Applications Using the PIC32 Download
Adaptive Differential Pulse Code Modulation Using PIC Microcontrollers Download
Title
PIC32MZ Embedded Connectivity with Floating Point Unit (EF) Family Download
PIC32MX1XX/2XX Family Data Sheet Download
PIC32MX330/350/370/430/450/470 Data Sheet Download
PIC32MX1XX/2XX 28/44-pin XLP Family Data Sheet Download

Development Tools


Description Part Number
PIC32MX Curiosity Development Board DM320103
PIC32MM USB Curiosity Development Board DM320107
PIC32MZ Embedded Connectivity with FPU (EF) Starter Kit DM320007
PIC32MZ Embedded Graphics with Stacked DRAM (DA) Starter Kit DM320010
PIC32MZEF Curiosity Development Board DM320209
PIC32MZ Embedded Graphics with External DRAM (DA) Starter Kit
DM320008
Description Part Number
BM64 Bluetooth Radio Daughter Board AC320032-3
Audio Codec Daughter Card – AK4642 AC320100
Audio Coder Daughter Card – AK7755 AC327755
PIC32 Audio DAC Daughter Card AC320032-2
PIC32 Audio Codec Daughter Card - AK4954
AC324954
Description Part Number
Explorer 16/32 Development Board
DM240001-2
MPLAB Starter Kit for dsPIC DSC
DM330011
Audio Development Board for dsPIC33E
DM330016

Software Libraries


Recording and Playback Software Libraries


Audio Functions Resource Type Title and Link Supported Families
Audio and Speech Library PIC32 Audio Equalizer Filter library PIC32 MCU
Audio and Speech Software Bluetooth Audio PIC32 MCU
Audio and Speech Software PIC32 Audio Decoders/Encoders PIC32 MCU
Record Application Note
and Source Code
AN1152-Achieving Higher ADC Resolution Using Oversampling dsPIC30F, dsPIC33F
Record and Playback Library SW300026 dsPIC®/PIC24 G.711 Speech Encoding/Decoding Library PIC18, PIC24F, PIC24H,
dsPIC30F, dsPIC33F,
Record and Playback Library SW300090-dsPIC G.726A Speech Encoding/Decoding Library dsPIC30F, dsPIC33F<
Record and Playback Library SW300070-Speex Speech Encoding/Decoding Library dsPIC30F, dsPIC33F
Record and Playback Library dsPIC DSC Equalizer Library dsPIC30F, dsPIC33F
Telecommunications Library SW300060-Acoustic Echo Cancellation Library dsPIC30F, dsPIC33F
Telecommunications Library SW300080-Line Echo Cancellation Library dsPIC30F, dsPIC33F
Telecommunications Library SW300040-Noise Suppression Library dsPIC30F, dsPIC33F
ALL Library dsPIC DSC Automatic Gain Control Library dsPIC30F,dsPIC33F
ALL GUI dsPIC DSC Speech and Audio Fast Forward (SAFF) Tool dsPIC30F, dsPIC33F
ALL GUI Digital Filter Design dsPIC30F, dsPIC33F
ALL GUI dsPICworks Data Analysis and DSP Software (use to convert PCM to WAV and back) ALL