WaveWarp 2.0 Component
      

Playback Controllers:
Controllable Granular Playback Controller
|
Functional Description
Controls the playback of an audio file by grouping successive samples into
"grains", and manipulating the playback of the grains (with
settings which are dynamically adjusted via the control inputs).
IMPORTANT:
This specialised component is intended for use in conjunction with
a
Controllable Input Audio File
(refer to the corresponding on-line help for
for a detailed description of WaveWarp's controllable playback functionality).
In order to implement the controllable granular playback, the following connections must be implemented
on the DrawingBoard:
- the 6 input control signals for this component can
be arbitrarily
time-varying control signals (containing the desired time-histories of playback rate factors
and durations, as specified in the table below).
-
the output control signal from this component
must be connected to the
control input of a
Controllable Input Audio file.
-
the input audio signal for this component
must originate from
the audio ouput of the same
Controllable Input Audio file used above.
-
the output audio signal from this component
(and not from the
Controllable Input Audio file)
is the desired "granularized" signal to be routed to the output soundcard (or
to other downstream components for further processing).
NOTE: This component is identical in function to the
Granular Playback Controller
except that the grain manipulation parameters are selected
dynamically via the control inputs,
rather than via the Parameter Window.
The file playback is organised as follows:
- A "grain" (buffer) is filled by reading from the file at a specified rate. During this filling process,
the successive samples which are being stored in the grain, are simultaneously sent to the output.
When the grain is full, the file reading is de-activated.
- The grain is then played back at a specified rate and for a specified number of repititions.
During this time, the file is not being read, so no original samples are lost.
- After the total number of grain playback repititions have been executed, samples are then
read from the file, at a specified rate and for a specified duration,
and simultaneously sent to the output. This is known
as the "hop" phase.
- After the hop phase has been executed, the grain is re-filled, and the entire process
is repeated, starting from Step 1.
The various playback rates and durations for the steps outlined above are
dynamically controlled via the control inputs, as summarised in the following table.
| Control Input Index | Purpose |
| 1 |
Controls the "instantaneous" grain size (expressed in numbers of samples).
|
| 2 |
Sets the number of times the grain is played after it has been filled.
|
| 3 |
Sets the "instantaneous" hop size (expressed in numbers of samples).
|
| 4 |
Controls the rate (expressed as a multiplication factor applied to the file's sample rate)
at which the samples are read from the file when filling the grain.
|
| 5 |
Sets the rate (expressed as an effective step-size)
at which the samples are read from the grain when it is played.
|
| 6 |
Sets the rate (expressed as a multiplication factor applied to the file's sample rate)
at which the samples are read from the file when it is being played during the "hop"
(i.e. between grains).
|
Algorithm
The control signal ouput consists of a sequence of integers which, when used to control
the instantaneous playback step-size of an audio file, results in the file being played
according the steps outlined above.
In order to suppress discontinuities at grain boundaries,
a built-in search mechanism ensures that each grain starts on a
zero-crossing upwards transition (the grain length therefore varies
by a few samples from grain-to-grain, in order to satisfy this criterion).
See
[Roa] p.180-184
for an introduction to granular playback methods.
Signal Implementations
| Audio signals | Control signals | Description |
| Single input single output mono-mono | 6 inputs single output |
Control inputs determine the playback parameters, as described in earlier table.
Control output should be connected to the control input of a mono
Controllable Input Audio File.
Audio input should originate from the audio output of the same mono
Controllable Input Audio File.
Granular playback of the mono Controllable Input Audio File
is sent to the mono audio ouput of this component.
|
| Single input single output mono-stereo | 6 inputs single output |
Control inputs determine the playback parameters, as described in earlier table.
Control output should be connected to the control input of a mono
Controllable Input Audio File.
Audio input should originate from the audio output of the same mono
Controllable Input Audio File.
Granular playback of the mono Controllable Input Audio File
is sent (in duplicate) to the stereo audio ouput channels of this component.
|
| Single input single output stereo-mono | 6 inputs single output |
Control inputs determine the playback parameters, as described in earlier table.
Control output should be connected to the control input of a stereo
Controllable Input Audio File.
Audio input should originate from the audio output of the same stereo
Controllable Input Audio File.
Granular playback of the stereo Controllable Input Audio File
is executed, the outputs are averaged, then sent to the mono audio ouput of this component.
|
| Single input single output stereo-stereo | 6 inputs single output |
Control inputs determine the playback parameters, as described in earlier table.
Control output should be connected to the control input of a stereo
Controllable Input Audio File.
Audio input should originate from the audio output of the same stereo
Controllable Input Audio File.
Granular playback of the stereo Controllable Input Audio File
is sent to the stereo audio ouput of this component.
|
Related components:
Example DrawingBoards illustrating usage:

      
|