We detect you are using an unsupported browser. For the best experience, please visit the site using Chrome, Firefox, Safari, or Edge. X

Communications equipment such as phones, walkie-talkies, etc., need to process speech or audio signals for primarily two purposes:

  • Encoding or decoding the signal for efficient or fast communication
  • Removing or suppressing acoustic echoes, noise from telecom switching networks or simply background noise

Eliminating unwanted noise or echoes is a processor-intensive task. We provide the following libraries to aid noise removal in communication systems:

These libraries may be used in mobile hands-free kits, speakerphones, intercoms, emergency alarm units, teleconferencing units and other applciations.

Noise Suppression

The Noise Suppression (NS) Library is used to reduce unwanted noise mixed with speech. The NS Library is suitable for applications without an isolated noise reference source. The noise suppression algorithm is a frequency-domain algorithm based on spectral subtraction. A voice activity detector differentiates noise and speech. Noise reduction filters self adjust every 10 ms during periods of speech inactivity (using an FFT). The speech is continuously filtered, reducing its noise content

Acoustic Echo Cancellation

The Acoustic Echo Cancellation (AEC) Library is used to cancel unwanted echo caused by acoustic path from speaker to microphone. The AEC Library is ITU G.167 compliant and suitable for systems where  the speaker and microphone are close to each other. The library supports full-duplex operation and is based on Least Mean Square (LMS) adaptive filtering. A voice activity detector and double talk detector determine when the adaptive filter should be adjusted. An LMS filter iteratively models the echo propagation path during periods of far-end speech. The filtered output is subtracted from the microphone input every 10 ms, thus removing echo. The AEC Library supports cancellation of echo tail lengths that are 16, 32 or 64 ms long and can be used with audio signals with a bandwidth of 0–4 kHz at an 8 kHz sampling rate.

Line Echo Cancellation

The Line Echo Cancellation (LEC) Library is used to cancel unwanted echo generated by various telephone circuits (e.g. hybrids) or digital network components. The LEC algorithm is a time-domain algorithm based on Least Mean Square (LMS) adaptive fltering. It is an ITU G.168-compliant solution and supports echo tail lengths that are 16, 32 or 64 ms long.

The dsPIC DSC Speech and Audio Fast Forward (SAFF) Tool

The dsPIC DSC Speech and Audio Fast Forward (SAFF) tool provides users with real-time control of Microchip’s Speech and Audio Processing Algorithms as they are running in an embedded system application. This PC GUI tool facilitates easy tuning of Microchip’s Noise Suppression, Acoustic Echo Cancellation, Line Echo Cancellation and Equalizer algorithms in speech and audio applications by simplifying parametric tuning of algorithms.

dsPIC® DSC Automatic Gain Control Library

The dsPIC DSC Automatic Gain Control Library automatically adjusts the amplitude of a speech signal to match a set level. This is useful in speech applications where the distance between the speech source and the microphone is not fixed. The Automatic Gain Control Library can be used with our speech and audio solutions for speech signal pre-processing.

Documentation

Title Download
AN1367 - Porting the Helix MP3 Decoder onto Microchip's PIC32MX 32-bit MCUs Download
AN1152 - Achieving Higher ADC Resolution Using Oversampling Download
AN1422 - High-Quality Audio Applications Using the PIC32 Download
AN643 - Adaptive Differential Pulse Code Modulation using the PIC16/17 Download
Title Download
dsPIC33EPXXX(GP/MC/MU)806/810/814 and PIC24EPXXX(GP/GU)810/814 Data Sheet Download
dsPIC33FJXXXGPX06A/X08A/X10A Family Data Sheet Download
PIC32MX1xx/2xx 28/36/44-pin Family Data Sheet Download
PIC32MZ Embedded Connectivity with Floating Point Unit (EF) Family Data Sheet Download
PIC32MX330/350/370/430/450/470 Family Data Sheet Download
PIC32MX1xx/2xx/5xx 64/100-pin Family Data Sheet Download
PIC24FJ1024GA610/GB610 Family 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
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
Description Part Number
Explorer 16/32 Development Board
DM240001-2
MPLAB Starter Kit for dsPIC DSC
DM330011

Software Libraries

Recording and Playback Software Libraries


Audio Functions Resource Type Title and Link Supported Families
Audio and Speech Library MP3 Decoder Library for PIC32MX PIC32 MCU
Audio and Speech Library PIC32 Audio Equalizer Filter library PIC32 MCU
Bluetooth Audio Library PIC32 Bluetooth®Audio Software Suites PIC32 MCU
AAC Playback Library AAC Decoder Library for PIC32 PIC32 MCU
Streaming Audio Demo USB Audio Headset Demo PIC32MM MCU
Record and Playback, Streaming Audio Library dsPIC33E Sample Rate Conversion dsPIC33E
Record Application Note and Source Code AN1152-Achieving Higher ADC Resolution Using Oversampling dsPIC33E, dsPIC33F
Record and Playback, Voice Communications Library SW300026 dsPIC/PIC24 G.711 Speech Encoding & Decoding Library dsPIC33E, dsPIC33F
Record and Playback, Voice Communications Library SW300090-dsPIC G.726A Speech Encoding/Decoding Library dsPIC33E, dsPIC33F
Record and Playback, Voice Communications Library SW300070-Speex Speech encoding/decoding Library dsPIC33E, dsPIC33F
Record and Playback, Voice Communications Library dsPIC®DSC Equalizer Library dsPIC33E, dsPIC33F
Voice Communcations Library SW300060-Aucostic Echo Cancellation Library dsPIC33E, dsPIC33F
Voice Communcations Library SW300080-Line Echo Cancellation Library dsPIC33E, dsPIC33F
Voice Communcations Library SW300040-Noise suppression library dsPIC33E, dsPIC33F
Voice Communcations Library dsPIC DSC Automatic Gain Control Library dsPIC33E, dsPIC33F
Record and Playback, Voice Communications GUI dsPIC DSC Speech and Audio Fast Forward (SAFF) tool dsPIC33E, dsPIC33F
Record and Playback, Voice Communications GUI Digital Filter Design dsPIC33E, dsPIC33F
Record and Playback, Voice Communications GUI dsPICworks Data Analysis & DSP software (use to convert PCM to WAV and back) PIC24F, dsPIC33E, dsPIC33F