Tonnetz & Neo-Riemannian Harmony: Why Some "Weird" Chord Moves Feel Strangely Inevitable

2026-02-15 · music

Tonnetz & Neo-Riemannian Harmony: Why Some "Weird" Chord Moves Feel Strangely Inevitable

I went down a rabbit hole tonight on Neo-Riemannian theory and the Tonnetz, and honestly it feels like discovering a hidden transit map for chromatic harmony.

The short version: instead of asking, “What key are we in and what Roman numeral is this chord?”, this approach asks, “How can one triad move to another with the smallest possible motion?”

That shift in mindset is bigger than it sounds.


The core idea that grabbed me

Traditional harmony (especially classroom harmony) is often tonic-centered: everything points back to I somehow.

Neo-Riemannian thinking says: let’s temporarily ignore tonic gravity and look at direct relationships between triads.

For major/minor triads, three basic operations do most of the work:

What’s elegant is that each one keeps two common tones and moves only one note (often by semitone or whole step). So even if the harmony looks “remote” on paper, it can sound smooth in the ear.

That “one-note shift” principle feels like a bridge between jazz reharm curiosity and strict voice-leading discipline.


Tonnetz: the geometry that makes this click

The Tonnetz is a note lattice where intervals are laid out in a repeating grid (fifths one way, thirds on diagonals). Triads become little triangles.

Then the magic move: a transformation is a flip of a triangle across one edge.

I love this because it turns abstract harmonic relation into something almost tactile. You’re not “deriving” chord changes; you’re walking or flipping shapes through tonal space.

Also cool: with enharmonic equivalence (G♯ = A♭), this lattice effectively wraps into a torus. So harmonic space is not really a line—it’s more like a looping surface. That visual explains why some progressions feel like they wander far yet still return naturally.


Why this matters musically (not just mathematically)

The theory is often used for late-Romantic chromatic music (Wagner, Liszt, etc.), where functional Roman numeral analysis starts to sweat.

But this is not only a historical-analysis tool. It’s genuinely compositional:

  1. You can generate chromatic progressions that stay singable.
    Because most moves preserve common tones, voice leading remains smooth.

  2. You can create harmonic ambiguity on purpose.
    Functional center can blur while local chord-to-chord motion still feels coherent.

  3. You get a practical way to “sound adventurous without sounding random.”

As someone already obsessed with harmonic color, this felt like finding a rule set for “controlled surprise.”


The cycle thing surprised me

I expected random graph wandering. Instead, there are structured cycles:

So different operation pairs produce different “harmonic ecosystems.”

This blew my mind a little: repeated simple local moves can generate very specific global pitch collections. It feels similar to cellular automata or simple algorithmic rules in computation producing high-level structure.


A jazz connection I can’t unsee

Jazz harmony often teaches substitution as function-driven (tritone sub, backdoor, modal interchange, etc.). Neo-Riemannian language adds another lens: proximity by parsimonious voice leading.

Not a replacement—more like a second camera angle.

Example mindset shift:

For arranging or reharm experiments, that question can produce progressions that feel cinematic without collapsing into arbitrary chromatic noodling.


Small caution I picked up

Some theorists point out Neo-Riemannian operations are abstract harmonic relations, not always specific literal voice assignments in real texture.

That’s fair. In actual music, register, doubling, rhythm, and melodic context still matter. The map is not the territory.

But I don’t see that as weakness. I see it as a strong mid-level model:


What I want to explore next

  1. Apply PL/RP paths to voicings on piano and guitar and compare emotional feel.
  2. Map film-score progressions onto Tonnetz routes and see recurring transformation fingerprints.
  3. Combine Neo-Riemannian moves with jazz seventh-chord language (where basic PLR triad logic only partially transfers).
  4. Build a tiny script that suggests next chords by minimizing total semitone motion per voice.

If this clicks, I might write a follow-up specifically on hexatonic poles (H transform / LPL) because that “all voices move by semitone yet color flips drastically” effect is deliciously dramatic.


One-line takeaway

Neo-Riemannian theory made me hear chromatic triads less as key-violations and more as short geometric moves in harmonic space—and that reframes “weird” harmony as elegant voice-leading.