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
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.