Risset Beats
About this sound model:
These sounds run forever, being generated as you listen,
changing ever so slowly and subtly.
Parameters:
BaseFreq
- fundamental frequency of the lowest tone in the cluster,
NumTones
- the number of tones in the cluster,
NumHarmonics
- the number of harmonics in each tone (zero phase, decreasing in amplitude
as 1/(harmonic number),
Spacing
- the spacing in frequency between each tone in the cluster,
(i)Jitter
- range of random variation in the spacing of the tones (fixed at "init-time"
once the tones starts playing)
(i)Starttime
- if 0, the tones (and the harmonics) all start at 0 phase. You can shift
the start point, so that the zero phase alignment point is at some
specified time before (positive starttime) or after you start the sound.
(This works even when jitter is non-zero - however, you might not get exactly
what you expect ... see "To note" below)
Gain
- amplitude scaling, units are such that the maximum settable is .1
The "(i)" indicates an "init-time" parameter that only
has an effect when the sound begins to play, and not while it is playing.
To note: This model is intended for experienced sonic explorers. Others use at your own risk:
(1) As you add and take away tones, their phases start at unpredictable times relative to the others. If you Stop and then Start the sound with the same parameters, it will sound different because all the phases will start in a specific relationship to each other different than when you stopped the sound. Do not be alarmed.
(2) This sound is all about slowly and systematically changing phases between many simultaneous sine tones. You may get some unpleasent "pops" when all those phases line up at 0. You can set the gain lower, set the Starttime to be large (time advances before starting so that phases don't all start at 0) or just wait for a possibly very long time.
(3) There is a lovely oh-so-slow variation in these drones that defies your expectation of exact periodicity with a frequency equal to the spacing. This is because the oscillators in the system are in a table which is read using a per-sample increment determined by the oscillator frequency. The increment is a fixed floating point number, slightly different for each oscillator. Floating-point round-off means that the spacing is not exactly equal between all tones, and thus the slow evolution of these drones. (I added the jitter parameter for this effect, but it turns out it wasn't necessary!). The fix would be easy enough, but these Risset Beats are about the only sound for which it would matter ....
Hint: Best parameter settings come in *combinations*
- there is no best setting for an individual parameter.
Mario Athineos' Risset Beats page - Great spectrogram images for these sounds, and Matlab code to produce them!
Note: You can use an external MIDI slider box for control - settings under the Options menu.