Sounds Logical
home

WaveWarp 2.0 Component

IndexCurrent GroupPrevious GroupNext GroupPrevious ComponentNext ComponentBottom of Page

Functional Description | Algorithm | Signal Implementations | Related Components | Example DWBs usage

MATLAB:

MATLAB 2D Control Tablet

Functional Description
A mouse-driven two-dimensional tablet for generating two-dimensional user-defined control signal trajectories. The signals are sent in real-time to WaveWarp on a point-by-point basis (with a user-adjustable update frequency, set via the "Communication" button). The signals are held at their given levels for the time elapsed between successive updates. An optional transformation can be invoked whereby each data point 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. Also the trajectories can be (optionally) recorded (and, if desired, saved to file), then played back either once at a time or in continuous "looping" mode.

NOTE: This component requires MATLAB (v5.3 or later), available separately from The MathWorks, Inc. (www.mathworks.com)

Parameter Purpose
The main tablet area with cursor This is the tablet in which the user creates the real-time control tracjectories by clicking-and-dragging the cursor around in an arbitrary manner. The coordinates of the cursor position are routinely read-off (at a rate determined by the Parameter Update Rate, adjustable via the "Communication" button) and sent to the workspace under the user-assigned "raw" variable name. If the "Enable transform" button is not activated, these raw coordinates are sent directly to WaveWarp as the two output control signals. If the "Enable transform" button is activated, the raw coordinates are transformed under the user-defined transformation function, then the transformed data (under the user-assigned workspace name) are sent to WaveWarp as the two output control signals.

The numerical values of the raw and (optionally) of the transformed coordinates are displayed in the (green} display areas to the right of the main tablet.

The "horizontal" and "vertical" dimensions of the main tablet can be independently and arbitrarily adjusted by right-clicking anywhere within the boundaries of the tablet (but away from the vicinity of the cursor). The new dimensions are reflected one-to-one in the raw coordinate values, enabling any arbitrary combination of values to be generated.

NOTE: the tablet is only activated once the WaveWarp DrawingBoard is playing (since the MATLAB GUI receives its "clocking" signals from WaveWarp during run-time).

"Set the initial coordinates:" dialogs Enable the initial coordinates (horizontal, vertical) to be arbitrarily specified by the user (i.e. to be different from the default (0,0)).
"Record" button If activated, the user-defined mouse-movements (raw coordinates) are recorded (in memory) for later playback. The recording is "clocked" (at a rate determined by the Parameter Update Rate, adjustable via the "Communication" button) so that the time-dependency of the trajectories is recorded as well as the coordinate values.
"Replay" button If activated, the previously recorded user-defined mouse-movements (raw coordinates) are played back. The playback is "clocked" (at a rate determined by the Parameter Update Rate, adjustable via the "Communication" button) so that the time-dependency of the trajectory is reflected in the playback. Any arbitrary transformation can be applied to these raw coordinates since the transformed coordinates are not saved with the trajectory, but rather are computed "on-the-fly" during playback.
"Loop" checkbox If selected, the trajectory playback is repeated continuously, otherwise the trajectory is played back once then stopped.
"Export to file" button If pressed, the previously recorded trajectory is saved to a MAT-file.
"Load from file" button If pressed, a previously-saved trajectory can be loaded from its MAT-file.
"Name of raw signal:" dialog Enter any valid MATLAB variable name under which the raw cursor coordinates are sent to the MATLAB workspace.
"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 raw coordinates to yield the transformed coordinates (if the "Enable transform" button is pressed). 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. The default example transform function describes an "inverse-square-law" dependency in distance from the top left and top right corners, intended to be used as a stereo panning signal to control the amplitude of the signal coming from "imaginary" speakers placed in these corners (i.e., with the cursor thereby representing the position of the listener relative to the speakers).
"Mute" button If selected, the control signals are set to zero after being sent to WaveWarp (i.e. the MATLAB variables are unaffected).
"Bypass" button If selected, stops the transmission of data from MATLAB to WaveWarp (though the process within MATLAB are continued).

Algorithm
N/A
Signal Implementations
Audio signals Control signals Description
n/aNo input double output MATLAB workspace variable (two dimensional) sent to two WaveWarp control signals, one dimension per signal
Related components:
Example DrawingBoards illustrating usage:
  • None

IndexCurrent GroupPrevious GroupNext GroupPrevious ComponentNext ComponentTop of Page

home - news - products - store - support - site map - company info
© 2007 Sounds Logical. All rights reserved.
Sounds Logical
legal notice - privacy statement