Hanging Tree – Musik mit dem Arduino

Ferien: Endlich hat man mal wieder Zeit für sich und seine vielen Arduinoprojekte. Ein Glück gingen mir die Ideen bis heute nicht aus, auch wenn sie anderen total nutzlos erscheinen, was sie vielleicht auch sind. Mein heutiges Projekt: Das Lied Hanging Tree aus der Filmmusik von Die Tribute von Panem – Mockingjay (Teil 1) für den Arduino. Klingt am Ende wie ein Gameboy-Remake des Liedes, Spaß gemacht hat es trotzdem, und es war auch kompliziert genug, um darüber ein Tutorial zu schreiben

Ein Hinweis jedoch vorweg: Das Lied entstammt natürlich nicht meiner Fantasie. Die Rechte dafür liegen immer noch bei James Newton Howard und Republic (Universal Music).

Was benötigt man?

  • Ein Piezolautsprecher
  • Ein Arduinoboard
  • Zwei Kabel
  • Viel Geduld, wenn ihr nicht Copy&Paste benutzen wollt, dazu Noten

Wie wird der Versuch aufgebaut?

Hier ein Fritzing-Sketch:

Fritzing SketchWo spielt die Musik?

Die Softwaregrundlagen könnt ihr auf dieser Seite nachlesen. Im Grunde wird auf dem Pin, an dem der Piezolautsprecher angeschlossen ist, eine elektronische Welle mit einer bestimmten Frequenz angelegt, die die Membran des Lautsprechers zum Schwingen bringt. Musikalische Noten kann man in diese Frequenzen in Hz umrechnen, sodass wir Musik mit dem Arduino machen können. Diese Frequenzen benötigen wir beim Programmieren, glücklicherweise hat uns das Arduino-Team die Umrechnung abgenommen. Auf der oben verlinkten Seite könnt ihr den Inhalt einer pitches.h-Datei erlesen, die wir wie eine Library installieren und in unser Sketch importieren. Ich habe diese nochmal hierher kopiert und ihr könnt Sie am Ende dieses Beitrages downloaden:

Danach kommt die eigentliche Programmierung. Ich selbst habe lediglich den Sketch, der ebenfalls auf arduino.cc zu finden ist, ein wenig angepasst:

Beim Erstellen des Sketches hatte ich die meiste Arbeit. Da anscheinend niemand vor mir vorhatte, dieses Lied auf einem Arduino zu spielen, musste ich selbst meine Notenkenntnisse aus dem Musikunterricht anwenden, mir Noten im Netz suchen und die 89 Noten inkl. deren Werten korrekt niederschreiben. Ich hoffe es ist mir gelungen. Die von mir benutzten Noten stammen von hier.

Anmerkung zu punktierten Noten

In den Noten fallen einige punktierte Viertelnoten auf, die ich im Sketch mit 2.66 als Wert deklariert habe. Der mathematische Grund: Die im Sketch genannten Tonwerte sind das Reziproke der musikalischen Tonwerte. Eine Halbe Note (1/2) entspricht im Sketch 2, usw. Eine punktierte Viertelnote hat musikalisch den Wert (1/4 + 1/8) = 3/8. Im Sketch deshalb normalerweise 8/3 bzw. 2,66. Ich habe habe den halben Wert 1,33 benutzt, da er IMHO besser klingt.

Sketch, Pitches und Example zum Download

Ich habe mal aufgenommen, was mein Arduino fabriziert hat. Ihr könnt euch das Ergebnis anhören, indem ihr die .mp3-Datei herunterladet. Außerdem findet ihr den Sketch und die pitches.h. Letztere installiert ihr, indem ihr einen pitches Ordner in den Libraries erstellt und diese dann hineinkopiert. So könnt ihr sie projektübergreifend nutzen.

Schreibe einen Kommentar

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