Mathematik, echt jetzt? Die Verbindung zwischen Musik und Mathematik ist ja den meisten bekannt. Schon in der Antike erkannte man den Zusammenhang von Zahlenverhältnissen und Harmonien. Aber das hier soll kein Ausflug in die Geschichte der Musik bzw. Mathematik werden.

Viel interessanter ist, dass man erst recht spät den Zusammenhang zwischen Rhythmen und der Mathematik wissenschaftlich untersucht hat. Es dauerte bis ins Jahr 2004, dass der Informatiker Godfried T. Toussaint sich mit dem Beziehungen zwischen der Mathematik und Rhythmen auseinandersetzte.

Euklid macht die feinsten Beats… (Quelle: thefamouspeople.com)

Er hat herausgefunden, dass sich viele bekannte Rhythmen aus dem Rock’n’Roll, der afrikanischen und der südamerikanischen Musik, mithilfe des Euklidischen Algorithmus berechnen lassen. Dieser Algorithmus aus der Zahlentheorie löst eigentlich die Frage nach dem größten gemeinsamen Teiler zweier Zahlen. Und damit soll man „gute“ Rhythmen erzeugen können? Aber bevor wir unseren Taschenrechner aus der hintersten Ecke der Schublade hervorkramen, sollten wir ganz kurz klären, wann ein Rhythmus überhaupt „gut“ ist?

Was sind „gute“ Rhythmen?

Neurowissenschaftler der Universität Oxford haben vor ein paar Jahren eine Studie durchgeführt, die untersuchen sollte, wann ein Rhythmus zum Tanzen einlädt. In dieser Studie wurden 60 Probanden aus aller Welt verschiedene Funk-Schlagzeug Rhythmen vor die im Grad ihrer Synkopierung variierten.

Clyde Stubblefield – Der James Brown Drummer ware der legendäre Funky Drummer … (Quelle: nytimes.com)

Das Ergebnis zeigte, dass die Zuhörer zwar Rhythmen schätzten, die einen gewissen Grad an Komplexität mitbrachten. Sobald diese allerdings Überhand nahm, wollten die Beine nicht mehr tanzen. Laut Aussage der Teilnehmer dieser Studie, durften die Drummer ihre Schläge zwar ein wenig gegen den Grundrhythmus des Taktes verschieben – aber bitte nicht zu sehr.

Auch Toussaint schreibt in seinen Arbeiten zum Thema Rhythmus, dass ein ewig gleichbleibender Rhythmus – wie etwa tick-tick-tick-tick-… den Zuhörer schnell Ermüden und ein solcher Rhythmus gleich viel interessanter, wenn der Abstand zweier benachbarter Schläge nicht immer gleich wäre. Also kann man unter’m Strich festhalten, dass ein Rhythmus der zu eintönig und ein Rhythmus der zu komplex ist, weniger zum Tanzen motiviert.

Es ist nicht möglich wissenschaftlich zu beschreiben, wann ein Rhythmus gut oder schlecht ist, aber es gibt gewisse Kriterien, die dazu beitragen, dass ein Rhythmus „gut“ wird. Toussaint hat einige wissenschaftliche Ausarbeitungen dazu veröffentlicht und ein Kriterium will ich hier beschreiben: Einen Algorithmus, der die Schläge in einem bestimmten Zeitintervall so gleichmäßig wie möglich verteilt.

Ein Algorithmus zum Erzeugen von tanzbaren Rhythmen?

Wenn man an ein Zeitintervall von 16 möglichen Schlägen denkt und in diesem beispielsweise 4 Schläge verteilen will, die möglichst gleichmäßig verteilt sind … brauche ich keinen Algorithmus, um das zu berechnen. Außerdem hätten wir dann wieder einen langweiligen und gleichbleibenden Rhythmus. Damit er „gut“ wird,  sollte er also etwas komplexer sein. Interessant wird es daher wenn man zum Beispiel Primzahlen für das Zeitintervall und auch für die Anzahl der Schläge wählt …

Der Euklidische Algorithmus

Vor etwas 2300 Jahren hat der Mathematiker Euklid von Alexandria in seinem wichtigsten Werk „Elemente“ ein Konzept zur Findung des größten gemeinsamen Teilers zweier Zahlen beschrieben. Dieses Konzept ist als Euklidischer Algorithmus in die Geschichte der Mathematik eingegangen. Er ist auch das schnellste Verfahren zur Bestimmung des größten gemeinsamen Teilers.

Der Algorithmus funktioniert wie folgt. Gegeben seien zwei Zahlen, z.B. 16 und 5. Folgende Schritte werden durchgeführt, bis kein Rest mehr übrig bleibt:

