Wie werden alle 7-stufigen Skalen erzeugt?

Es gibt 12 Töne. Dies lässt sich durch eine 12-stellige Binärzahl ausdrücken, wobei 1 bedeutet, dass der Ton vorhanden ist und 0 bedeutet, dass der Ton nicht vorhanden ist. Die chromatische Tonleiter wird folgendermaßen dargestellt:

Stelle 123456 789101112
Binär 111111 111111
Stufen 1b22b334 b55b66b77
#2#3 #4#5#6
1 bb3bb4b4bb5 bb6bb7
x2 x3x4x5
Töne CDbDEbEF GbGAbABbH
D#E# F#G#A#
EbbFbbFbGbb AbbBbb
Dx ExFxGx

Darstellung der Dur-Tonleiter

Binär 101011 010101
Stufen 1234 567
Töne CDEF GAH

Die PHP-Funktion, mit der Dezimalzahlen in Binärzahlen dargestellt werden können lautet decbin(int dezimalzahl). Die kleinste Dezimalzahl, die in Binärdarstellung 12 Zeichen hat ist 2048 und die größte 4095.

Zum Erzeugen der Tonleitern läuft ein Skript, das eine Schleife enthält, die alle Binärzahlen von 2048 bis 4095 erzeugt. Jede Binärzahl wird auf die Merkmale für eine heptatonische Skala untersucht:

  1. Genau 7 Töne
  2. Es müssen sich alle Stufen bilden lassen, mit maximal Doppelkreuz oder doppeltem b.

Das Ergebnis sieht dann in Auszügen so aus:

DezimalBinär
2048100000000000Nur ein Ton
2049100000000001Nur 2 Töne
2050100000000010Nur 2 Töne
...
2111100000111111Keine 2. Stufe möglich
...
2231100010110111C E Gb G A Bb H
C Dx Ex Fx Gx A# H
2232100010111000Nur 5 Töne
2233100010111001Nur 6 Töne
2234100010111010Nur 6 Töne
2235100010111011C E->Dx Gb G Ab Bb H
C Dx Ex Fx G# A# H
2236100010111100Nur 6 Töne
2237100010111101C E Gb G Ab A H
C Dx Ex Fx G# A H
2238100010111110C E Gb G Ab A Bb
C Dx Ex Fx G# A Bb
22391000101111118 Töne
...
2771101011010011C D E F G Bb H
C D E F G A# H
2772101011010100Nur 6 Töne
2773101011010101C D E F G A H
2774101011010110C D E F G A Bb
...
3497110110101001C Db Eb Fb Gb Ab H
3498110110101010C Db Eb Fb Gb Ab Bb
...
409511111111111112 Töne