A digital audio workstation (DAW) is an electronic device or software application used to record, edit, and produce sound files. DAWs are controlled with a user interface. Most DAWs allow MIDI controls to tune parameters during live editing.
In the music industry, DAWs are typically used to acquire and save multiple tracks of audio recordings, and to mix, equalize, and add audio effects. DAWs generally have access to libraries of sounds and are used to create electronic music from scratch. Commercial DAWs, such as those found in recording studios, can be hardware integrated into computers.
DAWs are also used in the production of radio, television, film, podcasts, games, and anywhere complex manipulation of audio signals is needed.
DAWs generally support plugins, which are smaller pieces of software with unique functionality, therefore expanding the abilities of the DAW user.
Plugins are self-contained pieces of code that can be “plugged in” to DAWs to enhance their functionality. Generally, plugins fall into the categories of audio signal processing, analysis, or sound synthesis. Plugins usually specify a user-interface containing UI widgets, but the DAW interface might mask it. Typical plugins include equalization, dynamic range control, reverberation, delay, and virtual instruments.
To process streaming audio data, the DAW calls the plugin, passes in a frame of input audio data, and receives back a frame of processed output audio data. When a plugin parameter changes (for example, when you move a control on the plugin’s UI), the DAW notifies the plugin of the new parameter value. Plugins usually have their own custom UI, but DAWs also provide a generic UI for all plugins.
Audio System Toolbox™ supports code generation to the most common plugin format, Steinberg’s VST (Virtual Studio Technology). Audio System Toolbox also enables you to run and test externally authored VST and VST3 plugins directly in MATLAB®.
For a discussion of plugin terminology and usage in the MATLAB environment, see Design an Audio Plugin.
Musical Instrument Digital Interface (MIDI) is a technical standard for communication between electronic instruments, computers, and related devices. MIDI carries event messages specific to audio signals, such as pitch and velocity, as well as control signals for parameters such as volume, vibrato, panning, cues, and clock signals to synchronize tempo.
MIDI controllers are devices that send MIDI messages. Common devices include electronic keyboards or surfaces with sliders, knobs, and buttons. For DAWs, MIDI controllers can be physical instantiations of functionality present in the DAW. The DAW user can interact using a keyboard and mouse and MIDI controllers.