Develop, Analyze, and Debug Plugins In Audio Test Bench
In this tutorial, explore key functionality of the Audio Test Bench. The Audio Test Bench app enables you to debug, visualize, and configure audio plugins.
Choose Objects Under Test
To open the Audio Test Bench, at the MATLAB® command prompt, enter this command.
audioTestBench
In the Add an Object Under Test field, enter
audiopluginexample.VarSlopeBandpassFilter
and press
Enter. Alternatively, you can click the button to browse for a file containing a plugin
class definition or an external plugin binary. The Audio Test Bench
automatically displays the tunable parameters of the
audiopluginexample.VarSlopeBandpassFilter
audio plugin.
The mapping between the tunable parameters of your object and the
UI controls on the Audio Test Bench is determined by audioPluginInterface
and audioPluginParameter
in the class
definition of your object.
Under Objects Under Test in the Test Bench
View, click and add the
audiopluginexample.VolumeController
plugin. The two plugins
are now connected in a cascade where the
audiopluginexample.VarSlopeBandpassFilter
plugin processes
the input signal, and its output is then processed by the
audiopluginexample.VolumeController
plugin.
Right-click the Volume Controller tab and select the
Left/Right
configuration under Tile
All
to view the tunable parameters of both plugins side by side.
You can change the order of the plugins in the cascade by selecting a plugin from the Objects Under Test and clicking or to move it up or down. You can also remove a plugin by selecting it and clicking .
Run Audio Test Bench
To run the Audio Test Bench and stream audio through your plugins, click . Use the UI controls to tune the plugin parameters while streaming.
To stop the audio stream loop, click . The MATLAB command line and objects used by the test bench are now released.
To reset internal states of your audio plugin and return the UI controls to their initial positions, select the plugin from the Objects Under Test and click .
Click to run the Audio Test Bench again.
Debug Source Code of Audio Plugin
To pause the Audio Test Bench, click .
To open the source file of your audio plugin, click and select the plugin from the dropdown list. For this example,
select Volume Controller
.
You can inspect the source code of your audio plugin, set breakpoints on it, and
modify the code. Set a breakpoint in the set.TransitionTime
function and then click on the Audio Test Bench.
The Audio Test Bench runs your plugin until it reaches the breakpoint. To reach the breakpoint, move the Transition Time dial. To stop debugging, remove the breakpoint and click Continue in the MATLAB editor.
Open Scopes
To open a time scope to visualize the time-domain input and output, click . To open a spectrum analyzer to visualize the frequency-domain input and output, click . The scopes display input to the Audio Test Bench and the output of the last plugin in the cascade.
To release objects and stop the audio stream loop, click .
Configure Input to Audio Test Bench
The Input list contains these options corresponding to System objects:
Audio File Reader
––dsp.AudioFileReader
Audio Device Reader
––audioDeviceReader
Audio Oscillator
––audioOscillator
Wavetable Synthesizer
––wavetableSynthesizer
Chirp Signal
––dsp.Chirp
Colored Noise
––dsp.ColoredNoise
The Audio Device Reader
option is not
supported in MATLAB
Online.
Select
Audio File Reader
.Click to open the settings panel for
Audio File Reader
configuration.You can enter any file name included on the MATLAB path. To specify a file that is not on the MATLAB path, specify the full file path.
In the Audio file box, enter:
RockDrums-44p1-stereo-11secs.mp3
Click again to close the settings panel. To run the audio test bench with your new input, click .
To release your output object and stop the audio stream loop, click .
Configure Output from Audio Test Bench
The Output list contains these options corresponding to System objects:
Audio Device Writer
––audioDeviceWriter
Audio File Writer
––dsp.AudioFileWriter
Both
––audioDeviceWriter
anddsp.AudioFileWriter
None
–– The audio signal is not routed to a file or device. Use this option if you are only interested in using the visualization and tuning capabilities of the test bench.
The Audio Device Writer
and
Both
options are not supported in MATLAB
Online.
Choose to output to device and file by selecting
Both
from the Output menu.To open settings panels for
Audio Device Writer
andAudio File Writer
configuration, click .
Call Custom Visualization of Audio Plugin
If your audio plugin has a custom visualization method, you can view the
visualization in the Audio Test Bench. To open the custom visualization
of audiopluginexample.VarSlopeBandpassFilter
, click and select Variable Slope
Bandpass
. The custom visualization plots the frequency response of
the filter. Tune the plugin parameters and observe the plot update in real
time.
Custom visualizations are available only in MATLAB and not in generated plugins.
Synchronize Plugin Property with MIDI Control
If you have a MIDI device connected to your computer, you can synchronize plugin
properties with MIDI controls. To open a MIDI configuration UI, click and select Variable Slope
Bandpass
. Synchronize the LowCutoff
and
HighCutoff
properties with MIDI controls you choose. Click
OK.
See configureMIDI
for more
information.
Play the Audio and Save the Output File
To run your audio plugin, click . Adjust your plugin properties in real time using your
synchronized MIDI controls and sliders. Your processed audio file is saved to the
current folder according to the Audio File Writer
settings you configured for the Output.
Audio playback is not supported in MATLAB Online.
Validate and Generate Audio Plugin
To open the validation and generation dialog box, click and select Variable Slope
Bandpass
.
You can validate your MATLAB audio plugin code and generate audio plugin binaries. In the
Coder configuration section, you can specify libraries for
deep learning and code replacement when generating plugins. See generateAudioPlugin
, validateAudioPlugin
, and audioPluginConfig
for more information.
Plugin generation is not supported in MATLAB Online.
Generate MATLAB Script
To generate a MATLAB script that implements a test bench with the current app settings for the cascade of plugins, click .
You can modify the code for complete control over the test bench environment.
See Also
Audio Test Bench | validateAudioPlugin
| generateAudioPlugin
| audioPlugin