A simple pseudo-noise implementation

The PseudoNoise suite implements a basic colored noise synthesis algorithm, along with its associated handler and actor. The noise is psueudo-random or repetitive. Various amounts of filtered, non-repetitive "random" noise can be introduced to modulate or "break up" the repetitiveness of the resulting sound.

PseudoNoise uses three parameters: "Cutoff", "Modulation Cutoff", and "Modulation Index". Cutoff controls the frequency at which the noise spectrum falls off. Specifically, a cutoff of 1000 Hz produces an output spectrum whose half-power point occurs at roughly 300 Hz. Modulation Cutoff controls the cutoff frequency of the random modulating noise, in similar fashion to Cutoff. . Modulation Index ranges from 0 to 10 and controls the overall amount of random modulation applied to the repetitive noise.

To use the PseudoNoise implementation, load pnoise.so and create an actor of type PseudoNoiseActor.

PseudoNoiseActor messages

In addition to the messages understood by all generator actors, the PseudoNoiseActor understands the following messages:
SetCutoff hActor x
Set the default cutoff frequency for new instances created by this actor to x Hz.
SetAllCutoff hActor x time
Set the cutoff frequency of all children to x Hz, and set the default value for all future children. If time is specified, children will modulate to the new value over the specified duration (in seconds). Default cutoff is always set immediately regardless of time.
SetModCutoff hActor x
Set the default modulation cutoff frequency for new instances created by this actor to x Hz.
SetAllModCutoff hActor x time
Set the modulation cutoff frequency of all children to x Hz, and set the default mod cutoff for all future children. If time is specified, children will modulate to the new mod cutoff over the specified duration. Default mod cutoff is always set immediately regardless of time.
SetModIndex hActor x
Set the default modulation index for new instances created by this actor to x (in the range 0 to 10).
SetAllModIndex hActor x time
Set the modulation index of all children to x (between 0 and 10; default 0), and set the default value for all future children. If time is specified, children will modulate to the new value over the specified duration (in seconds). Default modulation index is always set immediately regardless of time.

PseudoNoise handler messages

In addition to the messages understood by all handlers, the handler for the pseudonoise algorithm understands the following messages:
SetCutoff hSound x time
Set the cutoff frequency to x Hz. If time is specified, move to the new value over time seconds.
SetModCutoff hSound x time
Set the modulation cutoff frequency to x Hz. If time is specified, move to the new value over time seconds. Note that this message has no audible effect if SetModIndex below is still zero.
SetModIndex hSound x time
Set the modulation index to x (between 0 and 10). If time is specified, move to the new value over time seconds. Default value is zero.