(1)    16 – 5 = 11
(2)    11 – 5 = 6
(3)     6 – 5 = 1
(4)     5 – 1 = 4
(5)     4 – 1 = 3
(6)     3 – 1 = 2
(7)     2 – 1 = 1
(8)     1 – 1 = 0 (fertig)

Also ist der größte gemeinsame Teiler 1. Noch ein Beispiel (49, 14):

(1)    49 – 14 = 35
(2)    35 – 14 = 21
(3)    21 – 14 = 7
(4)    14 – 7  = 7
(5)     7 – 7  = 0 (fertig)

Hier ist 7 der größte gemeinsame Teiler. Letztes Beispiel (8, 3):

(1)    8 – 3 = 5
(2)    5 – 3 = 2
(3)    3 – 2 = 1
(4)    2 – 1  = 1
(5)    1 – 1  = 0 (fertig)

Somit ist 1 der größte gemeinsame Teiler. Ich denke, damit sollte die Funktionsweise des Algorithmus klar sein.  Es gibt bereits eine modernere Version des Algorithmus, der auch schneller ist, aber dieser Weg hilft unsere Rhythmen.

Die Frage ist nun: Wie wird aus diesem Algorithmus ein Rhythmus?

Wie programmiere ich jetzt meinen Drum-Sequenzer? (Quelle: wikipedia.de)

Wie bereits eingangs erwähnt, funktioniert der Euklidische Algorithmus für Rhythmen besonders gut, wenn man Primzahlen benutzt. Daher will ich noch ein weiteres Beispiel nennen: 13 und 5

(1)    13 – 5 = 8
(2)     8 – 5 = 3
(3)     5 – 3 = 2
(4)     3 – 2 = 1
(5)     2 – 1 = 1
(6)     1 – 1 = 0

Ok, man hätte auch vorher wissen können, dass der größte gemeinsame Teiler zweier Primzahlen nur 1 sein kann 😉  Aber die Zahlen hinter den Gleichheitszeichen helfen uns unseren Rhythmus zu konstruieren. Der „Weg“ des Algorithmus‘ ist hier also das Ziel…

Vorher will ich aber noch kurz eine Notation für die Darstellung der Rhythmen einführen. Wenn ich unser letztes Zahlenbeispiel benutze, haben wir ein Zeitintervall von 13 und in diesem Intervall 5 Schläge des Schlagzeugers.

13 – 5 = 8  ->
[ 1 1 1 1 1 0 0 0 0 0 0 0 0 ]

8 – 5 = 3   -> d.h. ich setze 5 Nullen hinter die Einsen und lasse 3 Nullen hinten stehen
[ 1 0  1 0  1 0  1 0  1 0  0 0 0 ]

5 – 3 = 2 -> Ich nehme jetzt 3 Nullen und setze sie hinter meine 1 0 Sequenzen
[ 1 0 0  1 0 0  1 0 0  1 0  1 0 ]

3 – 2 = 1 -> Jetzt nehme ich wieder 2 von meinen hinteren 1 0 Sequenzen und setze sie hinter die 1 0 0 Sequenzen
[ 1 0 0 1 0  1 0 0 1 0  1 00 ]

Fertig! Die letzte Sequenz würde keinen Sinn machen nochmal irgendwohin zu verschieben, da ein Rhythmus zyklisch ist. Das ist nun mein Rhythmus:

[ 1 0 0 1 0 1 0 0 1 0 1 0 0 ]

Und so würde er in einer DAW aussehen und klingen.

Der 13 – 5 Beat…

Noch ein Beispiel: 16 und 5

(1) [ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 ]
(2) [ 1 0  1 0  1 0  1 0  1 0  0 0 0 0 0 0 ]
(3) [ 1 0 0  1 0 0  1 0 0  1 0 0  1 0 0  0 ]

Hier mal mit einem HiHat in allen 16 Beats der Sequenz:

Bekannte Beispiele…

Falls jemand allgemein Interesse am Experimentieren mit verschiedenen Rhythmen hat, dem empfehle ich mal einen Blick auf XronoMorph zu werfen. Ein freies Tool, dass mit Samples, einem eingebauten Synth oder sogar VST-Instrumenten zusammenspielt und wirklich inspirierend ist…

Des Weiteren gibt es noch eine nette wissenschaftliche Arbeit zum Thema „XronoMorph: Algorithmic Generation of Perfectly Balanced and Well-Formed Rhythms„. Viel Spaß beim Experimentieren…