Jean-Claude Risset’s harmonic arpeggio is a spectral composition technique that uses sine wave interference patterns. This technique allows you to create beautiful drone-like sound, over which occurs a downward cascading arpeggio of a specified subset of the harmonic series. The instrument’s timbre is similar to the sound produced by an overtone singer. Created by beating patterns that result from closely-spaced sinusoids (i.e. slightly detuned sine waves), Risset described the arpeggio gestures as “spectral scans”.
My track Excitation, composed for the Sylicae EP, is an application of this clever spectral technique.
The particular approach of the piece is to use those “spectral scans” with inharmonic partials.
To get the result I implemented the famous Risset instrument in ChucK, a strongly-timed and concurrent music programming language.
First of all I needed an efficient additive synthesizer to create the wavetables:
Then in a ‘score’ file I put together the core ‘risset’ function. Delta is the basis on which detunings are calculated:
Finally, in the same score we can experiment with the ‘classic’ examples, and 2 new ones:
To run the code smoothly, remember to ‘add’ (spork) the class file shred (the additive synth) before sporking the ‘score’ file.
Excitation is based on an extension of the last instrument inharm().
Some time ago Arve Knudsen re-wrote the code to use only functions and no classes. Sporking was eliminated as well. Arve’s version:
Stream the full Sylicae EP on Tidal: