A simple wind-chime actor

The PentaActor simulates a wind chime with controllable tonal center, randomness, density, and one user-defined parameter (typically duration). It does not make sound itself, but calls a user-defined message group for each "chime"; this message group does the actual sound production.

To use the PentaActor, load pentatonic.so and create an actor of type PentaActor.

PentaActor messages

In addition to the messages understood by all actors, the PentaActor understands the following messages:
SetMessageGroup hActor "name"
Set the sound-producing message group to the one with name name. The parameters sent to the message group are: The message group may of course ignore any or all of these parameters.
SetIrregularity hActor x
Set the irregularity of chime-occurrences. 0 or less produces a steady pulse; greater values of x produce greater irregularity. As x approaches 1, arbitrarily small and arbitrarily large pauses between chimes can occur. This is computed with what can be grandly referred to as Goudeseune's improvement to the Xenakis-Poisson-Myhill algorithm.
SetHueExact hActor x
Choose one of twelve possible pentatonic pitch sets for the chimes, exactly. x is an integer from 0 to 11 inclusive.
SetHue hActor x
Choose one of the twelve pitch sets, as x (floating point) ranges from 0 to 1.
SetSaturation hActor x
Set the mean number of chimes per second to x (x must be positive). Default is 1.
SetValue hActor x
Set this user-defined parameter, passed verbatim to *2 in the aforementioned message group. Duration of a chime is one useful interpretation of this value.
SetAmp hActor x
Set a scaling factor for amplitudes passed to *1 of the message group. Defaults to unity.
SetWidth hActor x
Set the average width of the effective pitch set used, x between 0 and 1 (default 0.25). Smaller values produce a pitch distribution more nearly Gaussian (and also somewhat more expensive to compute); unity produces a uniform pitch distribution.
SetLowestFreq hActor freq
Set the lowest frequency for the chimes, in Hz (20 to 8820 Hz). Defaults to 220 Hz.