USB-Midi-Controller Workshop @ 31C3

Grundsätzliches

Um meine Erfahrungen mit Midi-Controllern weiterzugeben habe ich am 31C3 einen kleinen Workshop zum Bau von Midicontrollern veranstaltet:

http://events.ccc.de/congress/2014/wiki/Session:USB-Midi-Controller-Workshop_Session

Hierbei sollten vorallem Anfänger motiviert werden. Daher wurden verschiedene Vereinfachungen an der Hard- und Software vorgesehen:

  • Benutzung eines Arduino-Entwicklerboards

Es wurden fertige Arduino-Nano-Clones verwendet, welche gleichzeitig billig sind, mittels USB an den Rechner angeschlossen und direkt von dort programmiert werden können.

  • SerialMIDIElements-Library

Um den Einstieg in die Thematik der Midi-Controller im Bezug auf die Programmierung zu vereinfachen, habe ich die MIDIElements-Library von http://tomashg.com/ erweitert und an unseren Controller angepasst. Mithilfe der neuen SerialMIDIElements-Library werden dann die MIDI-Daten mittels USB-Schnittstelle zum PC gesandt und dort mittels eines „Serial-to-Midi“-Konverters zu Traktor weitergeleitet.

Vollständiger Code für einen Midicontroller mit einem Button, analogem Drehregler (Poti) und einem digitalem Drehregler (Encoder):

#include <SerialMIDIElements.h> 
 
boolean debug = false; // print to serial instead of midi 
boolean secondary = false; // disabled secondary midi messages 
int midiChannel = 1; // midi channel number 
 
// setup a button on Arduino-pin 2 on for ControlChange 1 
Button but1(2, midiChannel,1,secondary,debug); 
// setup a Encoder on Arduino-pin 3 and 4 for ControlChange 11 
MIDIEncoder enc1(3,4, midiChannel,11,secondary, debug); 
// setup a Potentiometer on Arduino-pin analog0 on for ControlChange 21 
Potentiometer pot1(A0, midiChannel,21,secondary,debug); 
 
void setup(){ 
 Serial.begin(115200); 
} 
 
void loop(){ 
 // add here all the input component reads 
 but1.read(); 
 enc1.read(); 
 pot1.read(); 
}
  • Pappkarton als Baumaterial

Benutzung von Pappkarton und Heisskleber als bewährtes und günstiges Baumaterial.

Software

Hardware

Ein Kit bestand aus:

  • 1xArduino Nano Clone
  • 1xUSB Mini Cable
  • 3xEncoders (20ppr with switch +Knobs)
  • 2xAlps Pots (+Knobs)
  • 2xFaders
  • 8xButtons

Präsentation mit Anleitung

https://github.com/julled/SerialMIDIElements/blob/master/presentation_usb_midi.pdf

Impressionen

„Referenzdesign“ – DJ-Midi-Controller

IMG_20141220_125813

Design der TeilnehmerIMG_20141227_163118

IMG_20141230_163107

IMG_20141230_163032

IMG_20141230_170343

 

IMG_20141230_190207IMG_20141230_172132Thank you Mitch ! 🙂

IMG_20141230_184415

 

 

 

 

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s