WAV to MIDI Converter
Abb. 1: AnyConv Online WAV-to-MIDI-Converter
Als WAV-to-MIDI-Converter haben wir AnyConv ausgewählt. Es ist ein
Online-Umwandler, mit dem man jederzeit ein WAV Musikdatei in MIDI
umwandeln kann.
DAW
MusikSoftware
Abb. 2: PreSonus Studio One
Ein DAW ist benötigt, um die
MusikDatei zu bearbeiten, damit die MIDI-Informationen extrahiert
werden können. Die DAW PreSonus Studio One erlaubt uns, die
MIDI-Datei zu importieren. Auf der Abb. 2 kann man sehen, dass es
gelbe und blaue Tracks gibt, welche jeweils MIDI und WAV
Musikdateien beinhalten. WAV braucht man, um die Musikaudio
abzuspielen. Auf dieser DAW kann man die MIDI-Dateien wie z.B.
Tonhöhe und Lautstärke bearbeiten.
Virtueller MIDI-Anschluss
Abb. 3: loopMIDI Anschluss
Einen virtuellen MIDI-Anschluss
wie loopMIDI brauchen wir, um die MIDI-Dateien von DAW zu
Python-Programm zu übertragen.
Python Programm am Laptop und C Programm
im Mikrokontroller
Im Python Programm
benutzen wir die Bibliothek mido, um die
MIDI-Dateien von DAW zu importieren, wenn die Musik abgespielt ist.
In dieser Bibliothek dürfen wir drei Größen extrahieren:
1. type - der Anfang und das Ende einer MusikNote
(ON/OFF) 2. note - die Tonhöhe einer MusikNote 3. velocity -
die Lautstärke einer MusikNote
Diese Größen brauchen wir,
damit die Swimming Pixel unterschiedliche Lichteffekte darstellen
können:
Oktavband |
note (Tonhöhe) |
Farbe (RGB) |
Swimming Pixel |
C0 - B0 |
24 - 35 |
(255, 0, 0) |
1 und 13 |
C1 - B1 |
36 - 47 |
(255, 125, 0) |
2 und 12 |
C2 - B2 |
48 - 59 |
(255, 255 ,0) |
3 und 11 |
C3 - B3 |
60 - 71 |
(0,
255, 0) |
4 und 10 |
C4 - B4 |
72 - 83 |
(0, 125, 255) |
5 und 9 |
C5 - B5 |
84 - 95 |
(125, 0 ,255) |
6 und 8 |
C6 - B6 |
96 - 107 |
(255, 0, 255) |
7 |
Die Musikgröße velocity (Lautstärke) wird verwendet, um die
Helligkeit der Swimming Pixel anzusteuern. Jede Tonhöhe hat ihre
eigene Lautstärke (1 bis 127) und der durchschnittliche Wert der
Lautstärken von einem Oktavband (z.B. C3 - B3) wird in die
Helligkeit der Pixel (0 bis 255) umgewandelt.
|