MIDI Magic

MIDI Magic

Dieses Projekt ist entweder ein super Spielzeug für Kleine und Große, oder ein nützliches Werkzeug für Musiker. Aufbauend auf den Trellis Modulen von Adafruit, die ein Silikontastenfeld mit LEDs für jede Taste verbinden, haben wir einen 8 Step MIDI Sequencer gebaut. Entweder kann man mit dem Musik Maker Shield und einem Lautsprecher direkt Musik erzeugen, oder ein MIDI Signal ausgeben um externe Instrumente zu steuern. 4 Trellis Module werden in einer 8×8 Matrix mit 4 Potis zur Steuerung in einem kompakten Gehäuse aus dem Lasercutter untergebracht. Dadurch ergibt sich ein solides Gerät, das auch Kinder nicht so schnell kaput kriegen sollten.

Du kannst das ganze auch selber nachbauen.

Benötigte Teile

Aufbau

  1. Trellis Module und Potentiometer an Gehäuseoberseite schrauben
  2. Trellis Module verbinden
  3. Arduino und Music Maker Shield an Gehäuseunterseite schrauben
  4. Arduino und Musik Maker Shield verbinden
  5. Lautsprecher an Gehäuseunterseite schrauben
  6. Lautsprecher und Musik Maker Shield verbinden
  7. Arduino mit den 4 Potentiometern verbinden
  8. Arduino und Trellis verbinden
  9. Gehäuse Ober- und Unterseite zusammenschrauben
  10. Software auf Arduino spielen
  11. Wenn deine Startanimation nicht wie folgt aussieht, dann musst du die Werte im Array chessboard entsprechend anpassen.Animation: Die LEDs gehen der Reihe nach von oben links, zweite in oberster reihe, dritte in oberster reihe, ..., bis unten rechts an.Um die richtige Belegung rauszufinden kannst du die entsprechenden Zeilen in der setup und der checkButtons Funktion einkommentieren und dann die Tasten auf deiner Matrix drücken während du die Serial Konsole im Arduino IDE beobachtest. Die Anordnung in chessboard muss grafisch mit deiner Anordnung auf deiner Matrix übereinstimmen, also eine Zeile auf der Matrix = eine Zeile im Array.

Steuerung

Das Gerät wird über die 4 Potentiometer auf folgende Weise gesteuert:

Kanal

Es können Patterns für 4 Kanäle programmiert und gleichzeitig abgespielt werden. Der Kanal wird mit dem ersten Potentiometer von 1 – 4 gewählt:

Kanal 1 – Drums: Wird nicht durch Änderungen an der Tonhöhe beeinflusst
Kanal 2 – Bass
Kanal 3 – Pad: Ton wird nicht beim nächsten Schritt gestoppt sondern gehalten bis entweder ein anderer Ton gespielt wird oder alle Töne gelöscht sind.
Kanal 4 – Lead

Geschwindigkeit

Mit dem zweiten Potentiometer kann die Abspielgeschwindigkeit über ein Delay gesteuert werden. Von 512 ms Delay bis zu kein Delay.

Tonhöhe

Tonhöhe kann mit dem dritten Potentiometer gewählt werden. 5 Oktaven von C2 (MIDI Noten 36 – 48) bis C6 (MIDI Note 108 – 120) können gewechselt werden

Instrumente

Mit dem vierten Potentiometer kann zwischen acht verschieden Sätzen von Instrumenten gewählt werden:

Index Name Drums Bass Pad Lead
0 Glockenspiel Bank 2: Percussion 38: Slap Bass 2 42: Viola 10: Glockenspiel
1 Drums Bank 2: Percussion 118: Melodic Tom 114: Agogo 116: Woodblock
2 Rock Bank 2: Percussion 38: Slap Bass 2 19: Rock Organ 29: Electric Guitar (muted)
3 Choir 116: Woodblock 54: Voice Oohs 53: Choir Aahs 86: Voice Lead
4 Church 15: Tubular Bells 53: Choir Aahs 20: Church Organ 20: Church Organ
5 Glitchy 120: Reverse Cymbal 121: Guitar Fret Noise 77: Blown Bottle 114: Agogo
6 Electronic 119: Synth Drum 87: Fifths Lead 83: Calliope Lead 7: Harpsichord
7 Electronic 119: Synth Drum 87: Fifths Lead 83: Calliope Lead 7: Harpsichord

Personalisieren

Folgende Einstellungen kannst du ganz einfach im Arduino Sketch verändern.

Lautstärke

Die Lautstärke kannst du von 1 bis 10 in der Konstante VOLUME verändern:
#define VOLUME 8
Außerdem kannst du in den Konstanten darunter ( VOLUME_FACTOR_XXX ) das Verhältnis der verschiedenen Kanäle mit einem Faktor von 0 (stumm) bis 12 gewichten.

Instrumente

In den Arrays lead, pad, bass und drums kannst du eigene Instrumente wählen. Die verfügbaren Instrumente findest du auf Seite 32 von diesem PDF des Chipherstellers.

Kopfhörer

Leider kann das Music Maker Shield nicht automatisch erkennen ob Kopfhörer angesteckt sind. Der Ton wird immer über den Kopfhöreranschluss ausgegeben. Wenn du die Lautsprecher dafür abschalten möchtest, setzte die Konstante HEADPHONES_ONLY auf true.