Januar 2018 und Oktober 2019
Das Boom ist zu lang, darum knackt das Tschack.
Was ist passiert? Im Januar 2018 habe ich mit dem Gastkind (Es kam, sah und verschwand im Internet) eine Boom-Tschack-Maschine gebaut, ein kleines Kästchen mit einem Arduino und einem kleinen Verstärkerbaustein, das nach dem Einschalten nichts anderes macht, als über einen 3,5mm-Klinkenanschluss einen geraden Beat mit einem Bass- und einem Snaredrum-Sound sowie durchlaufender Hihat zu erzeugen, das Ganze mit 100 BPM. Das Kästchen war nicht schlecht, und wir haben es in unserer kleinen Band auch immer mal verwendet. Aber eine Temporegelung wäre schon nicht verkehrt. Also machte ich mich erst mal ran, den Code zu ändern, so dass die bereits zuvor in das Kästchen integrierten Druckknöpfe nun auch mit Funktionen belegt werden können. Nach viel Trial&Error klappt es irgendwann.
Aber wenn ich jetzt die Geschwindigkeit steigere, fängt das Signal irgendwann an zu knacken. Wiederum mit viel Probieren finde ich heraus, dass das Bassdrum-Signal zu lang ist. Es ist ein gesampelter Roland TR808-Sound, wenn ich das richtig verstanden habe, der nicht “Knock” macht, sondern mehr so BoOOOOooooommmm. Daraus muss eher BOomm werden.
Die Sounds sind als eine Art Wavetable im Arduino-Programm abgelegt, also Amplitudenwerte, die die Signalstärke zu festen Zeitpunkten darstellen. Im Grunde ist das einfach eine Zahlenkolonne. Die einzelnen Zahlen stehen dabei für den Signalausschlag. Werden diese Werte in einem festen zeitlichen Abstand an den Verstärker gegeben, entsteht daraus am Ende ein Ton. Hier ein Ausschnitt aus so einer Datei:
Weil ich mich nicht besser mit Arduinos auskenne, und das Gastkind diesen Teil programmiert hat, nehme ich einfach mal an, dass der Arduino so, wie ich das hier brauche, nicht mal eben wav- oder mp3-Dateien abspielen kann. Leider ist auch der Versuch, eine ganz andere Sounddatei in solch eine Zahlenkolonne zu verwandeln, wie sie der Arduino verarbeiten kann, in die Hose gegangen. Man hörte zwar etwas, das klang aber ganz anders als der gewünschte Sound. Diesen Weg habe ich dann nicht weiter verfolgt.
Von den drei Tönen, die ich für den Rhythmus brauche, ist der Bassdrum-Sound eindeutig bei weitem am längsten. Also sage ich dem Programm erst mal, dass statt der rund 12 kB nur 3 kB abgespielt werden sollen. Das Knacken ist damit weg, aber man hört, dass der Sound abrupt abbricht. Man kann es schlecht beschreiben, es ist vielleicht auch eine Art Knacken, aber dumpfer.
In dem Diagramm unten sieht man in Blau erst mal das bereits gekürzte Ursprungssignal. Das überhaupt in Excel zu bekommen, war gar nicht so einfach. Ich habe es erst mit einer Google-Tabelle und mit LibreOffice versucht. Die Wavetable-Datei konnte ich nur als Komma-separierte Datei abspeichern, womit zwar jede Zahl brav in eine Zelle kommt, aber als eine einzige Zeile, nicht als Spalte. Das waren für Google Tabellen und LibreOffice schlicht zu viele Zellen nebeneinander. Mit einem frisch installierten Excel ging es dann. Danach musste ich die Zeile markieren, kopieren und im Menüpunkt “Inhalte einfügen” die Option “transponieren” wählen. Schwupps, waren die Werte in einer Spalte, womit ich nun deutlich mehr anfangen konnte.
Wenn ich das Signal nun nach hinten hin so ändern würde, dass sich die Amplitude abschwächt, müsste es klappen. Wiederum mit Excel und ein bisschen x-1/x und diversen Faktoren sieht das Diagramm dann so wie der orangefarbene Verlauf aus. Die Frequenz bleibt gleich, aber die Amplitude schwächt sich ab. Diese Werte muss ich nun wieder mit Kommas separieren und zurück in meine Arduino-Tabelle kopieren. Alles wieder auf den Arduino laden und probieren. Bumm Tss Tschack Tss Bumm Tss Tschack Tss. Wunderbar, die nächste Bandprobe kann kommen!