0 %

Nodes

Pitch nodes

Nodes for generating, transforming, and organizing pitch material — from simple transposition to Boulez-style pitch multiplication and Ferneyhough gestural ornaments.

NodeInputsOutputsDescription
Transpose midicents pitches
number interval (default: 0)
midicents Shifts every pitch by a fixed interval in midicents. Use 100 for a semitone, 1200 for an octave, or any value for microtonal transposition.
Invert midicents pitches
number pivot (default: 6000)
midicents Mirrors pitches around a pivot point. Each pitch is reflected so that its distance above the pivot becomes the same distance below, and vice versa. Classic twelve-tone inversion when the pivot is the axis of the row.
Pitch Field midicents pitches
text label (default: "")
midicents Creates a named, reusable pitch collection. Use it to define a harmonic field, a scale, or any fixed set of pitches that you reference from multiple places in your graph.
Spectral Field number fundamental (Hz, default: 131)
number num-partials (default: 16)
number deviation (cents, default: 0)
midicents Generates a pitch collection from the harmonic series of a given fundamental. Computes N partials (fundamental × 1, 2, 3, ..., N), converts each frequency to midicents, and optionally adds random deviation in cents for spectral “blur.”
PC Set list pitch-classes (0–11) pc-set Defines a pitch-class set — an unordered collection of pitch classes from 0 (C) to 11 (B). The foundation for set-theory operations: you can compute the normal form, prime form, interval vector, or Forte number from any PC set.
Tone Row list row (12 pitch-classes) pc-set P (prime)
pc-set R (retrograde)
pc-set I (inversion)
pc-set RI (retrograde-inversion)
Defines a twelve-tone serial row and automatically derives all four canonical forms: Prime, Retrograde, Inversion, and Retrograde-Inversion. Each output can be fed into Transpose or PC Transpose for further manipulation.
Interval Expand midicents pitches
number factor (default: 1.0)
number anchor-index (default: 0)
midicents Scales all intervals by a multiplicative factor relative to an anchor pitch. Factor > 1 expands intervals (wider); factor < 1 contracts them (narrower). A factor of 2 doubles every interval from the anchor; 0.5 halves them.
PC Transpose pc-set set
number interval (0–11, default: 0)
pc-set Transposes a pitch-class set in the mod-12 domain. Each pitch class has the interval added modulo 12. Equivalent to T_n in pitch-class set theory.
PC Multiply pc-set set
number multiplier (default: 5)
pc-set Multiplies each pitch class by a constant modulo 12. M5 (multiply by 5) maps the circle of semitones to the circle of fourths; M7 maps it to the circle of fifths. These are the two non-trivial multiplicative operations in mod-12 pitch-class space.
Pitch List midicents pitches (manual entry) midicents A static, manually entered sequence of pitches in midicents. Use this as a simple source node when you want to specify exact pitches rather than generate them algorithmically.
Pitch Multiply pc-set set-A
pc-set set-B
midicents Boulez-style pitch multiplication: each pitch of Set A is transposed by every interval derived from Set B. The result is the union of all transpositions — a larger pitch field that preserves the intervallic DNA of both source sets. A cornerstone technique in post-serial composition.
Grace Notes midicents main-pitches
number density (1–8, default: 3)
number range (midicents, default: 400)
number mode (0=chromatic, 1=spectral, default: 0)
midicents (with grace-note flags) Generates Ferneyhough-style gestural ornament clouds around main pitches. Each main pitch receives a cluster of grace notes drawn from a chromatic or spectral field within the specified range. Density controls how many grace notes surround each main pitch, creating proliferating ornamental gestures.
Tension midicents pitches (default: C major triad) number score
number max
number category (1–4)
string label
list tension-by-IC
list IC-vector
Persichetti Ch 1 interval-tension classifier. Takes a chord, emits an overall 0–5 tension score plus the four-category chord bucket (I soft / II neutral / III tense / IV strident) and a per-interval-class tension histogram. The rich editor is a live teaching view: toggle notes on a keyboard and watch the tension dial, category badge and IC breakdown update. The score output wires cleanly into BPF-style density automation so your chord's tension can drive dynamics.
Counter-line midicents cantus
number species (1–5)
list scale (PC set)
number tonic (mc)
number position (above/below)
number dissonance (0–1)
number contrary (0–1)
number seed
midicents counter
rhythm-tree rhythm
number ratio
list intervals
number violations
Seeded, mode-aware species 1–5 counterpoint generator. Species 1 = 1:1 (note vs note); 2 = 2:1; 3 = 4:1; 4 = suspensions (tied + step-down resolve); 5 = florid (mixed density per bar). The dissonance dial pushes the output from strict Fux (0) through modal CP (≈0.3) to Hindemith/Messiaen/dissonant CP (0.7+). Works with any PC scale — major, dorian, octatonic, Messiaen modes, hand-built sets. Editor has 11 scale presets and 6 style presets (Fux strict, Palestrina, Hindemith, Messiaen 2, Dissonant, Suspensions).
CP Check midicents upper
midicents lower
list scale (optional)
number tonic
number score (0–1)
string label
number violations (total)
list breakdown (8 categories)
list intervals
list tension
list motions
number pairs
Two-voice counterpoint analyser. Walks the pair-aligned voices and emits counts for parallel 5ths, parallel 8ves, voice-crossings, unresolved strong-beat dissonances, hidden (exposed) perfects, oversized leaps, tritones, and out-of-scale notes. The 0–1 score grades Fux-strict to modernist. The tension output is a per-pair 0–5 curve — wire it to a BPF and your dynamics will breathe with your voice-leading density.
Imitation midicents source
number transform (P/I/R/RI)
number interval (semitones)
number pivot (mc)
number delay (steps)
list scale (optional)
number tonic
midicents dux
midicents comes
rhythm-tree rhythmDux
rhythm-tree rhythmComes
number overlap
list intervals
string label
Canon / imitation at any interval + delay. One primitive covers Bach fugue answer (P at P5 delay 2), Palestrina imitation (P with tonal scale snap), 20th-c inversion canon (I at any interval), Webern-style RI, Bartók tritone canon. Rhythm trees have the delay baked in as leading/trailing rests so wiring dux+rhythmDux and comes+rhythmComes into two Voice nodes produces a playable canon directly. 9 canon presets: Bach 5th, Bach 8ve, Unison, Inv. unison, Inv. 5th, Crab, Webern RI, Bartók TT, Tonal oct.
Double CP midicents upper
midicents lower
number interval (semitones of swap)
number mode (raise lower / drop upper / split)
midicents newUpper
midicents newLower
list origIntervals
list newIntervals
number flagged count
number score
string label
Double (invertible) counterpoint: swap two voices at any interval so upper/lower exchange registers. At the 8ve (N=12): 3rds ↔ 6ths, 5th ↔ 4th (the classic trap). At the 10th (N=16): parallel 3rds become parallel 8vas — avoid them. At the 12th (N=19): parallel 3rds survive as parallel 10ths (Bach's favourite). Editor shows stacked original + inverted rolls with ⚠ flags on every pair that would break voice-leading after inversion.
Stretto midicents subject
number voice count (1–4)
list delays per voice
list intervals per voice (semitones)
list transforms per voice (P/I/R/RI)
number pivot (mc)
list scale (optional)
number tonic
midicents voice1-4
rhythm-tree rhythm1-4
number totalLength
string label
Multi-voice canonic entrance helper. One subject in, 2–4 voices out, each with its own delay / transposition / transform. Covers fugal stretto (close imitative entries), mirror canon (I / RI transforms against the dux), and Palestrina imitation points (tonal scale-snap). All voice rhythms share the same total length via leading + trailing rests, so wiring voicen+rhythmn straight into a Voice Layer gives a playable stretto at the correct offsets. 6 presets: Classical 4-vc, Close 2-vc, Bach fugue, Webern mirror, Palestrina, Bartók TT.
Phase midicents pattern (negative values = rests)
number cycles
number voice count (1–4)
number shift per cycle
list start offsets per voice
midicents voice1-4
rhythm-tree rhythm1-4
number totalLength
number patternLen
string label
Reich-style progressive phasing. Takes a short repeating pattern and emits 2–4 voices: voice 0 anchors, voice i rotates by i × shiftPerCycle notes per cycle. Voices start unified, drift apart, and (if cycles × shift is a multiple of patternLen) re-align at the end. Shift=1 reproduces Clapping Music exactly. Pattern entries ≤ 0 are rests — so you can encode percussive patterns like X X X . X X . X . X X . directly. 6 presets: Clapping, Piano Phase, Drumming, Fast drift, Full 4-vc, Re-align.
Chord Progression list circles (pitch-class set cards)
number root (mc, default 6000)
number edo (12/24/31/48/72)
number octave offset
any chords (Chord[])
midicents pitches (flat)
number stride
Sequence of chord cards (pitch-class sets), transposed by a root and realised in an EDO. Emits stacked Chord[] for block-chord playback or flat midicents for arpeggiation. Edit visually through the same circular HarmonicCircle UI as the Preplan view — drag degrees on the circle to build each chord, re-order cards, toggle EDO.
Polychord list bottom-pcs
list top-pcs
number interval (semitones between units, 0–11)
number edo
number bottom-root (mc)
any chord
midicents pitches (flat)
number resonance rating (0–6)
Two stacked chord units separated by a controlled interval (Persichetti Ch 7). The top unit is transposed up by the interval parameter. Emits Persichetti's resonance rating (cycle-of-5ths distance between the roots — 0 = consonant fusion, 6 = tritone-distant maximum tension). Editor shows two HarmonicCircles stacked vertically plus an interval slider and 6 presets (Petrushka, Fifth stack, Tritone stack, etc.).
Mirror midicents pitches
number pivot (mc)
midicents moving pivot (optional wire)
midicents mirror
midicents doubled (contrary)
midicents interleaved
Pivot-based inversion (Persichetti Ch 8). Each pitch p is mapped to 2 × pivot − p. Scalar pivot for stationary axes (6250 = between D4 and E♭4, 6600 = F♯4 fixed point). Wire the moving-pivot input for per-note axes — useful for mirroring against a second melodic line. Three outputs: mirror only, original-then-mirror concatenated (contrary motion), and interleaved [p, mirror(p), p, mirror(p)…]. Editor is a chromatic wheel with a draggable axis and 24 keyboard-pivot presets.
Quartal number root (mc)
list qualities (per-layer semitones, default [5,5,5])
number 3rd below (0 / 3 / 4)
number 3rd above (0 / 3 / 4)
any chord
midicents pitches
number stride
Stack of fourths (Persichetti Ch 4). Each layer is an interval in semitones added on top of the previous pitch — 5 = P4, 6 = A4/tritone, 7 = P5. Optional compound-quartal 3rd additions below the root or above the top thicken the stack without abandoning its quartal character. The classic Bill Evans "So What" chord is qualities [5,5,5] plus a major 3rd above. Editor is a tap-to-cycle brick tower with 8 presets.
Compound number root (mc)
list intervals (per-layer semitones, bottom to top)
any chord
midicents pitches (flat)
list tensions (per-layer 0–5)
number stride
Mixed-interval chord stack with a tension curve (Persichetti Ch 8). Every layer can be any interval, and the chord's character comes from the shape of tensions from bottom to top. Pyramidal = intervals strictly decrease (M7 base, m2 apex); arch = consonant-dissonant-consonant. The graphical editor colours each layer by its Persichetti tension class (0 = gold, 5 = bright red) and overlays a live tension curve so the shape reads at a glance. 8 shape presets.
Pandiatonic list scale (PC set)
number root (mc)
number octaves
number chords
number notes per chord
boolean fresh (no-repeat constraint)
number seed
any chords (Chord[])
midicents pitches (flat)
Seeded stochastic chord draws from a scale pool (Persichetti Ch 10). Generates N chords of M notes each, all drawn from the scale; the fresh flag enforces no pitch appearing twice in the same chord. Deterministic under a seed. Editor has a piano-key PC strip for scale entry, chord preview piano-roll, 11 scale presets, and a regenerate button.
Telescope midicents pitches (typically a tone row)
number size (notes per chord)
number advance (step between chords)
any chords
midicents topRow
midicents bottomRow
Row → chord telescoping (Persichetti Ch 12). Partition a row into overlapping groups of size adjacent pitches, advancing by advance each step, and sound each group as a chord. Also emits the top-of-chord and bottom-of-chord derived rows. Editor shows the input row with partition colouring, chord preview piano-roll, and 7 size / advance presets.
Jins string preset (Rast, Bayati, Hijaz, Nahawand…)
list custom-cents (optional)
list cents
number span
A maqam building-block cell (jins) — a tetrachord, trichord, or pentachord given as cents above its root. Thirteen presets cover the Arabic ajnas, from neutral-interval cells (Rast, Bayati) to diatonic ones (Nahawand, Ajam, Kurd, Hijaz). Wire two of these into Maqam Assemble to build a complete mode.
Maqam Assemble list lower-jins (cents)
list upper-jins (cents)
number junction (default: 500)
number period (default: 1200)
list scale (cents) Joins two ajnas at a junction note (the ghammaz) into a complete maqam or Moroccan tab' scale. Junction 500 stacks the upper cell on the fourth (conjunct); 700 on the fifth (disjunct, as in Rast). Swap the upper jins to modulate. The cents output feeds Scale Quantize.

Studies that use these nodes

Sibelius

Tapiola — a pedal point and the forest above it

Sibelius's pedal point: a bass that never moves while the forest swirls above it, the Sixth's Dorian colour…

Sibelius

Sibelius VII — a theme that grows from its fragments

Sibelius's thematic germination: one theme revealed three notes, eight, then all sixteen at a time — and…

Rimsky-Korsakov

The Golden Cockerel — octatonic and whole-tone magic

Rimsky-Korsakov's magic scales: the octatonic as a pool, a sieve mirrored onto itself, and a cycle of triads…

Rimsky-Korsakov

Russian Easter — one chant, five backgrounds

Changing-background variations: one obikhod chant, unchanged, under a drone, two chorales, a pandiatonic…

Rimsky-Korsakov

Flight of the Bumblebee — a chromatic engine

Flight of the Bumblebee as a machine: a falling chromatic wave interleaved with its upper neighbour…

Stravinsky

Petrushka — two keys at once, ostinati out of phase

Petrushka: the C/F♯ polychord split into two clarinets from one node, ostinati of 7, 5 and 3 notes out of…

Stravinsky

Requiem Canticles — a rotational array

Requiem Canticles: a hexachord rotated and transposed into six rows, read across for melody and down for the…

Zappa

The Black Page — statistical density

The Black Page: nested tuplets bar by bar, five against seven, a density envelope thickening the tuplets…

Zappa

Inca Roads — the Lydian vamp, 19/16, and the angular line

Inca Roads: a two-chord Lydian vamp from typed chord symbols with its scale derived, a whole tune in 19/16…

Wire these nodes into a piece of your own.

Create a free account14 days of Composer Pro, no card needed. Every account opens with the Examples folder.