WaveWarp 2.0 Component
      

Playback Controllers:
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.
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 granular playback, the following connections must be implemented
on the DrawingBoard:
-
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
Controllable Granular Playback Controller
except that the grain manipulation parameters are selected via the Parameter Window,
as summarised in the table below,
rather than dynamically via the control inputs.
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
adjusted via the Parameter Window, as summarised in the following table.
| Parameter | Purpose |
| "Grain size" slider |
Sets the grain size to be equal to
the slider value multiplied
by the "Max value" range selection. The resultant
value is displayed in the "Total size" box.
|
| "Grain repititions" slider |
Sets the number of times the grain is played after it has been filled.
|
| "Hop size" slider |
Sets the hope size to be equal to
the slider value multiplied
by the "Max value" range selection. The resultant
value is displayed in the "Total size" box.
|
| "Grain fill" slider |
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 filling the grain. The resultant rate,
in hertz, is displayed below the slider in the "Effective playback rates" box.
|
| "Grain play" slider |
Sets the rate (expressed as an effective step-size)
at which the samples are read from the grain when it is played.
The resultant rate,
in hertz, is displayed below the slider in the "Effective playback rates" box.
|
| "Hop play" slider |
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).
The resultant rate,
in hertz, is displayed below the slider in the "Effective playback rates" box.
|
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 | single output |
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 | single output |
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 | single output |
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 | single output |
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:

      
|