Arduino MIDI-Board

Wer mich kennt, der weiß, dass ich Gitarre spiele und dass ich in einem Internetforum (www.axefx.de) sehr aktiv bin. Dort entstand vor ca. 1 Jahr die Idee einen eigenen MIDI-Footcontoller zu bauen. Die Basis sollte ein Arduino-Board sein.

Ich habe hier bereits einen kleinen Prototypen gebaut und einen einfachen Code geschrieben. Leider kam er bei mir zum wirklichen Einsatz, da ich diverse Probleme hatte, dass das Gerät stabil läuft. Das lag vor allem daran, dass ich es recht instabil gebaut habe. Es gab diverse fehlende Kontakte und so habe ich recht schnell den Spaß an dem Projekt verloren.

Nun ist ein Jahr vorbei und ich habe das Projekt wieder aufgenommen. Diverse Teile wurden besorgt und warten nun darauf zusammengeschraubt zu werden.

MIDI Board Parts

 

FEATURES

1. Layer

Ziel des Projektes soll sein einen eigenen MIDI-Footcontroller zu bauen. Hierbei will ich auf die gängie Bank-Bedienung der erhältlichen MIDI-Footcontroller verzichten. In meiner Vergangenheit habe ich bisher immer nur 1-2 Bänke pro Band/Projekt benötigt, da ich nicht viele Presets spiele. Aus diesem Grund soll der MIDI-Footcontroller eher mit Layern arbeiten. Ich habe aktuell max. fünf Layer vorgesehen, die aktiviert werden können. Jeder Layer stellt eine komplett eigene Konfiguration der einzelnen Schalter da. Damit wären z.B. folgende Layer möglich:

  1. Presets
  2. Presets + Stompboxes
  3. Stompboxes 1
  4. Stompboxes 2
  5. Looper-Mode

Welche Funktionen den Schaltern innerhalb eines Layer zugeordnet wird, soll aber total flexibel sein. Hier können Program Changes und Controller Changes durchaus frei gemischt werden.

 

2. Switch-Groups

Schalter-Gruppen…. Ich möchte mehrere Schalter zu einer Gruppe vereinen. Das gängigste Beispiel dafür sind die Presets. Wenn ich Presets schalte, möchte ich auf der MIDI-Leiste sehen, welches Preset ich angewählt habe. Beispiel: Alle meine 10 Preset-Schalter haben eine LED. Je nach gewähltem Preset leuchtet dann auch nur die entsprechende LED. Dieses Konzept möchte ich aber auch auf Controller Change (CC)-Messages ausweiten. So kann ich dann z.B. eine Gruppen von mehreren Reverb-Typen (auch aus verschiedenen Geräten) definieren. Ich kann dann jeweils einen Reverb wählen. Die anderen werden automatisch beim anwählen deaktiviert. Oder mit dem Axe-FX kann ich einen 4-Kanal-Amp simulieren (2 Amp-Blöcke mit jeweils X/Y-Status schaltbar).

 

3. Multi-Config

Über den SD-Karten-Reader können per SD-Karte verschiedene Setups geladen werden. Damit kann ich mein MIDI-Board dann je nach Projekt per Knopfdruck umprogrammieren. Nebeneffekt dabei ist, dass ich auf die Konfiguration am Gerät verzichten kann. Die Konfiguration der einzelnen Buttons erfolgt per Software (Win, Linux, MAC) und wird auf die SD-Karte geschrieben. Eingesteckt am Gerät kann dann eine bestimmte Konfiguration geladen werden.

 

4. LCD-Display

Es wird ein LCD-Display geben. Aktuell geplant ist hier die Ausgabe des Preset-Namens. Entweder kann der Preset-Name in der Konfiguration festgelegt werden, oder aus einem Axe-FX automatisch ausgelesen werden. Zumindest ist das der Plan! 😉 Genauso könnte es für den Axe-FX Tuner genutzt werden… Mal schauen…

 

5. Axe-FX SYSEX-Messages

Der Footcontroller soll das Axe-FX auslesen können und neben dem Preset-Namen auch den Status der Stompboxes anzeigen können. Evtl. kommt dazu noch der Tuner und natürlich das Tap-Tempo. Hier wird der größte Aufwand in der Programmierung stecken, glaube ich.

 

6. Beliebige MIDI-Messages

Pro Schalter und pro Layer wird eine beliebige MIDI-Message gesendet. Die kann eine Kombination aus PCs und CCs sein. Das Ganze dann auch in einer recht beliebigen Länge, damit man auch komplexere Schaltungen vornehmen kann. Das klappte bisher schon gut in der ersten Version des Projekts.

 

7. Standards

Neben den Schaltern (aktuell max. 22) soll es auch möglich sein Expression-Pedale anzuschließen. Hierfür sehe ich für meinen 3 Expression-Pedale vor.

 

Die einzelnen Komponente sind getestet und funktionieren. Damit ist in der Theorie der Controller funktionsfähig. 😉 Der nächste Schritte wird nun sein das Gehäuse zu bearbeiten und alle Löcher zu bohren. Danach geht es an das Zusammenbauen. Erst dann kann ich mit der eigentlichen Programmierung beginnen.

 

Einkaufsliste

Zusätzlich habe ich eine kleine Platine ätzen lassen, die mir die Arduino Pins auf ein Wannenstecker leitet, damit ich per Falchbandkabel die einzelnen Komponenten verbinden kann. Meine anfänglichen Versuche scheiterten daran, dass entweder fix der Kontakt verloren ging oder ein Kurzschluss entstanden ist, wenn unsauber gelötet wurde. 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *