Moin,
ich hol' das hier mal aus der Versenkung, damit von dem Thema nicht nur Geschwätz überbleibt
. Nachdem ich das Projekt vor gut eineinhalb Jahren wegen Verdachts auf umfassende Ahnungslosigkeit und der Gefahr mich zu übernehmen erst mal eingestampft hatte, habe ich diese Baustelle Ende letzten Jahres wieder aufgenommen. Die Grundidee ist dieselbe geblieben, mit ein paar Änderungen im Detail.
Ich habe viel gelesen und rumrecherchiert und mich letztlich gegen die Arduino-Lösung entschieden. Stattdessen habe ich die µC-Schaltung selbst aufgebaut (in der Tat nur Hühnerfutter, wie Sven immer sagt) und mich auch gegen die Arduino-Softwareumgebung entschieden. Ich programmiere den/die µC jetzt also in Standard-avr-C mithilfe der avr-gcc-Toolchain und Eclipse mit AVR-Plugin unter Linux. Bisher läuft's ganz gut, und vorletzte Woche habe ich einen kleinen Meilenstein erreicht, auf den ich auch ein klein wenig stolz bin, weil ich im Herbst letzten Jahres von dem ganzen Kram noch überhaupt keine Ahnung von dem Kram hatte und bisher alles ganz gut funktioniert.
Ich habe mich dazu entschieden, als erstes die (aus meiner Sicht) anspruchsvollere Baustelle in Angriff zu nehmen, nämlich die des passenden Midi-Fußschalters. In meinem Pflichtenheft für die Anlage sehe ich wesentlich mehr Verantwortlichkeit beim Controller als beim Looper/Switcher selbst und daher ein weit größeres Lernpotential. Die Hard- und Software für den Looper/Switcher sollte, wenn der Controller fertig ist, quasi als "Nebenprodukt" mit abfallen.
Der Controller ist jetzt fertig, zumindest was die Hardware und die Schnittstellen zwischen Hard- und Software angeht. Der Controller ist in einem Hammond 1441-32 Stahlblechgehäuse untergebracht. Das Gehäuse ist 432 mm breit, 305 mm tief und 51 mm hoch und beherbergt 20 Taster mit LED sowie ein großes 2x16 Zeichen LC-Display.
Der Microcontroller ist ein ATMEGA 328P und kann in der Schaltung per USB programmiert werden, Das Display, die Taster und die LEDs werden über insgesamt sechs I²C-Portexpander angesteuert. Weil es sich ja um eine Art Prototypen handelt, habe ich, wo es geht, auf feste Verbindungen verzichtet und alle Peripherie steck- oder schraubbar gemacht.
Die obere Platine beherbergt die Schaltung zur Ansteuerung des LCDs. Auf der mittleren Platine ist das 5V-Netzteil, der µC, das externe EEPROM und die USB- und MIDI-Schnittstellen (wobei ich bisher nur MIDI-Out aus dem Gehäuse führe, USB und MIDI-In nicht). Die untere Platine ist die I/O-Platine mit fünf Portexpandern und insgesamt 40 I/Os. Das geht auf PCB sicher alles platzsparender, andererseits ist hier ja Platz genug. Die Platinen sind Streifenrasterplatinen. Ich habe diese gegenüber Lochraster bevorzugt, weil sie für komplexere Sachen einfach übersichtlicher sind, da man bequem längere und vor allem mehrere Busleitungen über die Platine führen kann, der Preis dafür ist dann halt, dass man mehr Platz braucht.
Die Schnittstellen zwischen Software und Hardware (in erster Linie ist das ja der I²C-Bus) sind fertig, die MIDI-Out-Kommunikation ebenfalls, ich muss jetzt "nur" noch das Benutzerinterface schreiben, inklusive Presetverwaltung etc.
Für das Pflichtenheft des Controllers habe ich mich an den gängigen Top-Produkten, die auf dem Markt erhältlich sind, orientiert. In erster Linie waren das das Ground Control Pro von VoodooLab und die RS-T Controller von Custom Audio Electronics. Diese Controller vereinigen die Möglichkeiten eines klassischen Pedalboards mit den Komfortfunktionen eines programmierbaren Systems.
Der Controller wird in zwei Modi betrieben werden können. Im Preset Modus können pro Bank 16 Presets angewählt werden. Wieviele Bänke der Controller haben wird muss ich noch mal nachrechnen, ich habe den Speicherbedarf bisher nur ganz grob überflogen. Ich habe allerdings ein 64kB-EEPROM vorgesehen, da sollte einiges gehen. Pro Preset sollen bis zu acht Program Change Befehle gesendet werden können, außerdem wahrscheinlich auch der Status der 16 Taster (als CC). Welche Latenzen das erzeugt, muss ich noch mal nachrechnen und ggf. einfach ausprobieren. Ältere Looper wie das GCX von VoodooLab kommen ja komplett ohne Presets aus und hören ausschließlich auf CCs, also kann es so schlimm nicht sein.
Über den Taster "DIRECT" wird der Controller in den Stompbox-Modus geschaltet ("Direct Access"), in diesem Fall senden die Taster ausschließlich CC-Befehle, um per Midi einzelne Loops am Looper oder Effektblöcke am Multieffekt oder ähnliches zu schalten. Das ist der Modus, den ich persönlich am meisten benötige, da ich nur ab und zu Presets brauche, aber ganz oft spontan mal Effekte ein- oder ausschalte und so weiter. Über die Taster Up und Down kann innerhalb des Direktmodus' auf ein anderes "Basispreset" umgeschaltet werden. Beim CAE-Controller ist das ein getrennter Speicherbereich mit von den übrigen Presets unabhängigen Patches, ob ich das auch so mache oder einfach die "normalen" Presets damit "durchsteppe" habe ich noch nicht entschieden.
Was sonst an Komfortfunktionen untergebracht wird hängt wohl nur von meiner Kreativität und meiner Laune, die Funktion zu programmieren ab. Das steht mir jetzt bevor. Wann die Software fertig wird, vermag ich nicht zu sagen. Da ich immer nur kleine Zeitabschnitte dafür habe, werden es aber eher Monate als Wochen sein. Vielleicht im Sommer oder so. Parallel werde ich irgendwann anfangen den passenden Looper zu bauen.
Wenn die Software fertig ist, werde ich den Quelltext vermutlich auch veröffentlichen. Nicht weil er besonders gut ist (was er vermutlich nicht sein wird), sondern weil alles Know How dafür eh aus dem Zwischennetz kommt. Wenn alle alles für sich behielten, wäre ich gar nicht erst so weit gekommen.
Anbei noch zwei Bilder.
Gruß, Nils