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.