Touch Midi Board Arduino-Odroid-C1-MPR121

Heute stelle ich euch das Touch Midi Board vor. Es besteht aus einem Arduino Uno, einem Odroid-C1 und zwei MPR121 Breakout Boards von Adafruit. Eines dieser MPR121 Boards kostet zur Zeit etwa EUR 8,50.
Auf dem Arduino läuft ein Sketch, der für die Verarbeitung der Eingangssignale und die Erzeugung der Midi-Steuersignale zuständig ist.
Erzeugt werden die Signale durch zwei MPR121, die mit insgesamt 24 Kupferleitbahnen verbunden sind.  Die MPR121 Boards werden über den I2C-Bus angesteuert. Es ist möglich, bis zu maximal vier dieser Boards gleichzeitig zu verwenden. Das entspricht dann 48 Eingängen. Berührt man ein Kupferband, wird ein Midisignal ereugt und per USB an den Odroid-C1 Einplatinenrechner weitergeleitet. Auf diesem Rechner läuft ein Ubuntu 14.04 mit selbst kompiliertem Echtzeit-Kernel (Betriebssystem). Der Rechner läßt sich wie seine großen Brüder auch über HDMI an einen Bildschirm oder Fernseher anschliessen und per Maus und Tastatur steuern. Da das Projekt aber auch draussen auf der Strasse eingesetzt werden soll, erfolgt hier die Steuerung über Smartphone oder Tablet per VNC. Der Desktop wird quasi an das Tablet weitergereicht und von dort aus wird per WLAN der der Desktop des Odroid-C1 ferngesteuert.
Die Midisoftware auf dem Odroid-C1 übernimmt die Sounderzeugung.

Zunächst wird das Midisignal vom Arduino per ttyMIDI am USB-Eingang des Odroid-C1 (hier: /dev/ttyACM0) empfangen und verarbeitet. Nachdem der jack-daemon per qjackctrl für die USB-Soundkarte konfiguriert und gestartet wurde lassen sich nun über die grafische Oberfläche alle am Odroid-C1 angeschlossenen Midi-Instrumente als auch zusätzliche virtuelle Midi-Instrumente verwalten. Für die eigentliche Klangerzeugung kommt ZynAddSubFX, ein schöner Software-Synthesizer zum Einsatz. Nachdem die Midi/Audio Ein/Ausgänge sinnvoll miteinander per qjackctrl verbunden sind, wird der Sound an die USB Soundkarte ausgegeben. Der kleine Lautsprecher kann natürlich durch den Anschluss an einen größeren Lautsprecher oder eine HiFi-Anlage ersetzt werden.

Das schöne an diesem Setup ist, dass alle Geräte komplett über einen 5 Volt Akku betrieben werden können. Dieser Aufbau ist also später (in einem entsprechend schicken Gehäuse) für den mobilen Einsatz im Freien verwendbar.

Eine Version mit 4 MPR121-Breakout Boards befindet sich hier: https://blog.georgmill.de/2015/06/25/kirchenorgel-spielen-mit-obst-und-gemuese/

Wem das zu teuer ist: Eine fast kostenlose Variante (Basic One Touch Sensor) befindet sich hier: https://blog.georgmill.de/2015/06/25/touch-midi-sensor-aus-aluminiumfolie-und-kupferdraht/

2 Gedanken zu „Touch Midi Board Arduino-Odroid-C1-MPR121

  1. Hallo,
    Performance der Touch Erkennung?

    ich bastle gerade an einem ähnlichen Thema. Aber mir ist der Touchsensor schlichtweg zu langsam. Die 64ms im default sind für schnelle Drumaktionen schon zu langsam.

    Hast Du schon Erfahrung mit der Reduzierung der Samplingrate vom MPR121 gemacht? Wenn ja, hast Du einen Tipp für sinnvolle Werte 🙂

    Latenz seitens eines Rechners kann ich ausschliessen, ich habe direkt ein Analogsystem hinter dem Controller.

Schreibe einen Kommentar

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