Systems >>
2. Parsimonia
3. EMP Triangle
4. Sinew0od
>> Patches
1. TCP/IP: NIME
2. TCP/IP: Sestina
3. TCP/IP: Reconciliation
4. Re-patching Bach
5. Triangular Progressions
6. Sinew0od for Bass Clarinet
7. Sinew0od for Halldorophone
8. Sinew0od for Buchla
Publications >>
3. Live Coding the Global Hyperorgan
© Mattias Petersson, 2025
The Melodic Pattern
In addition to the chord sequence, there is a melodic line pattern (shown in the code above), based on all the subarrays derived from the EMP Triangle, used as one long sequence of scale degrees (line 5 in the code). Although it uses the same modal transposition pattern, and a similar for the root note, the duration key on line 13 reads values from the triangle in a top-bottom left-right fashion, causing this line to appear as freestanding from the sequences of chords.
There is a deviation from the modal transposition pattern occurring on the fifth repetition in both the chord pattern and the melodic pattern, where the root note is set to 0 and -24 respectively (following the pattern logic, it should have been -12 for both), causing the chords and the melody to swap registers at that point in the piece. For the vinyl release of this piece, this was used as a point to divide the piece into two parts for the A and B sides of the record.
The Composition
The point of departure for Triangular Progressions was an attempt to recreate the Buchla format module 262v Harmonic Oscillator by Mark Verbos. This module provides a voltage-controlled mixer for the first ten harmonics, as well as controls for spectral width, center, and tilt. With this as inspiration, I eventually ended up with a fairly large SuperCollider SynthDef that incorporated an additive synthesis generator (SuperCollider's Klang UGen) with eight individually controllable sinusoidal partials, further processed through a model of an analog style filter (the DFM1 UGen) and a plucked string model (the Pluck UGen, implementing the Karplus-Strong algorithm (Karplus & Strong, 1983). Finally, there is a feedback convolution effect mixing noise and other randomness with reverb, effectively creating a unique, shape-shifting virtual room to each node of this synth. This SynthDef is published in full in the book, appurtenant to this exposition (Petersson, 2025, p. 113).#container-weave, #container-editor {background-color: #000000}#container-weave a, #container-editor a {color: #969696}.tool-caption, .simple-text-editor-content, .simple-text-editor-content .x-window-mc, .html-text-editor-content, .html-text-editor-content .x-window-mc {font-family: 'nimbus sans l', sans-serif}
Another source of inspiration for this SynthDef and for the composition of Triangular Progressions was the notion of a pipe organ where the stops could be re-registered and individually modulated per note. The SuperCollider pattern library was used to perform these virtual registrations and the sequences were generated by the EMP Triangle, further explained below. The code above shows the construction of an array with four different readings of the entire sequence of numbers in the triangle. The first is a left-right top-bottom reading, the second reads right-left bottom-top, and the third and fourth are inverting the number sequences around the default axis (which is the sum of the minimum and maximum values of the array). Scale degrees in SuperCollider are zero indexed, hence the -1 on these arrays.
The Chord Patterns
In the code above, four patterns (the Pbind on line 2) are collected into an array, using the four different readings of the triangle as Pseq sequences for the \degree key on line 6. Thus, the number sequences shown on lines 9-12 in the previous example set scale degree values in the scale defined on line 4 here. The Pbinds generate a stream of events, independently setting parameters for synths based on the previously mentioned SynthDef. However, they all use the same sequence for duration as shown on line 14, creating a homophonic four-voice chord sequence. These durations are derived from a bottom-top right-left reading of the triangle. Furthermore, there is a random octave selector, transposing the scale degrees down chromatically either twelve or twenty-four semitones down using the \ctranspose key set by a Pwrand on line 8. Pwrand is a weighted random generator, with weights in a second array. Here, there is a ninety percent chance of an octave down transposition and a ten percent chance of a two octaves down transposition.
For the entire piece, the sequence of thirty-six chords is repeated nine times. Accents in the pattern occur four times in each repetition by emphasizing the level of the Pluck resonances, following the pattern of nines in the triangle, read bottom-top right-left (the \pluckAmt key on line 28 in above). There is also a subtle rhythmic pattern of hi-pitched 'pings' slowly fading in throughout the whole piece. These are based on an additional sine oscillator, amplitude modulated by a low frequency saw oscillator, where the frequencies for both are derived from the same sub-array that sets the scale degrees.
As mentioned earlier, the tuning is set to 7-Limit just intonation, and a key feature of this piece is to play with the consonances and dissonances occurring when transposing the scale degrees modally (i.e., according to the minor pentatonic scale used here), while transposing the root note, i.e., the key for the tuning, in the opposite direction (see lines 9-12 in the code above). This transposition occurs for every repetition of the chord sequence, creating nine variations with their own distinct harmonic properties of the basic structure.
Patch 5: Triangular Progressions
Triangular Progressions is an exploration of harmonic progressions found within the EMP triangle, while experimenting with a minor pentatonic scale and 7-limit just intonation. It was written in the SuperCollider programming environment using additive synthesis. An initial harmonic study of 4:27 minutes called Triangular Progression (note the singular form!) was made in 2019 and released under my moniker Codespira1 as part of the compilation album Moving Music: sounds from the rocking chair on the Dutch label Moving Furniture Records. This short study eventually grew into a suite of nine parts and was released as an album on February 24, 2023 on the Swiss label Hallow Ground. For its release concert at Fylkingen on May 18, 2023, I rewrote the original code into a Parsimonia module, and added several patch points to its inner workings, enabling the addition of a modular system.