48 scales · 9 symmetric hubs · drag to rotate · scroll to zoom (dive right into the centre) · click a scale
Each of the 48 scales here is one of the four asymmetric seven-note scale types built on the twelve keys, and every line is a precise musical relationship. With the three symmetric collections as hubs, the diagram shows exactly the seven parent types at the top of the scale taxonomy, and nothing else. The shape is not decoration: the relationships genuinely close into a torus.
Around the big ring runs the circle of fifths. Around the tube runs the alteration square: with degrees 1 2 4 5 7 held fixed, Major, Melodic Minor, Harmonic Minor and Harmonic Major are exactly the four combinations of {3 or ♭3} × {6 or ♭6}. Each step around the tube alters a single note, and four steps bring you home, a closed cycle. A cycle crossed with a cycle is a torus: 4 types × 12 keys = the 48-scale surface.
Natural Minor is not a node, because Aeolian is a mode of Major rather than a scale type: flatten Harmonic Minor's 7th and you land directly on the relative Major. The "Relative minor seating" toggle re-roots every Major on its 6th degree to show that reading, with the same notes and the same number but a different nature.
Major rides the top of the tube and Melodic Minor the inner equator, so the type wired to every symmetric hub sits in the hole plane, equidistant from both wholetone poles and level with the diminished collections. No placement is neutral, since only one diagonal of the alteration square can hold the two equatorial seats, so the Stations row in the Controls cycles the alternatives, including the original 2011-rows layout.
Follow the alterations downward, flattening the 3rd, then the 6th, then the 7th, and you land directly on the Major three fifths flat-ward, in its relative-minor seating. The path closes: the scales resolve into three interlocked helical strands of twelve, each winding round the tube four times per lap of the ring. Hence Harmonic DNA. Try Helix mode in the Controls.
In integers, each strand's twelve steps use every power of two exactly once, from +1 up to +1024, repaid by a single −2047 crossing of the B↔C seam, because 1+2+…+1024 = 2047. The helix is the binary expansion of the seam.
The "Angled tonic rings" toggle shears every tonic ring by exactly that glue, so one revolution of the tube lands three fifths flat-ward and the three strands straighten into uniform coils. The angle is about 30° off vertical at mid-tube, and it is the corner-to-corner identification drawn on the original 2011 chart, where top-left meets bottom-right over twelve keys.
The three equal divisions of the octave each gather the torus by their own cycle.
A symmetric collection has no tonic, so each is named by its versions, the equivalent starting points, which are exactly the keys that generate it: Diminished (C · E♭ · F♯ · A). On the torus they wear short anchored labels (C Dim, C WT, C Aug) so the collections stay distinct at a glance.
Click any scale and its 2011 dodecagon is drawn live from the integer: the polygon of the notes, semitone edges red, the root ringed, grey axes of symmetry, and a violet mirror axis on the one chiral pair, since Harmonic Minor and Harmonic Major reflect into each other. The pen draws each figure from its root, ascending. Under any re-seating a white dot keeps the parent's tonic visible while the ring marks the displayed root. Two lenses sit under the figure:
Every panel carries an Inside section listing the hexatonics, triad pairs, pentatonics, tetrads, triads and intervals the structure contains, found by arithmetic on the words and spelt in the parent's key, so the 2nd-degree minor inside F♯ Major reads G♯ min, never A♭. Drill in and the instance is drawn over the parent's clock, with its own census, its nature where the Truth Table speaks, every scale it lives in, and its own Inside, recursing down to the interval floor. Builds lists the exact two-part partitions: two disjoint structures whose integers sum to the parent, so 581 + 2192 = 2773 is Bø7 + C maj = C Major.
The counting links (integer ± 1) and single-semitone neighbours morph: the moving note slides along the rim, each edge's redness follows its live gap, symmetry axes cross-fade, the root ring hands over, and the binary word ticks its carries and borrows bit by bit. Counting made visible as voice leading.
With the tension-spikes lens on, spikes retract into the rim before each slide and re-extend at the destination, since the fully retracted rule figure is the rim polygon. On any strand scale, ▶ play the strand runs the whole descent: twelve slides, each a distinct power of two, then the −2047 seam leap home with eleven carry bits ticking at once.
Counting rarely runs further than a single step. Of the 4096 possible words only 57 are parent scales, and just eight places on this torus have a neighbour at ±1.
Under every figure runs a census, four measurements taken straight from the integer.
A mode is the same integer re-seated. Every scale panel lists its seatings under Modes: seven for Major and Harmonic Minor, eight for Melodic Minor and Harmonic Major, where two seats carry two names each (Super Locrian or Altered, Super Phrygian or Altered ♮5). Picking one re-roots the display, keeping the same notes and the same number, with the Inside listing renumbered from the new seat. The Modes box applies a seating to a whole scale type across the torus. The symmetric collections have one alternate reading each, Super Diminished and Inverse Augmented; Wholetone has none, because every seat is the same structure.
Every structure here is a 12-bit binary word, one bit per semitone with C leftmost, and therefore a number: C Major is 101011010101 = 2773. Every semitone edge on this torus changes that number by a power of two, which is to say that binary carries and borrows are voice leading. A re-seated Major keeps its number exactly, because nature lives in the spelling rather than the notes. On the C column the descent is literal counting: C Harmonic Minor 2905 + 1 = 2906 = E♭ Major, which is C Natural Minor in its relative-minor seating. Every node carries a distinct integer. Toggle "Integer badges" in the Controls, or click any scale and count ±1 from it.
Based on Joel Purnell's Harmony Matrix research (2011), which first mapped these scales as a doubly cyclic lattice, an object that always wanted to be a torus. Realised in 3D in 2026.