Design and analyze speech, acoustic, and audio processing systems
Audio Toolbox™ provides tools for audio processing, speech analysis, and acoustic measurement. It includes algorithms for audio signal processing (such as equalization and dynamic range control) and acoustic measurement (such as impulse response estimation, octave filtering, and perceptual weighting). It also provides algorithms for audio and speech feature extraction (such as MFCC and pitch) and audio signal transformation (such as gammatone filter bank and Mel-spaced spectrogram).
Toolbox apps support live algorithm testing, impulse response measurement, and audio signal labeling. The toolbox provides streaming interfaces to ASIO, WASAPI, ALSA, and CoreAudio sound cards and MIDI devices, and tools for generating and hosting standard audio plugins such as VST and Audio Units.
With Audio Toolbox you can import, label, and augment audio data sets, as well as extract features and transform signals for machine learning and deep learning. You can prototype audio processing algorithms in real time by streaming low-latency audio while tuning parameters and visualizing signals. You can also validate your algorithm by turning it into an audio plugin to run in external host applications such as Digital Audio Workstations. Plugin hosting lets you use external audio plugins like regular objects to process MATLAB® arrays. Sound card connectivity enables you to run custom measurements on real-world audio signals and acoustic systems.
Connectivity to Standard Audio Drivers
Read and write audio samples from and to sounds cards (such as USB or Thunderbolt™) using standard audio drivers (such as ASIO, WASAPI, CoreAudio, and ALSA) across Windows®, Mac®, and Linux® operating systems.
Low-Latency Multichannel Audio Streaming
Process live audio in MATLAB with milliseconds of round-trip latency.
Audio and Speech Feature Extraction
Extract low-level features for speech and audio analytics, including Mel frequency cepstral coefficients (MFCC), gammatone cepstral coefficients (GTCC), pitch, harmonicity, and spectral descriptors. Feed deep learning architectures working on time-series, such as those based on LSTM layers.
Transform signals into time-frequency representations using a modified discrete cosine transform (MDCT), short-time Fourier transform (STFT), or the more compact Mel-spaced spectrogram. Decompose signals by using perceptually-spaced frequency bands that use gammatone filter banks. Feed deep learning models working on two-dimensional data, such as those based on CNN layers.
Label and Create Audio Datasets
Create new recordings and assign ground-truth labels to audio and speech datasets. Automate speech transcription using speech-to-text cloud-based services.
Ingest Large Audio Datasets
Index and read from large collections of audio recordings using
audioDatastore. Randomly split lists of audio files according to labels. Parallelize processing tasks using tall arrays for data augmentation, time-frequency transformations, and feature extraction.
Audio Filters and Equalizers
Model and apply parametric EQ, graphic EQ, shelving, and variable-slope filters. Design and simulate digital crossover, octave, and fractional-octave filters.
Dynamic Range Control and Effects
Model and apply dynamic range processing algorithms such as compressor, limiter, expander, and noise gate. Add artificial reverberation with recursive parametric models.
System Simulation with Block Diagrams
Design and simulate system models using libraries of audio processing blocks for Simulink®. Tune parameters and visualize system behavior using interactive controls and dynamic plots.
Live Parameter Tuning via User Interfaces
Automatically create user interfaces for tunable parameters of audio processing algorithms. Test individual algorithms with the Audio Test Bench app and tune parameters in running programs with auto-generated interactive controls.
MIDI Connectivity for Parameter Control and Message Exchange
Interactively change parameters of MATLAB algorithms by using MIDI control surfaces. Control external hardware or respond to events by sending and receiving any type of MIDI message.
Standard-Based Metering and Analysis
Apply sound pressure level (SPL) meters and loudness meters to recorded or live signals. Analyze signals with octave and fractional-octave filters. Apply standard-compliant A-, C-, or K-weighting filters to raw recordings.
Impulse Response Measurement
Measure impulse and frequency responses of acoustic and audio systems with maximum-length sequences (MLS) and exponential swept sinusoids (ESS). Get started with the Impulse Response Measurer app. Automate measurements by programmatically generating excitation signals and estimating system responses.
Efficient Convolution with Room Impulse Responses
Convolve signals with long impulse responses efficiently using frequency domain overlap-and-add or overlap-and-save implementations. Trade off latency for computational speed using automatic impulse response partitioning.
Encode and decode different ambisonic formats. Interpolate spatially sampled head-related transfer functions (HRTF).
Generation of Audio Plugins
Generate VST and other types of audio plugins directly from MATLAB code without requiring manual design of user interfaces. With MATLAB Coder™, generate ready-to-build JUCE C++ projects for more advanced plugin prototyping.
Hosting of External Audio Plugins
Use external VST and AU plugins as regular MATLAB objects. Change plugin parameters and programmatically process MATLAB arrays. Alternatively, automate associations of plugin parameters with user interfaces and MIDI controls. Host plugins generated from your MATLAB code for increased execution efficiency.
Low-Cost and Mobile Devices
Prototype audio processing designs on Raspberry Pi™ by using on-board or external multichannel audio interfaces. Create interactive control panels as mobile apps for Android® or iOS devices.
Prototype audio processing designs with single-sample inputs and outputs for adaptive noise control, hearing aid validation, or other applications requiring minimum round-trip DSP latency. Automatically target Speedgoat audio machines and ST Discovery boards directly from Simulink models.
Generate Audio Unit (AU) Plugins from MATLAB audioPlugin objects on macOS
Customize layout and appearance of UI controls for generated plugins and for parameterTuner in MATLAB
Automate the extraction of commonly-used audio and speech features while sharing common computations
Automatically generate modified versions of audio and speech recordings using combinations of common and custom effects
Independently modify pitch and duration of audio and speech recordings
Label collections of speech recordings within the Audio Labeler App using speech detection and third-party speech-to-text transcription services