Library: NoteName

von | Feb 28, 2023 | Reaktor, ReaktorLibrary

Wie man aus der rein numerischen Information der MIDI-Tonhöhe Notennamen generiert. Das bisher wohl kürzeste und verblüffend einfachste Tutorial …

[01]

Um was wird es gehen?

Tonhöhen- (oder NotePitch)-Informationen liegen in der Regel numerisch vor und umfassen die Werte on 0 bis 127. Wir erinnern uns: im MIDI-Datenformat sind Werte auf 0-127 begrenzt, weil alle größeren Werte (128-255) für Befehle reserviert sind. Ziel dieses Tutorials ist es, aus diesen 127 numerischen Werten lesbare Notennamen wie zb. C#3 zu erzeugen. Und das ist, wie eingangs bereits erwähnt verblüffend einfach, weil das Konstrukt der Notennamen aus sich wiederholenden Komponenten besteht. Wir bedienen uns dazu der mathematischen Funktion „Modulo“ (mod), die den Rest einer Division erzeugt. Reaktor stellt uns dazu ein recht komfortables Werkzeug zur Verfügung.

An dieser Stelle sollte man noch erwähnen, dass in der MIDI-Nomenklatur die NotePitche 0 einem C-2 und die NotePitch 127 einem G8 entspricht. Wir starten also bei einem C und haben einen Umfang von 10 Oktaven + 5 weiteren Halbtönen zur Verfügung. 

Abb. 1: Modulo-Schaltung für Notennamen

Und so wird es gemacht:

Das „Modulo“-Modul (Built-in Module > Math > Modulo) liefert netterweise zwei Ergebnisse. Der Div-Ausgang enthält das Divisionsergebnis ohne Rest, der Mod-Ausgang den Rest der Division. Dividiert werden die beiden Eingänge in der Form A/B. Alles was wir tun müssen, ist, die eingehende NotePitch durch 12 zu dividieren – und das schlicht deshalb, weil eine Oktave aus 12 Halbtönen besteht.

Schauen wir uns zuerst einmal den Div-Ausgang an:

  • Für NotePitch-Werte zwischen 0 und 11, wird dieser den Wert 0 liefern, was für die erste und somit tiefste Oktave steht.
  • für NotePitch-Werte zwischen 12 und 23 wird am Div-Ausgang eine 1 anliegen, was für die nächst höhere Oktave steht.
  • Ein NotePitch-Wert zwischen 24 und 35 erzeugt am Div-Ausgang eine 2 – das ist die nächste folgende Oktave
  • und so weiter.

damit hätten wir schon mal die Oktave lokalisiert, in der wir uns befinden.

Nun werfen wir einen Blick auf den Mod-Ausgang:

  • Wann immer der NotePitch-Wert restlos durch 12 teilbar ist, liegt hier eine 0 an, was für ein C steht.
  • Zwischen jedem weiteren NotePitch-Wert, bis hin zur nächsten restlosen Teilbarkeit, steigt der Restwert um jeweils 1 an, so dass wir 11 eindeutige Werte für die Notennamen innerhalb der Oktave erhalten.

Hier ein Beispiel

NotePitch
60
61
62
63
64
65
66
67
68
79
70
71
72
Modulo
12
12
12
12
12
12
12
12
12
12
12
12
12
Div-Ausgang
5
5
5
5
5
5
5
5
5
5
5
5
6
Mod-Ausgang
0
1
2
3
4
5
6
7
8
9
10
11
0
NoteName
C3
C#3
D3
D#3
E3
F3
F#3
G3
G#3
A3
A#3
B3
C4

Auswertung:

Um die Notennamen als solche sichtbar zu machen, brauchen wir jetzt nur noch zwei Textlisten (MultiText-Module). Eine mit den Oktave-Nummern (-2 – 8) und eine mit den Notennamen. Ich habe mich in diesem Beispiel für Halbtöne mit einem #-Vorzeichen entschieden, weil sich das besser darstellen lässt, als das b-Vorzeichen. Wer über genug Platz für die Anzeige verfügt kann es auch ganz genau nehmen und zb. F#/Gb angeben. Alles ist möglich 🙂

Und so sehen die beiden Mulititexte aus: 

Octave
-2
-1
0
1
2
3
4
5
6
7
8
Note
C
C#
D
D#
E
F
F#
G
G#
A
A#
B

[02]

Downloads

g

NoteName

.ens-Datei, (Zip-File, 6KB)

Kontakt

Bernd Scheurer
Mainstraße 2
64390 Erzhausen
Fon: 06150 865902
Mobil: 0151 50411034
unterricht@bernd-scheurer.de

Freie Plätze

  • Erzhausen
  • Langen
    • Zur Zeit keine Plätze eingeplant.

Infos

Auch interessant

Newsticker

amazona

tastenwelt

klassik heute

jazz thing

  • Be happy
    Source: jazz thing Published on 2011-07-19 By Lili Lameng
  • Der Jazzmusiker ein Feinschmecker?
    Source: jazz thing Published on 2011-06-06 By Anke Helfrich
  • Glamourfaktor
    Source: jazz thing Published on 2011-04-21 By André Nendza
  • Style
    Source: jazz thing Published on 2011-04-09 By Lorenz Hargassner
  • Topsannah
    Source: jazz thing Published on 2011-03-14 By Lili Lameng

musikexpress