WaveWarp 2.0 Component
      

MATLAB:
Functional Description
Converts any signal in the MATLAB workspace into an audio signal in WaveWarp.
Unlike the 'MATLAB To Audio' component, the data is not streamed frame-by-frame
in real-time from MATLAB to WaveWarp, but rather is sent in its entirety as a
single large frame, then played sample-by-sample in WaveWarp. Features
include: waveform viewer with flexible zoom/looping capabilities; WAV file
import/export options; an optional transformation which can be invoked
whereby the data is manipulated (before being sent to WaveWarp) according to an
arbitrary user-defined MATLAB script evaluated in the workspace using any combination of
variables present in the workspace.
NOTE: This component requires MATLAB (v5.3 or later), available separately from The MathWorks, Inc. (www.mathworks.com)
| Parameter | Purpose |
| "Name of raw signal:" dialog |
Enter any valid MATLAB variable name
representing the signal to be imported from the MATLAB workspace and sent to WaveWarp.
If the "Enable transform" button is de-activated, this raw signal is sent "as is" to WaveWarp.
If the "Enable transform" button is activated, the signal is first transformed under a user-defined
batch transformation, then sent to WaveWarp (under the user-assigned name).
|
| "Name of transformed signal:" dialog |
Enter any valid MATLAB variable name for the transformed signal in the MATLAB workspace
(used only if the "Enable transform" button is pressed).
|
| "Enable transform" button |
Toggles the activation state of the (optional) data transform function.
| "Enter desired MATLAB code..." dialog |
Enter any valid MATLAB code to define the (optional) transform function acting on the
selected region of the raw signal.
The MATLAB code can make use of any pre-existing workspace variables
(in addition to the raw and transformed variables). Likewise, any m-functions, scripts, or mex functions
may be used.
|
| Waveform viewer |
Plot window displaying the selected audio signal from the MATLAB workspace.
Only the raw signal is displayed, not the transformed signal.
Any arbitrary portion of the
displayed waveform can be "selected" by clicking-and-dragging a "rubber rectangle" with the mouse.
If "Enable auto-zoom" is selected, the (horizontal) plot axis automatically adjusts itself to
span only the extent of the selected region, thereby effecting a zoom-in. Moreover, if "Enable auto-send"
is selected, then the selected region is automatically sent to WaveWarp and played in continuous looping
mode (by default). If "Enable auto-send"
is not selected, then the new region is not automatically sent to WaveWarp. The "Send to WaveWarp" button
must then be pressed in order to send the new region to WaveWarp.
An arbitrary number of successively nested zoom actions can be performed. Pressing the "Zoom out"
button restores the selecton to the full extent of the MATLAB variable in one go.
Alternatively, the "Zoom back" button
can be used to zoom out step-by-step through the successive zoom states.
During playback, a moving scrollbar indicates the (approximate) position in the waveform corresponding to
the instantaneous signal. This feature can be optionally disabled by unchecking the "Enable scrolling"
checkbox (e.g. in order to preserve CPU for more pressing tasks).
Likewise the entire waveform viewer can be disabled by unchecking the "Enable plotting" checkbox (e.g. to
avoid the time consuming process of plotting large data sets).
The "Stop", "Play", and "Loop" buttons control the playback of the selected region in WaveWarp.
By default, "Play" and "Loop" are automatically selected (for convenience).
NOTE: the "Stop", "Play", and "Loop" buttons are only effective when the WaveWarp DrawingBoard
is playing (i.e. they do not control the WaveWarp engine, only the manner in which the data from
MATLAB is managed at run-time).
|
| Channel mode selector |
Selects the desired display mode (applicable to stereo signals only).
The options are "left" (when only the left channel is displayed full-size), or
"right" (when only the right channel is displayed full-size). (In either case,
the full stereo signal is sent to
the respective WaveWarp audio channels, irrespective of the particular
channel selected for plotting).
|
| "Import WAV file..." button |
For loading a WAV file into the workspace. The imported data is automatically assigned to the
"raw" signal variable, displayed (in its entirety) in the waveform viewer, and sent (in batch)
to WaveWarp
for immediate playback.
|
| "Export raw signal..." button |
For exporting the raw signal to a WAV file (either in its entirety, or just the selected region).
Options are provided for setting the key attributes of the WAV file (sample rate, bit depth etc.).
|
| "Export transformed signal..." button |
For exporting the transformed signal to a WAV file (either in its entirety, or just the selected region).
Options are provided for setting the key attributes of the WAV file (sample rate, bit depth etc.).
This feature is only enabled when the "Enable transform" button is activated.
|
| "Signal gain" slider and dialogs | Scales
the overall amplitude of the signal when playing in WaveWarp (the MATLAB variables are unaffected).
The gain can be set via the slider or either of the linear or decibel data entry dialogs. Although the slider has pre-defined limiting values,
these can be overwritten by any arbitrary value entered in either of the dialogs. |
| "Mute" button |
If selected,
the audio signal is set to zero during playback in WaveWarp (i.e. the MATLAB variables are unaffected).
|
| "Bypass" button | If selected,
stops the transmission of data from MATLAB to WaveWarp (useful for temporarily suspending the action of
the component in order to reduce the CPU burden without disconnecting the component).
|
|
Algorithm
N/ASignal Implementations
| Audio signals | Control signals | Description |
| No input mono output | n/a | MATLAB workspace variable (single column vector) sent to mono WaveWarp output |
| No input stereo output | n/a | MATLAB workspace variable (double column matrix) sent to stereo WaveWarp output, one column per channel |
Related components:
Example DrawingBoards illustrating usage:

      
|