So erstellen Sie Weihnachtsmusik mit einem Raspberry Pi
Obwohl das Schenken gut für die Seele sein kann, ist es nicht das einzige magische Gefühl, das Sie in dieser Weihnachtszeit bekommen können. Das programmatische Erstellen von Musik ist eine großartige Möglichkeit, sich selbst kreativ herauszufordern und zu beweisen, dass Sie etwas tun können, wozu Sie sich zu Beginn des Jahres vielleicht noch nicht fähig gefühlt haben.
Lassen Sie uns in dieses weihnachtliche Programmierprojekt eintauchen, mit dem Sie nicht nur auf unterhaltsame Weise Musik erstellen, sondern auch die Elfen des Weihnachtsmanns neidisch machen werden.
Einstieg
Bevor Sie in Ihren Code eintauchen können, vergewissern Sie sich, dass Sie die folgenden Elemente bereit haben:
- Raspberry Pi OS, das auf Ihrem Raspberry Pi installiert ist (kann jedes Modell sein). Wenn Sie sich nicht sicher sind, wie das geht, machen wir Ihnen den Installationsprozess einfach.
- Sonic Pi, ein Tool, mit dem Sie mithilfe von Code Musik erstellen können. Sie können Sonic Pi für den Raspberry Pi von der offiziellen Sonic-Website herunterladen. Es gibt eine 32-Bit- und eine 64-Bit-ARM-DEB-Datei, die Sie herunterladen können. Welche Datei Sie auswählen, hängt davon ab, ob Sie 32-Bit- oder 64-Bit-Raspberry-Pi-Betriebssystem installiert haben.
Der Weihnachtsklassiker 12 Days of Christmas ist eine großartige Möglichkeit, um zu verstehen, wie einfach die Sonic Pi-Musikanwendung wirklich sein kann. Mit einfachen Codeelementen kann fast jeder seine eigene Musik erstellen, ohne ein Instrument zu berühren.
Holen Sie sich zuerst den fertigen Code aus dem Raspberry Pi GitHub – Repository. Sie können entweder die day-of-christmas-finished.txt herunterladen oder stattdessen den Text aus dem GitHub-Codefenster kopieren.
Als nächstes installieren wir Sonic Pi. Öffnen Sie Ihren Download-Ordner oder wo immer Sie die DEB-Datei gespeichert haben. Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie Software Installer . Von dort aus sollten Sie aufgefordert werden, Sonic Pi zu installieren.
Wie man ein Lied kodiert
Wenn Sie die Sonic Pi-Anwendung öffnen, sehen Sie einen leeren Bildschirm mit einem #Welcome to Sonic Pi- Kommentar. An dieser Stelle können Sie entweder die Textdatei 12 Days of Christmas öffnen oder die Codebits direkt von der Raspberry Pi GitHub-Seite einfügen.
Einige grundlegende Musikkenntnisse werden sich als nützlich erweisen. Aber wenn Sie mit Musiktheorie nicht allzu vertraut sind, ist das auch in Ordnung.
Denkt man an das Lied 12 Days of Christmas, hört man viele Liedstücke, die man wiederholen kann. Zum Beispiel: „Am ersten Weihnachtstag schickte mir meine wahre Liebe.“ Diese Einleitung wiederholt sich mit denselben Noten. Wir machen uns hier keine Sorgen um Songtexte. Uns geht es nur um die Melodie.
Es gibt ein paar andere Liedabschnitte, die sich wiederholen. In dem Vers werden Sie feststellen, dass die Melodie für „Zwei Turteltauben“ und „Drei französische Hühner“ dieselbe ist. Dieselbe Idee gilt für den Abschnitt „(Und) ein Rebhuhn in einem Birnenbaum“.
Sie müssen die Liedabschnitte definieren, einschließlich der Noten, die in Ihrer Melodie gespielt werden sollen, und wie schnell jede Note gespielt werden soll.
notes = [:c5,: d5,: bb4,: a4,: f4,: g4,: f4]
durations = [1, 0.5, 0.5, 0.5, 0.5, 1, 1]
play_pattern_timed notes, durations
In der Musik gibt es 8 Oktaven. Sonic sucht nach einem Notenbuchstaben und einer Oktavnummer. Dadurch wird Sonic die zu spielende Note und der Ton mitgeteilt. In Bezug auf die Dauer bestimmt dies, wie lange der Ton gespielt (oder geklingelt) wird. Die Funktionen in der dritten Zeile des Codes teilen Sonic mit, was mit den Noten und Dauern zu tun ist.
Sie fügen eine BPM-Funktion hinzu, die als Beats pro Minute bekannt ist. Wie oft schnippst du in einer Minute mit dem Finger? Das ist dasselbe wie BPM. Bei dieser Melodie werden Sie deshalb feststellen, dass BPM auf 120 eingestellt ist.
Von dort aus können alle Definitionen in die jeweiligen Abschnitte eingefügt werden. Um sich durch dieses Weihnachtslied zu bewegen, sollten Sie die 12 Tage durchlaufen.
Sagen Sie Sonic, dass er am ersten Weihnachtstag mit days = 1 beginnen soll . Um diese Funktion auszuführen, verwenden Sie einfach die 12.mal do- Schleife.
Einige Liedabschnitte werden ein wenig anders sein, also sollten Sie dies mit einer if-Anweisung berücksichtigen.
Das ist das A und O beim programmatischen Erstellen von Musik. Wenn Sie ein detailliertes Tutorial wünschen, hat die Raspberry Pi Foundation eine wunderbare Referenz zusammengestellt, die Ihnen hilft, auch dieses Weihnachtslied zu codieren .
Warum bauen Sie mit einem guten Fundament nicht ein paar Musikinstrumente mit Ihrem Raspberry Pi? Dürfen wir vorschlagen, eure Band „The Four Cores“ zu nennen?
Viel Spaß beim Hören Ihres Meisterwerks
Während Sie Ihre kreativen Grenzen erkunden, gibt es so viele Beispiele von Schöpfern, die mit Sonic Pi Musik machen. Recherchiere im Internet, um mehr musikalische Inspiration zu finden, und genieße es, mit den Noten, Timings und Songabschnitten zu spielen. Vielleicht werden Sie schon bald als nächster Raspberry-Pi-DJ engagiert?
Alles Gute, Maestro! Mögen Ihre Tastatur und Ihr kreativer Geist eins werden, wenn Sie sich daran machen, Ihr nächstes One-Hit-Wunder zu programmieren!
Schreibe einen Kommentar