The
Niosumed synth from Mordka
started as a MIDI-controlled live-performed visual, and evolved
to a finished, edited video to the music track, Consumed by
Force Inc.'s Twerk, and released on the Reline
DVD.
Touch
Synths are created in TouchDesigner, shown in the first 5
screenshots. The performance and recording of the synth was
done in TouchMixer, shown in the 6th screenshot.
First
watch a 20-second
QuickTime sample of Niosumed (12 meg). Then download
and play the Niosumed
synth.
Finally each
of the six images below link to a 2-minute video demo
of TouchDesigner and TouchMixer.
Touch
is a complete 3D animation package that is modular.
In TouchDesigner, networks of nodes (called
procedural operators or OPs) generate and process 3D surfaces,
2D images, QuickTime movies, MIDI / audio data, and motion
channel data, all in realtime. Its designed for the
creation of visual art.
Touch's
rich set of features keeps animation in sync with audio, from
MP3 music or MIDI clock in a live performance setting. The
internal timer can be synced to MIDI Clock or tapped in manually.
Knobs, sliders and buttons control the image
in realtime. External MIDI devices can drive the control panels
in TouchMixer.
In TouchDesigner you build and output Touch Synths for the
free TouchPlayer or the enhanced TouchMixer. Touch visual
synthesizers are very much like their music counterparts.
[Figure
1]
The
synth is composed of a background QuickTime movie, a partially-transparent
grainy layer in front of it, the twisting 3D tubes, and another
grainy layer on top.
The Niosumed synth is an abstract animation synthesizer. Randomized
3D tubes twist and roll around on-screen, synced to the beat
of a noisy and abstract music track.
[Figure 2]
The
tubes start as 100-point circles deformed by three 3D noise
curves.
To
create the randomized and animated tubes, the synth starts with
a 100-point circle made with the Circle SOP (Surface OPerators
is a family of nodes that create and modify 2D/3D surfaces).
The 100 XYZ points are read into CHOPs (CHannel OPerators) where
a Noise CHOP moves the points randomly but smoothly over time.
Another Noise CHOP is added to set the tube width at each point.
The graph above shows the X, Y, Z and radius channels for the
100 points.
[Figure 3]
The
lines are converted to tubes and then divided up. A Limit
surface operator (SOP) slices the long tube into pieces, which
are all placed in front the of the camera.
The
channels are then sent back to SOPs where they are converted
into polygon tube meshes by the Limit SOP. All of this happens
in realtime! The 3 channels are fed into the circle's X, Y
and Z position parameters creating an irregular circular line,
while the 4th noise channel gets fed into a width parameter
that generates the tubes irregular radius. Then the
tube is chopped up as it moves around by using the Limit SOPs
loop parameters that cause the off-screen parts of the tube
to break apart and fit into the field of view.
[Figure 4]
The
beats-per-minute generate timing ramps that cause the shape
to jump every 1, 2, 4 or 8 beats.
At
the same time, the synth's control panel sliders are wired
up to adjust how fast the tube changes shape [Squirm] and
how irregular the tube looks [Rough].
Virtually every parameter in Touch is animatable, much the
same way sound synthesizers are. This is possible through
CHOPs, a powerful channel/motion editor, that can create and
filter any channel (motion) data, be it MIDI data, motion
capture data or keyframed curves.
To
control the speeds, lighting, smoothness and transparencies
with a synth control panel (see Figure 6), CHOPs also create
control panel gadgets that can be attached to MIDI devices
and organized into synth interfaces. Above, the CHOP "exporter"
connects the processed Rough sliders to the Roughness parameter
of a Noise CHOP.
In
addition, with its built-in beat timer, its easy to
sync any parameters to the beat of music. It does this with
a Timing CHOP that generates ramps which increase from 0 to
1 over the span of a selected number of beats (see graph above).
The Timing CHOP also generates more ramps that are time-shifted
either evenly or randomly.
In
this case, five control panel buttons are assigned to switch
between four Timing CHOPs that generate timing ramps of 1 ramp
every 1, 2, 4 or 8 beats, or free-running. The selected ramp
is used to step the 3D noise operations at the start of every
ramp. By doing this, a different noise shape is generated each
period - synced to the beat in the MP3 file.
[Figure 5]
The
built-in compositer (COPs) create grainy textures, mapped onto
polygons in front of and behind the tubes. A slider attached
to the opacity of the rear texture reveals a QuickTime movie
playing as a background. Two colored lights give the tubes'
metallic look.
A
few layers of transparent texture maps are used to create a
graininess for the final image. One noisy texture map is placed
directly in front of the camera object. A second noisy texture
map is placed directly behind the twisted tubes to obscure the
background. A slider "slider #16" is attached to the
opacity channel of the texture map, allowing realtime control
for revealing a QuickTime movie that is played in the background.
The grainy texture images were created with Touch's built in
compositor so no image editing program was required to create
the texture maps. Everything was completely synthesized within
Touch aside from the background QuickTime movie. Every camera
can have its own set of QuickTime movies to play.
Two colored lights are placed in the scene to light the 3D surface.
The tubes are assigned a metallic Phong shader that was also
created in the compositer.
[Figure 6]
The
synth is uploaded to the Derivative web site and downloaded
by anyone who has TouchPlayer or TouchMixer. TouchMixer users
can replace the Quicktime movie with their own, load their own
MP3 track, and record their control panel moves in their own
Touch Track.
Finally
when the Synth design is complete, an MP3 track is chosen
and, in this case, was saved inside the single Touch Synth
file. The MP3 could have been any web URL where the MP3 would
have been progressively loaded after it starts playing in
TouchPlayer or Mixer.
The
Touch Synth was saved and then loaded into TouchMixer. (When
the MP3 file is selected from the music menu, the animation
timeline automatically sets itself to the length of the track.)
By listening to the music, animation segments (a time range
with an in-time and out-time) are created in TouchMixer based
on sections of the music. Once the segments are created, the
animation is performed and recorded in realtime, one segment
at a time. Each segment is recorded individually and you can
do many takes for each section of music. In this case a Peavey
1600x MIDI slider box was used to animate.
Each animation segment can be watched instantly after it is
recorded - no waiting for a render!!! All control panel movements
are recorded and played back, making it easy to see what control
panel movements create the animation.
Finally, once all the segments were recorded the entire sequence
can be played back. Once happy with that the animation, a
movie is output to QuickTime in near-realtime (however long
it takes to write / compress the QuickTime.) This was exported
to Adobe Premiere to add credits and header, and voila - a
music video, derived from the Mordka Niok synth in less than
one day....
...
and if you load the finished synth in TouchPlayer, you can
watch and take over the controls yourself.