Perry Cook's Marimba Physical Model

The marimba suite (marimbaActor, marimbaHand, marimbaAlg) makes calls into Perry Cook's STK synthesis toolkit.

To use the marimba implementation, load perry.so and create an actor of type MarimbaActor.

MarimbaActor messages

In addition to the messages understood by all generator actors, the MarimbaActor understands the following messages:
SetReverb hActor x
Turn on reverb for new instances created by this actor to x. (1 = ON, 0 = OFF)
SetAllReverb hActor x
Turn on reverb of all children to x, and set the default reverb flag for all future children. (1 = ON, 0 = OFF)
SetStrikeStrength hActor x
Set the strike strength for new instances created by this actor to x.
SetAllStrikeStrength hActor x time
Set the strike strength of all children to x, and set the default strike strength for all future children. If time is specified, children will modulate to the new strike strength over the specified duration. Default strike strength is always set immediately regardless of time.
SetFreq hActor x
Set the frequency (in Hertz) for new instances created by this actor to x.
SetAllFreq hActor x time
Set the frequency (in Hertz) of all children to x, and set the default frequency (in Hertz) for all future children. If time is specified, children will modulate to the new frequency over the specified duration. Default frequency is always set immediately regardless of time.
SetVibGain hActor x
Set the vibrato gain for new instances created by this actor to x.
SetAllVibGain hActor x time
Set the vibrato gain of all children to x, and set the default vibrato gain for all future children. If time is specified, children will modulate to the new vibrato gain over the specified duration. Default vibrato gain is always set immediately regardless of time.
SetStickHardness hActor x
Set the stick hardness for new instances created by this actor to x.
SetAllStickHardness hActor x time
Set the stick hardness of all children to x, and set the default stick hardness for all future children. If time is specified, children will modulate to the new stick hardness over the specified duration. Default stick hardness is always set immediately regardless of time.
SetStrikePosition hActor x
Set the strike position for new instances created by this actor to x.
SetAllStrikePosition hActor x time
Set the strike position of all children to x, and set the default strike position for all future children. If time is specified, children will modulate to the new strike position over the specified duration. Default strike position is always set immediately regardless of time.
SetLoopGain hActor x
Set the loop gain for new instances created by this actor to x.
SetAllLoopGain hActor x time
Set the loop gain of all children to x, and set the default loop gain for all future children. If time is specified, children will modulate to the new loop gain over the specified duration. Default loop gain is always set immediately regardless of time.

marimba handler messages

In addition to the messages understood by all handlers, the handler for the marimba algorithm understands the following messages:
SetReverb hSound x
Toggle reverb (1 = on, 0 = off).
SetStrikeStrength hSound x time
Set the strike strength to x. If time is specified, modulate to the new strike strength over the specified duration.
SetFreq hSound x time
Set the frequency to x. If time is specified, modulate to the new frequency over the specified duration.
SetVibGain hSound x time
Set the vibrato gain to x. If time is specified, modulate to the new vibrato gain over the specified duration.
SetStickHardness hSound x time
Set the stick hardness to x. If time is specified, modulate to the new stick hardness over the specified duration.
SetStrikePosition hSound x time
Set the strike position to x. If time is specified, modulate to the new strike position over the specified duration.
SetLoopGain hSound x time
Set the loop gain to x. If time is specified, modulate to the new loop gain over the specified duration.