Erfahrungsbericht - Arduino E-Drum Experimente

  • Nach einer Neuanschaffung war plötzlich mein altes Basix Drumset "übrig".
    Nach den vielen DIY-Beiträgen hier im Forum, keimte in mir der Wunsch es als E-Drum umzubauen.
    Im Folgenden beschreibe ich einige Erfahrungen und Aufbauten - vielleicht kann ja jemand davon profitieren...



    Zu Beginn hatte ich auch die Idee, vielleicht auf einen "echten" Drumcomputer verzichten zu können.
    Mir schwebte ein Aufbau mit einem Arduino plus Laptop zur Tonerzeugung vor.
    http://de.wikipedia.org/wiki/Arduino-Plattform
    Die Arduinos werden ja laut Datenblatt mit 6-16 Analogeingängen angeboten. Außerdem wird die gleiche CPU
    ja schon lange erfolgreich im Megadrum Projekt eingesetzt.
    http://www.megadrum.info/


    Ich wollte dabei die Piezos einfacherweise direkt an die Kanäle anschließen, analog zu dieser Schaltung hier:
    http://www.learningaboutelectr…-knock-sensor-circuit.php
    Zunächst habe ich die Signale analysiert. Hier finden sich 3 typische Signalverläufe:


    ideal: ungünstig:


    typisch:


    Dabei entsprechen etwa 8 horizontale Pixel einer Millisekunde. Der Arduino (mit 6 Eingängen) schafft bei mir
    etwa 8000 Messungen pro Sekunde. Die Eingänge werden gemultiplext, also kann ich bei 6 Eingängen durchaus
    jeden Eingang jede Millisekunde auslesen. Das Weiterschalten der Eingänge geschieht dabei dauernd und automatisch
    über eine Interrupt-Steuerung (siehe Quellcode). Dabei habe ich recht schnell ein starkes Crossover zwischen
    den Kanälen festgestellt. Bei schnellem Weiterschalten des Multiplexers ist der interne Kondensator weiter mit dem Signalpegel
    aufgeladen, der nächste Eingang registriert also fälschlich auch ein Trigger-Signal. Ich habe diesen Effekt
    verringern können, indem ich den Widerstand, über den der Pegel abgebaut wird, verringere. Hier muss man einen
    Kompromiss zwischen Crossover-Reduzierung und Empfindlichkeit finden. Ich hatte zum Schluss gute Ergebnisse mit 230kOhm.


    Das Programm funktioniert wie folgt:
    -ständig werden die 6 Analogkanäle nach "avalue" ausgelesen und per Interrupt-Logik weitergeschalten
    -in einer quasi-parallel dazu laufenden Schleife werden diese Pegel ständig geprüft
    -liegt der Pegel über dem Schwellwert "threshold", beginnt die Messung
    -es wird für mehrere Durchläufe ("reads") gemessen und der höchste Wert in "detectval" gespeichert
    -dann wird die Midi Note für den Kanal gesendet, und für einige Millisekunden nichts weiter detektiert ("waits")
    -danach wird wieder gemessen, da aber meisst noch Restsignal anliegt wird für einige Zyklen ("decay") nur ein Anstieg detektiert
    (hier muss dann also der gemessene Wert "avalue" wieder deutlich über vorherige Messungen "oldvalue" ansteigen)
    -danach beginnt alles wieder neu


    Als Software auf dem Laptop habe ich folgendes verwendet:
    -Hydrogen Drumsequencer (0.9.4) http://www.hydrogen-music.org/hcms/
    -Hairless MIDI to Serial Bridge (0.4) http://projectgus.github.io/hairless-midiserial/
    -Ubuntu 10
    -Acer Aspire 1520 (von 2004)
    -ALSA Treiber, Puffergröße 100 (wichtige Einstellung!)




    Das finale Delay des gesamten Aufbaus muss unter 10ms liegen, ich konnte also keine Verzögerung mehr hören und messen(!).
    Zur Messung habe ich einfach gleichzeitig Stickaufschlag und wiedergegebene Wavedatei aus dem Lautsprecher mit dem
    Mobiltelefon aufgezeichnet. Anschließend kann man die Ausschläge mit Audacity o.ä. untersuchen.
    Zum Vergleich hier ein hohes Delay von ca 80ms durch ungeeignete Soundtreiber:




    hier die Messung des finalen Aufbaus (beide Töne liegen übereinander):




    Die Einstell-Werte für mein Set stehen noch im Programm. Will man sehr schnelle Wirbel detektieren muss mann "waits" verringern.
    40ms waren für meine üblich verwendeten Doppelschläge soweit ausreichend. Für schnelle Presswirbel wird das jedoch eher nichts.
    Was noch völlig fehlt ist eine Crossover-Erkennung im Programm. Dies könnte man noch ergänzen.
    Momentan habe ich die Schwellwerte "Threshold" soweit hochgesetzt, dass Crossover bei mir eher selten vorkam.


    Quellcode: svensmux3.ino


    Danach habe ich mir die Snare vorgenommen. Der Aufbau hier folgt den üblichen Empfehlungen aus dem Forum: Conrad-Piezo,
    Heizungsrohrisolierung, doppelseitiges Klebeband. Den Halter/Sockel habe ich aus Locheisenband gebaut. Als Löcher zur Befestigung
    habe ich bestehende Löcher aus Spannböcken etc. weiterverwendet. Auf dem Bild ist das Kabel noch Lautsprecherkabel, dies habe ich
    später durch preiswerte abgeschirmte Kabel mit Klinkenstecker ersetzt. Das Netzfell habe ich final auch noch mit reichlich Schaumstoff
    im inneren der Snare abgedämpft, dadurch wird ein Nachschwingen minimiert und die Erkennung wird sehr genau.








    In identischer Weise habe ich dann auch alle 3 Toms inklusive Stand-Tom aufgebaut.


    Danach der schwierigste Teil: Die große Trommel :D . Ich wollte einen Aufbau mit möglichst minimaler Schallentwicklung, Trittschall + Raumschall.
    Folgendes ist dabei herausgekommen: Im inneren habe ich quer ein Brett eingebaut, wie üblich. Befestigt wurde es durch Locheisenband
    an vorhandenen Löchern. Zusatzlich habe ich kleine Gummipuffer aus durchbohrtem Fahrradschlauch verbaut. Auf das Brett wurde dann weicher
    Schaumstoff aufgeklebt und mit Draht zusätzlich fixiert. Dann folgt etwas Luft mit dem Piezo-Aufbau. Obenauf dann harter Schaumstoff
    der die Schläge entgegennimmt. Der Piezo Aufbau besteht aus Klebeband-> Piezo->Klebeband->Schaumstoffkegel->Klebeband->Locheisen.
    Das Locheisen hat die Funktion, die Schwingungen von der Doublebass-Fußmaschine von beiden Schlägeln aufzunehmen.





    Danach wurde noch zuviel Schwingung auf das Brett und damit auf den gesamten Aufbau hin übertragen. Ich habe dann auf das Brett einen
    8Kg Kalkstein aufgeklebt und zusätzlich verschraubt (Rückseite des Brettes). Dadurch wird das Brett sehr träge und nimmt kaum noch
    Schwingungen auf. Unter den weichen schaumstoff habe ich dann noch ein Pad aus schwerem Gummi zwischengeklebt (Waschmaschinenunterlage).
    Das Ganze ist nun sehr empfindlich und recht leise ;)




    Das gesamte Set wurde dann noch auf ein Podest des üblichen Aufbaus gestellt: Teppich->Schaumstoffkegel aus Heizungsrohrisolierung->
    Holzbretter->5xWaschmaschienenunterlage->Teppich.





    Da ich ab und an mit Boxen (ohne Kopfhörer) spiele, habe ich diesen auch noch Aufsteller mit Schaumstoffisolierung an den Füßen spendiert.




    Der ein oder andere wird es bereits entdeckt haben, in dieser letzten Bauphase hat sich dank eines Ebay Glücksgriffes ein TD6
    in das Gesamtsetup eingeschlichen. Der Arduino plus Laptop wurde damit ersetzt :(
    Folgende Gründe waren dann doch ausschlaggebend:


    -man muss nicht "booten" und ewig auf den uralt-Laptop warten
    -Einstellungen kann man komfortabel ändern, ich musste stets im Programmquellcode ändern, und dazu jedesmal die MIDI Wiedergabe stoppen.
    -die Triggererkennung ist noch sauberer


    Als Becken habe ich dann auch einige Alesis Becken + Hihat Fußmaschine ergänzt, alles aus der Bucht.
    Ich wollte einfach endlich spielen und nicht jeden Abend bauen :)
    Ich hoffe das wird mir von den echten DIY'ern verziehen...



    8o

    2 Mal editiert, zuletzt von Senfus ()

  • Er hat BASEdrum geschrieben 8o ;)


    Ganz hervorragende Sache das! ich wünschte ich könnte mich auch mal zu sowas aufraffen, ich schaffs aber nicht einmal zum Becken putzen!


    Danke für diese schöne, ausführliche Anleitung!

    Aber ich möchte fliegen.
    Ganz weit oben, überm Meer.
    Und dann seh' ich all die Scheiße,
    all die Scheiße hier unten gar nicht mehr.

  • Wow......klasse Projekt !!!


    .....hätte gern mehr vom ARDUINO gesehen. Es müsste doch möglich sein, damit eine simple Standalone-Lösung zu basteln !!!


    Bist Du mit den Becken zufrieden ??? ....ich habe die auch und muss sagen, dass das Preis-/Leistungsverhältnis sehr gut ist.....



    Gruss
    Andreas

    Mein Gerümpel.....[url='http://www.drummerforum.de/forum/76015-blutiger-anfänger-stellt-sich-vor-ahu-und-sein-gerümpel/thread2.html#post1208696']klick !!!

  • ...für den Arduino gibt es immer wieder mehr oder weniger einfache Aufbauten, siehe:


    http://www.spikenzielabs.com/SpikenzieLabs/DrumKitKit.html
    http://arduinodrumkit.wordpress.com/
    http://www.youtube.com/watch?v=LW8UZjsuBS0


    so ganz "Standalone" hat es dann doch bisher niemand aufgebaut. Ich habe bei mir ja bereits die Schutzdioden,
    welche negative Spannungsspitzen abfangen sollen, weggelassen. Die meisten wollen mehr Eingänge und verlegen den Multiplexer nach "außen".
    Bsp.:
    https://app.box.com/s/q1gh8ujkv3kx0dvufje4


    Hauptproblem bleibt, dass man ab und an etwas konfigurieren will. Meine einzige Idee war, "spezielle" MIDI Noten zu vereinbaren,
    die man an den Arduino schickt, dieser verändert dann intern im Programm die Einstellungen. Dann muss man nicht immer wieder die MIDI/USB Bridge
    anhalten...



    Die Becken sind toll, sehr empfindlich und gut zum leise spielen geeignet.
    Leider ist das Restgeräusch (insbesondere der Hihat) immer noch recht laut, eventuell werde ich hier noch die Unterseite mit Moosgummi abdämpfen o.ä. ..
    mal sehen, bisher hat sich aber noch keiner wegen nächtlichem Lärm beschwert...

  • -UPDATE-
    Da die Becken zunächst Mono zwar super funktionierten, aber ich gern auch die Beckenkuppel und choke-Funktion nutzen will,
    habe ich zwei der Becken dann mit Stereokabeln angeschlossen. Leider hat das anfangs nicht so recht funktioniert - was teilweise an den Einstellungen des
    TD6 lag. Ich habe dann die Becken zerlegt, um zu verstehen wie sie aufgebaut sind (Leider hatte ich keine Beschreibung dazu o.ä.).




    Schaltung/wiring:




    Die Alesis DMPad Becken (bei mir 14´´und 16´´) haben zwei Ausgänge A/B. Beide haben intern einen Schalter eingebaut der bei fehlendem Stecker den Piezo kurzschließt.
    Der Sinn erschließt sich mir nicht so recht, aber das erklärt warum der jeweils ungenutzte Ausgang immer mit dem mitgelieferten Dummy-Stecker belegt sein muss.
    Je nachdem ob ich das Stereokabel in A oder B betreibe kann ich nun die Kuppel oder die choke-Funktion nutzen.
    Beides ist als Schalter ausgeführt, was offenbar kompatibel zu meinem Roland TD6 ist ...

  • Tolle Sache das!


    Ein Tipp würde ich Dir gerne nahelegen wollen: Die 1-ply "Tennisschläger" Tdrum Meshheads würde ich so schnell wie möglich gegen IMHO gute 2-ply Meshes (Etwa die designer von drum-tec) ersetzen wollen. Das ist dann ein ganz anderes Spielgefühl! Vielleicht sogar auf die angekündigten 3-ply Meshes von drum-tec warten. (Falls diese wirklich noch besser sein sollten) Bei der Bass Drum scheinst Du ja ein herkömmliches (Clear) Schlagfell zu benutzen. Das scheint mir in diesem Zusammenhang recht ungewöhnlich. Ist die Kick wirklich realistisch leise genug im Anschlaggeräusch?


    Gruß


    Trommeltotti

  • Vielen Dank für den Tip bezüglich der Felle!


    .. das Schlagfell der Bass Drum ist ausgeschnitten. Es hat also keine wirkliche Funktion mehr, außer das der Spannring nicht klappert.
    Leider kommt das auf dem obigen Foto nicht klar raus. Die Schlägel der Fuma schlagen direkt auf den etwas härteren Schaumstoff.
    Das klappt wirklich gut und ist sehr leise - zumindest solange man vorsichtig spielt, Rebound ist auch etwas vorhanden und ausreichend realistisch.



  • Hallo Senfus,


    Du führst ja da sehr aufschlussreiche Experimente durch - super, sehr interessant !


    Drei-Zonen-Becken erfordern immer einen Anschluss am Drum-Modul mittels zweier Stereokabel ! Die Kurzschlusschalter an den Klinkenbuchsen sollen den User zwingen, beide Kabel anzuschließen, weil das Becken sonst entsprechend der im Modul programmierten Algorithmen nicht funktionieren kann.


    Für deine Arduino-Versuche, könntest Du mittels ext. Schaltungen eine Lösung entwickeln, damit das 3-Z-Becken funktionieren funktioniert.


    Frage: In deinem Schaltplan ist am Piezo eine Polung angegeben, hast Du das ausgemessen ? Oder nimmst Du an, dass die rote Litze die Polung + bedeutet ?


    Weiter viel Spaß und Erfolg beim Basteln !


    Gruß - Paoso

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!