Audio Plugin Example Gallery
Use these Audio Toolbox™ plugin examples as building blocks in larger systems, as models for design patterns, or as benchmarks for comparison. Search the plugin descriptions to find an example that meets your needs.
Audio Effects
Chorus | |
---|---|
| Name:
Type: Basic plugin Description: Adds an audio chorus effect. The chorus effect is implemented by modulating two delay lines. Design Patterns: dependent properties, wet/dry mix, sample rate Features
Used:
Related Example: Delay-Based Audio Effects |
Echo | |
---|---|
| Name:
Type: Basic plugin Description: Implements an audio echo effect using two delay lines. The plugin user tunes the delay taps in seconds, the gain of the delay taps, and the output dry/wet mix. Design Patterns: dependent properties, wet/dry mix, sample rate, MEX function called from a property, delay line with feedback Related Example: Delay-Based Audio Effects |
Flanger | |
---|---|
| Name:
Type: Basic plugin Description: Implements an audio flanging effect using a modulated delay line. The plugin user tunes the delay tap in seconds, the amplitude and frequency of the delay line modulation, and the output dry/wet mix. Design Patterns: dependent properties, wet/dry mix, MEX function called from a property, delay line with feedback Features Used:
Related Example: Delay-Based Audio Effects |
LFO Filter | |
---|---|
| Name:
Type: Basic plugin Description: Implements a low frequency oscillator (LFO) controlled lowpass filter. The LFO controls the cutoff frequency of the lowpass filter. The plugin user tunes the type of control signal, and its frequency, amplitude, and DC offset. The plugin user also tunes the Q factor of the lowpass filter. Design Patterns: enum helper class for enum parameter mapping, log parameter mapping, real-time visualization, waveform design with UI Features Used:
|
Phaser | |
---|---|
| Name:
Type: Basic plugin Description: Implements an audio phaser effect. Design Patterns: plugin composition Features
Used:
Related Example: Audio Phaser Using Multiband Parametric Equalizer |
Pitch Shifter | |
---|---|
| Name:
Type: System object™ plugin Description: Implements a pitch-shifting algorithm using cross-fading between two channels with time-varying delays and gains. Design Patterns: integer parameter mapping,
Features Used:
Related Example: Delay-Based Pitch Shifter |
Strobe | |
---|---|
| Name:
Type: Basic plugin Description: Implements an audio strobing effect. Tunable parameters of the plugin include the strobe period, the strobe fill, a relative level threshold for implementing the effect, and the ability to synchronize the strobe period with the audio signal dynamics. Design Patterns: logical parameters, enum helper class for enum parameter mapping Features Used:
|
Filters
Bandpass IIR Filter | |
---|---|
| Name:
Type: Basic plugin Description: Implements a bandpass filter using a second-order IIR filter. The plugin parameters are the center frequency and Q-factor. Design
Patterns: log parameter mapping, dependent
properties, efficient management of tunable properties (in
Features Used:
Related Example: Tunable Filtering and Visualization Using Audio Plugins |
Fast Convolver | |
---|---|
| Name:
Type: System object plugin Description: Convolves input with long impulse responses without adding long latency. Time-domain convolution of an input frame with a long impulse response adds latency equal to the length of the impulse response. The algorithm in this plugin uses frequency-domain partitioned convolution to reduce the latency. Being efficient, this algorithm also allows for real-time convolution with larger impulse responses. Design Patterns: no tunable parameters, latency reporting Features
Used:
Related Example: Measure Impulse Response of an Audio System |
Highpass IIR Filter | |
---|---|
| Name:
Type: Basic plugin Description: Implements a highpass filter using a second-order IIR filter. The plugin parameters are the cutoff frequency and Q-factor. Design
Patterns: log parameter mapping,
Features Used:
Related Example: Tunable Filtering and Visualization Using Audio Plugins |
Lowpass IIR Filter | |
---|---|
| Name:
Type: Basic plugin Description: Implements a lowpass filter using a second-order IIR filter. The plugin parameters are the cutoff frequency and Q-factor. Design
Patterns: log parameter mapping,
Features
Used:
Related Example: Tunable Filtering and Visualization Using Audio Plugins |
Multi-Notch IIR Filter | |
---|---|
| Name:
Type: System object plugin Description: Implements a notching IIR filter with tunable notch frequencies and quality factor. Features
Used:
Related Example: Audio Phaser Using Multiband Parametric Equalizer |
Shelving Equalizer | |
---|---|
| Name:
Type: System object plugin Description: Implements a shelving equalizer with tunable cutoffs, gains, and slopes. Design Patterns: log parameter mapping, filter visualization Features Used:
Related Example: Tunable Filtering and Visualization Using Audio Plugins |
Variable Slope Bandpass Filter | |
---|---|
| Name:
Type: System object plugin Description: Implements a variable slope IIR bandpass filter with tunable cutoff frequencies and slopes. Design Patterns: string enum parameter mapping, log parameter mapping, filter visualization Features Used:
Related Example: Tunable Filtering and Visualization Using Audio Plugins |
Gain Control
Bass Enhancer | |
---|---|
| Name:
Type: System object plugin Description: Implements a psychoacoustic bass enhancement algorithm. The plugin parameters are the upper cutoff frequency of the bandpass filter and the gain applied at the output of the bandpass filter. Design Patterns: plugin composition Features
Used:
Related Example: Psychoacoustic Bass Enhancement for Band-Limited Signals |
Volume Controller | |
---|---|
| Name:
Type: Basic plugin Description: Control the volume of an audio signal as well as the left/right balance in stereo signals. Additionally, use the Transition Time parameter to specify the delay to apply the changes to the signal. Design Patterns: power parameter mapping, multiple outputs for MATLAB validation and analysis Features Used:
|
Spatial Audio
Ambisonic Encoder | |
---|---|
| Name:
Type: Basic plugin Description: Specify the microphone locations by tuning the azimuth and elevation. Encode streaming audio into ambisonics using the process function. Design Patterns: Multi-channel, variable number of channels, ambisonic encoding Features
Used:
Related Example: Ambisonic Plugin Generation |
Ambisonic Decoder | |
---|---|
| Name:
Type: Basic plugin Description: Specify desired virtual speaker locations by tuning the azimuth and elevation. Decode ambisonic-encoded audio using the process function. Design Patterns: Multi-channel, variable number of channels, ambisonic decoding Features Used:
Related Example: Ambisonic Plugin Generation |
Communicate Between MATLAB and DAW
Parametric Equalizer with UDP | |
---|---|
| Name:
Type: System object plugin Description: Implements a three-band parametric equalizer with tunable center frequencies, Q-factors, and gains. A UDP sender enables the generated VST plugin to communicate with MATLAB. The digital audio workstation and MATLAB can then exchange information in real time. This plugin uses UDP to send the equalizer filter coefficients back to MATLAB for visualization purposes. You can alter this plugin to send the input or output audio instead of, or in addition to, the filter coefficients. Design Patterns: log parameter mapping, filter visualization Features Used:
Related Example: Communicate Between a DAW and MATLAB Using UDP |
UDP Sender | |
---|---|
| Name:
Type: Basic plugin Description: Sends live stereo audio from a digital audio workstation (DAW) to MATLAB using UDP. Design Patterns: no tunable parameters Features
Used:
Related Example: Communicate Between a DAW and MATLAB Using UDP |
Music Information Retrieval
Beat Detector | |
---|---|
| Name:
Type: Basic plugin Description: Estimates and displays a beat per
minute (BPM) decision using the specified onset detection
method. If you interact with the plugin at the command line, you
can get a click track corresponding to the onsets detected using
the Design Patterns: plugin composition, visualization, MATLAB-only features Features
Used:
|
Speech Processing
Spectral Subtractor | |
---|---|
| Name:
Type: Basic plugin Description: Implements basic spectral subtraction. This plugin performs frequency-domain processing. Tunable parameters of the plugin include analysis window type, noise level estimation, analysis window time, and analysis frame overlap. Design Patterns: overlap and add (OLA) reconstruction, analysis and synthesis, enum helper class for parameter mapping, windowing Features
Used:
|
Speech Pitch Detector | |
---|---|
| Name:
Type: Basic plugin Description: Calculates pitch using a basic autocorrelation algorithm, spectral periodicity algorithm, or both. This plugin is for analysis purposes: It provides a direct feedthrough of the signal. To visualize the pitch decision, use the visualize method while processing speech data. Design Patterns: plugin composition, visualization, MATLAB-only features Features
Used:
|
Deep Learning
Denoiser | |
---|---|
| Name:
Type: Deep learning plugin Description: Denoises speech using a deep neural network. This plugin includes an optional configurable noise gate at the output of the network. To generate and use the plugin, download the pretrained deep neural network and save it to a MAT-file using this code: % Download pretrained network to current folder unzip('https://ssd.mathworks.com/supportfiles/audio/SpeechDenoising.zip',pwd) % Save relevant network in MAT-file s = load('SpeechDenoising/denoisenet.mat'); denoiseNetFullyConnected = s.denoiseNetFullyConnected; save('denoisePluginNet.mat','denoiseNetFullyConnected') Design Patterns: pretrained deep learning neural network, sample rate conversion, audio plugin coder configuration Features
Used:
Related Example: Denoise Speech Using Deep Learning Networks |
See Also
Audio Test Bench | audioPlugin
| audioPluginSource
| audioPluginInterface
| audioPluginParameter