Outersect Modeler
for Kyma X / Capybara 320
The Outersect
Modeler for Kyma is a set
of microcoded sounds that allow
the Kyma user to realistically emulate certain
real-world instruments. The modeler allows the user to emulate the
expressive characteristics and modes of acoustic instruments by
manipulating a small number of simple parameters that relate directly
to the actions of real-world players. Many of these sounds seem so
natural that they can fool the ear. Others do not sound natural at all.
All the sounds, however, behave
the way natural instruments behave
and can be expressive
in all
the same ways that acoustic instruments are expressive.
Demos
Online
Manual
Ordering
Information
Audio
Demos
All single-instrument demos are recorded
directly from the Kyma digital outputs
@ 44.1 kHz and are free of
effects. Any of these demos
will sound more "real" when a small amount of reverb is added,
because real instruments are almost never heard completely dry.
The "musical context" demos (Pachelbel, Mary's Lamb, ...) have some
effects added.
Plucked
Strings
The first demo
shows the timbral variations possible using the plucked string model.
The entire demo is played
on a single note on the keyboard. Realtime
controllers are used to change timbre by bending the pitch, changing
the pluck position, opening the string
at one end, dampening the string, making the string more dispersive,
and
jumping to various harmonics.
One Note, One Minute (pluck
string demo)
Here is a more musical plucked string demo.
Picking Harmonics
The modeler convincingly replicates the
iconic sound of the lead electric guitar.
The modeled guitar allows precise control of harmonic
feedback that even the best guitarists cannot attain.
Most of this demo is a single held note with changing harmonic feedback.
Electric Lead Guitar
Unlike a real guitar, the modeler does not require a loud distorting
amplifier for feedback.
It can produce exactly the same controlled harmonic feedback
with a completely clean sound.
Clean Lead Guitar
Bowed
Strings
The modeler also replicates bowed strings. This demo plays the same
short phrase three times using the modeled violin. Each time, the tone
gets "squeakier" and "tweakier" - the first time through the phrase,
the tone is similar to a classical violin; the second time, it is
perhaps more
like
a gypsy violin; the third time, the tone is unnaturally squeaky. This
demonstrates
the model's control over interesting tonal "mistakes" ...
Violin Tweakiness control
Is the modeler good enough for trying
out string arrangements without
string players?
Here's a modeled string quartet playing Pachelbel's Canon in D ...
Outersect Modeled String
Quartet performs Pachelbel's Canon in D
This is a modeled bowed psaltery ...
Bowed
Psaltery
Flute
The flute model behaves very realistically, jumping harmonics exactly
the way a real flute does. At the beginning of the demo, a single held
note jumps thru
the harmonic series.
The rest of the demo is played on five notes
within a single octave on the keyboard, exactly like a
pentatonic flute. Any notes beyond that are created by jumping
harmonics.
Harmonic
Jumping Flute
The ability to jump harmonics realistically is also key to creating a
good
"chiff" at the beginning of a percussive flute sound,
because the "chiff" is actually a quick sweep down thru part of the
harmonic series. This demo exagerates and slows down a flute chiff so
you can easily hear what's really happening ...
Flute
Chiff
This demo showcases the harmonic-jumping flute in musical context.
The flute line was played live on keyboard using only four notes
in one octave
- anything beyond that was created by jumping to overtones
using realtime control.
Early in the demo I play an old familiar
tune on those four notes.
Everything in the demo is modeled except for the short vocal at the
beginning.
Cross-Eyed
Mary had a Little Lamb
Reeds
The modeler also includes reed simulations.
This demo models a reed instrument with a cylindrical bore similar to a
clarinet.
Clarinet
This demo features a reed model with a variable bore
capable of
modeling saxophones & other instruments.
The same phrase
is played four times with increasing breath pressure.
The tone starts
out delicate and gets progressively ruder.
The whole thing then repeats with a different bore setting.
Rude
Reed
Here, warts & all, is a modeled reed playing "Yakety Sax".
This is necessary to balance the Pachelbel.
This one is completely dry, a little reverb will make it sound more
natural.
Yakety
Sax
Hammered
Strings
The modeler also includes a hammer
simulation.
Hammer
Dulcimer
Tine
Piano (Rhodes)
Kyma
Interface
Classes - Online Manual
StringTine
Simulation of a "string" or a "tine".
A "string" is a resonant object bound at 2 ends,
like a guitar or violin string.
A "tine" is a resonant
object bound at only one end,
like the tines on a Fender Rhodes electric piano.
Frequency
Tuning,
in hz or seconds
Position
Input position on the string or tine.
Range: 0 < position < 1.0
For a string, position is (almost) symetrical around 0.5:
position 0.75 sounds (almost) the same as 0.25.
For a tine, positions near the open end (1.0)
sound different from those near the closed end (0.0).
Harmonic
Position for harmonic damping
0.0 < Harmonic < 1.0
For best results use a low integral fraction (1/2, 1/3, 1/4 ...)
HarmonicDamping
Amount of harmonic hamping
-1.0 <= HarmonicDamping <= 1.0
Typically low (0.1, 0.15)
SlewLimit
Limit on speed of frequency change,
in units of samples/sample.
For example at 0.1, frequency change is limited to 1/10th of a sample
per sample.
Range: 0.0 <= slewLimit <= 1.0
0.0 = minimum possible slew limit of 1/256th sample per sample.
1.0 = slew limiting turned OFF, frequency changes immediately.
Reset
Reset immediately silences
the StringTine
and instantly jumps to the target frequency regardless of
SlewLimit.
!KeyDown will work well for plucked string sounds.
Open
is the stringtine open at one end?
(Is it a string or a tine?)
0 = string, 1 = tine
DecayLevel
Input gain is reduced by DecayLevel in DecayRate seconds
if Damping and Dispersion are set to 1.
Range: 0 <= DecayLevel <= 1
DecayRate
Input gain is reduced by DecayLevel in DecayRate seconds
if Damping and Dispersion are set to 1.
Range: 0 < DecayRate <= N seconds
Damping
Lower values reduce high frequency content.
Range: 0 <= Damping
<= 1
Dispersion
Lower
settings reduce harmonic content and add inharmonic content.
Range: 0 <= Dispersion <= 1
Input
Audio input to the string - the pick, bow, hammer,
or other sound which the string is struck.
Input is stereo - left input is normal input,
right input goes to the positioning system.
If both sides are the same (normally
the case),
the StringTine does normal positioning,
It is also possible to bypass or otherwise manipulate
the positioning system by panning the input or sending
different signals to the left & right inputs.
Wavetable
Name
of the wavetable - should be unique for predictable results.
TableSize
Size
of the wavetable - determines lowest possible frequency.
Pick
Pick is an Attack-Decay envelope with parameters
optimized
for emulating a plucked string impulse.
Expmix
Mixes a linear with an exponential version of the envelope.
-0.5 <= expmix
<= 1
-0.5 = inverse exponential envelope (i.e. rounded)
0 = linear envelope
1 = exponential envelope (i.e.
pointy)
Position
The pick AD envelope shape varies continuously
from downward sawtooth at position 0.0,
to triangle at position 0.5,
to upward
sawtooth at position 1.0.
0.0 <= position
<= 1.0
Trigger
Non-zero value triggers the envelope
The envelope will not retrigger until it completes its cycle.
Trigger must go to 0 and become non-zero again to retrigger the
envelope.
!KeyDown works well for this
Frequency
The pick AD envelope
takes frequency/2 seconds to complete its cycle.
Scale
Scale factor on amplitude of pick envelope
-1 <= scale <= 1
Bow
Bow simulates a violin bow - a device for continuously
stimulating and damping a StringTine.
Bow
should be used as an input to a StringTine or Tube
running on the same processor
(use
ForcedProcessorAssignment to ensure this),
and
the WaveTable and Tablesize should be the same
as the StringTine's.
Velocity
Bow
velocity - how fast is the bow moving across the string.
Range: 0.0 <= Velocity <= 1.0
ScaleVelocity
Scale
Velocity to Pressure.
Leaving this on creates a sweeter sound
at greater velocity ranges.
Turning it off creates a harsher sound at
higher velocities.
Range: 0 = off, non zero = on
Damping
How
much does the bow damp the string when it is not stimulating it.
Range:
-1 <= Damping <= 1
Rosin
Acts like rosin in that lower values are "squeakier".
A value of 1/2 emphasizes the 2nd harmonic, 1/3 the third, ...
This parameter could also be considered analogous
to the width of the bow.
Range: 0.0 <= Rosin <= 1.0
Pressure
bow pressure - How hard is the bow pressing into the string.
Only positive (i.e. unipolar) pressure is accepted
- negative pressure is the same as zero pressure.
Wavetable
This must be the same name as the wavetable of a
StringTine running on the same processor >
(use ForcedProcessorAssignment to ensure this).
TableSize
This
must be the same size as the wavetable of a
StringTine running on the same processor.

Hammer
Hammer simulates the
action of a (felt, piano-type) hammer
hitting a StringTine.
Hammer should be used as an input to a StringTine running on the
same processor (use ForcedProcessorAssignment to ensure this),
and the WaveTable and Tablesize should be the same as the StringTine's.
Trigger
When the trigger increases in value,
the hammer will strike.
!KeyDown works well.
!KeyDown * !KeyVelocity creates a velocity-sensitive hammer.
Hammer
How
difficult is it for the string to throw back the hammer?
Range: (easy) 0 >= Hammer >= 1 (difficult)
Warning: values close to 1 can "break" the string.
Wavetable
This
must be the same name as the wavetable of a
StringTine running on the same processor
(use
ForcedProcessorAssignment to ensure this).
TableSize
This
must be the same size as the wavetable of a
StringTine running on the same
processor.

Tube
Tube
is a StringTine-compatible one-shot delay with coloration -
a
StringTine without
built-in decay or positioning.
Feedback (decay)
can be added using a StringReader.
Tube
is useful for certain types of reed, horn,
and
bowed-string simulations.
Frequency
Tuning,
in hz or seconds
Damping
Lower
values reduce high frequency content.
Range: 0 <= Damping
<= 1
Dispersion
Lower
settings reduce harmonic content and add inharmonic content.
Range:
0 <= Dispersion <= 1
SlewLimit
Limit
on speed of frequency change, in units of samples/sample.
For
example at 0.1, frequency change is limited to 1/10th of a sample per
sample.
Range:
0.0 <= slewLimit <= 1.0
0.0
= minimum possible slew limit of 1/256th sample per sample.
1.0
= slew limiting turned OFF, frequency changes immediately.
Reset
Reset
immediately silences the Tube
and
instantly jumps to the target frequency regardless of
SlewLimit.
Input
Audio
input to the tube
Wavetable
Name
of the wavetable - should be unique for predictable results.
TableSize
Size
of the wavetable - determines lowest possible frequency.
StringReader
Reads a StringTine (or Tube) at the feedback point
Scale
Feedback level is scaled by this amount
Input
Input sound is passed thru at unity gain, mixed with scaled feedback
Wavetable
Name of the StringTine (or Tube) wavetable this sound reads.
Use ForcedProcessorAssignment to ensure that the StringTine and the
StringReader run on the same
processor.
TableSize
Size of the StringTine (or Tube)
wavetable this sound reads.
StringTracker
Tracks the pitch of a StringTine (or Tube) in seconds per cycle
(inverse of hz).
Wavetable
Name of the StringTine (or Tube) wavetable this sound tracks.
Use ForcedProcessorAssignment to ensure that the StringTine and the
StringReader run on the same
processor.
TableSize
Size of the StringTine (or Tube)
wavetable this sound tracks.
Utility
Classes
The remaining classes do not require any microcode.
Anyone who knows what to do could build them in Kyma.
They are very handy when doing physical models,
though.

Pickup
Pickup positionalizes string output the same way a pickup on an
electric guitar does.
Position
Position of the pickup.
Pickup can be completely off the string in virtual instruments.
Range: 0 <= Position <= 1
0 = on bridge; 1 = lowest frequency.
Level
Intensity of the pickup effect
Range: 0 <= Level <= 1
Input
The sound being positionalized.
LowestFreq
Lowest frequency possible for the pickup, in hz.

IR
Body
IR Body simulates an instrument body using
an impulse response.
IR Body uses the
crossfilter
"under the hood".
Pad
Gain reduction on input before it is fed to the crossfilter
Level
Gain reduction on output level after the crossfilter.
Body
Mix of unprocessed input with crossfilter output.
Range: 0 <= Body <= 1
0 = completely dry input; 1 = completely crossfiltered input;
Input
The sound being passed thru the IR Body.
Duration
Duration of the crossfilter impulse response.
The shorter the duration,
the less processor power
required.
Ordering
Information
The price of the package is $200 US.
The package includes many
example sounds,
including all sounds used
to create these demos.
To order, send email to: modeler@outersect.net