Audio Processing Algorithm Design
Audio Toolbox™ is optimized for real-time audio stream processing. Use these features individually or as part of a larger algorithm to create effects, analyze signals, and process audio.
Functions
Filter Design
designVarSlopeFilter | Design variable slope lowpass or highpass IIR filter |
designParamEQ | Design parametric equalizer |
designShelvingEQ | Design shelving equalizer |
Resampling
audioresample | Sample-rate conversion of audio signals (Since R2023b) |
designAudioResampler | Design sample-rate converter for audio signals (Since R2023b) |
Filters
crossoverFilter | Audio crossover filter |
multibandParametricEQ | Multiband parametric equalizer |
graphicEQ | Standards-based graphic equalizer |
octaveFilter | Octave-band and fractional octave-band filter |
octaveFilterBank | Octave and fractional-octave filter bank |
weightingFilter | Frequency-weighted filter |
shelvingFilter | Second-order IIR shelving filter (Since R2022a) |
gammatoneFilterBank | Gammatone filter bank |
Dynamic Range Control
compressor | Dynamic range compressor |
expander | Dynamic range expander |
limiter | Dynamic range limiter |
noiseGate | Dynamic range gate |
Effects
reverberator | Add reverberation to audio signal |
shiftPitch | Shift audio pitch |
stretchAudio | Time-stretch audio |
audioTimeScaler | Apply time scaling to streaming audio |
Blocks
Dynamic Range Control
Compressor | Dynamic range compressor |
Expander | Dynamic range expander |
Limiter | Dynamic range limiter |
Noise Gate | Dynamic range gate |
Effects
Reverberator | Add reverberation to audio signal |
Filters
Crossover Filter | Audio crossover filter |
Weighting Filter | Weighted frequency response filter |
Octave Filter | Octave-band and fractional octave-band filter |
Octave Filter Bank | Octave-band and fractional octave-band filter bank (Since R2021a) |
Single-Band Parametric EQ | Second-order parametric equalizer filter |
Graphic EQ | Standards-based graphic equalizer |
Multiband Parametric EQ | Multiband parametric equalizer (Since R2021b) |
Gammatone Filter Bank | Gammatone filter bank (Since R2021b) |
Shelving Filter | Second-order IIR shelving filter (Since R2022a) |
Filter Design
Parametric Equalizer Design | Design tunable parametric equalizer coefficients (Since R2024a) |
Shelving Equalizer Design | Design tunable shelving equalizer coefficients (Since R2024a) |
Variable Slope Filter Design | Design tunable lowpass or highpass filter coefficients (Since R2024a) |
Topics
- Real-Time Audio in MATLAB
Create a script to process and analyze real-time audio signals.
- Real-Time Audio in Simulink
Create a model using the Simulink® templates and blocks for audio processing.
- Equalization
Understand the foundations of audio equalization and how equalizers are implemented in Audio Toolbox.
- Dynamic Range Control
Understand the foundations of dynamic range control and how compressors, limiters, expanders, and noise gates are implemented in Audio Toolbox.
- Parametric Equalizer Design
Design parametric equalizer filters. Parametric equalizers are digital filters used in audio for adjusting the frequency content of a sound signal.
Featured Examples
Automated Design of Audio Filters for Room Equalization
Combine Optimization Toolbox™ and Audio Toolbox to develop an algorithm that automatically tunes a set of filter parameters.
Multistage Sample-Rate Conversion of Audio Signals
Use a multistage/multirate approach to sample rate conversion between different audio sampling rates.
Graphic Equalization
Demonstrates two forms of graphic equalizers constructed using building blocks from Audio Toolbox™. It also shows how to export them as VST plugins to be used in a Digital Audio Workstation (DAW).
Multiband Dynamic Range Compression
Simulate a digital audio multiband dynamic range compression system.
Delay-Based Audio Effects
Design and use three audio effects that are based on varying delay: echo, chorus and flanger. The example also shows how the algorithms, developed in MATLAB, can be easily ported to Simulink.
Psychoacoustic Bass Enhancement for Band-Limited Signals
An audio plugin designed to enhance the perceived sound level in the lower part of the audible spectrum.
Audio Phaser Using Multiband Parametric Equalizer
Implement a real-time audio "phaser" effect which can be tuned by a user interface (UI). It also shows how to generate a VST plugin for the phaser that you can import into a Digital Audio Workstation (DAW).
Identification and Separation of Panned Audio Sources in a Stereo Mix
Extract an audio source from a stereo mix based on its panning coefficient. This example illustrates MATLAB® and Simulink® implementations.
Acoustic Noise Cancellation Using LMS
Use the Least Mean Square (LMS) algorithm to subtract noise from an input signal. The LMS adaptive filter uses the reference signal on the Input
port and the desired signal on the Desired
port to automatically match the filter response. As it converges to the correct filter model, the filtered noise is subtracted and the error signal should contain only the original signal.
Active Noise Control Using a Filtered-X LMS FIR Adaptive Filter
Apply adaptive filters to the attenuation of acoustic noise via active noise control.
Pitch Shifting and Time Dilation Using a Phase Vocoder in MATLAB
Implement a phase vocoder to time stretch and pitch scale an audio signal.
Pitch Shifting and Time Dilation Using a Phase Vocoder in Simulink
Use a phase vocoder to implement time dilation and pitch shifting of an audio signal.
Remove Interfering Tone From Audio Stream
Remove a 250 Hz interfering tone from a streaming audio signal using a notch filter.
Vorbis Decoder
Implement a Vorbis decoder, which is a freeware, open-source alternative to the MP3 standard. This audio decoding format supports the segmentation of encoded data into small packets for network transmission.
Add Reverberation Using Freeverb Algorithm
Apply reverberation to audio by using the Freeverb reverberation algorithm. The reverberation can be tuned using a user interface (UI) in MATLAB or through a MIDI controller. This example illustrates MATLAB® and Simulink® implementations.
Cochlear Implant Speech Processor
Simulate the design of a cochlear implant that can be placed in the inner ear of a profoundly deaf person to restore partial hearing. Signal processing is used in cochlear implants to convert sound to electrical pulses. The pulses can bypass the damaged parts of a deaf person's ear and be transmitted to the brain to provide partial hearing.
Dynamic Range Compression Using Overlap-Add Reconstruction
Compress the dynamic range of a signal by modifying the range of the magnitude at each frequency bin. This nonlinear spectral modification is followed by an overlap-add FFT algorithm for reconstruction. This system might be used as a speech enhancement system for the hearing impaired. The algorithm in this simulation is derived from a patented system for adaptive processing of telephone voice signals for the hearing impaired originally developed by Alvin M. Terry and Thomas P. Krauss at US West Advanced Technologies Inc., US patent number 5,388,185.
Acoustic Echo Cancellation (AEC)
Apply adaptive filters to acoustic echo cancellation (AEC).
Time-Frequency Masking for Harmonic-Percussive Source Separation
Time-frequency masking is the process of applying weights to the bins of a time-frequency representation to enhance, diminish, or isolate portions of audio.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)