Notes You Can’t Delete
depth
findings/Classical
Structure

Scrambling tonal function

Permute the twelve scale degrees, train, then un-permute the output. Function transplants onto new intervals.

un-scrambles to 0.80

Here is a stranger question. Tonal function is a set of roles — tonic, dominant, leading tone. What if you keep the roles but move them onto different intervals? Scramble which pitch plays which role, train a model on the scramble, and ask whether function is portable at all.

Scramble, train, un-scramble

Remap every note through a fixed permutation of the twelve scale degrees, relative to each piece’s key. Train a model on the scrambled corpus. Then run the permutation backwards on its output.

Scrambled degrees, then undone

0:00 / 0:00

The raw output sounds wrong. Undo the permutation and it sounds like tonal music again — as tonal as the control. Function transplants onto new intervals; it just learns slower.

Key-profile correlation of generations: control 0.787, permuted raw 0.647, permuted then un-permuted 0.801. Validation loss 1.76 control vs 1.90 permuted.

The model learned tonal function on a completely different set of intervals. Reverse the map and coherent tonality falls back out.

The verdict

Function is substrate-independent — the roles are what the model learns, not the specific semitones that usually carry them. The cost is speed: the scrambled model reaches slightly higher loss, learning a coherent grammar on unfamiliar intervals more slowly. Standard intervals are easier, but not necessary.

Researcher notes

  • The map. PI = [0, 8, 7, 9, 10, 11, 6, 2, 1, 3, 4, 5], an involution with tonic and tritone fixed, chosen to be non-affine so no transposition or inversion undoes it for free — the model has to actually learn the new grammar.
  • Measure. Krumhansl-Kessler key-profile correlation on generated pitch-class histograms, and held-out validation loss, both on matched control/permuted pairs.