Hoewel het geven van geschenken goed kan zijn voor de ziel, is het niet het enige magische gevoel dat je deze feestdagen kunt krijgen. Programmatisch muziek maken is een geweldige manier om jezelf creatief uit te dagen en te bewijzen dat je iets kunt doen waartoe je aan het begin van het jaar misschien niet in staat was.
Laten we een duik nemen in dit kerstprogrammeerproject waarmee je niet alleen op een leuke manier muziek kunt maken, maar waar ook de elven van de kerstman jaloers op worden.
Aan de slag
Voordat je in je code kunt duiken, moet je bevestigen dat je de volgende items bij de hand hebt:
- Raspberry Pi OS geïnstalleerd op uw Raspberry Pi (kan elk model zijn). Als u niet zeker weet hoe u dit moet doen, kunnen wij maken het installatieproces gemakkelijk voor u.
- Sonic Pi, een tool waarmee je muziek kunt maken met behulp van code. Jij kan SonicPi downloaden, voor de Raspberry Pi, op de officiële Sonic-website. Er is een 32-bits en 64-bits ARM DEB-bestand dat u kunt downloaden. Welk bestand u kiest, hangt af van of u 32-bits of 64-bits Raspberry Pi OS hebt geïnstalleerd.
De kerstklassieker, de 12 Days of Christmas, is een geweldige manier om te begrijpen hoe eenvoudig de Sonic Pi-muziektoepassing echt kan zijn. Met eenvoudige code-elementen kan bijna iedereen zijn eigen muziek maken zonder een instrument aan te raken.
Pak eerst de voltooide code uit het Raspberry Pi GitHub opslagplaats. U kunt ofwel de dagen-van-kerstmis-voltooid.txt of kopieer in plaats daarvan de tekst uit het GitHub-codevenster.
Laten we vervolgens Sonic Pi installeren. Open uw downloadmap of waar u het DEB-bestand ook hebt opgeslagen. Klik met de rechtermuisknop op het bestand en kies Software-installatieprogramma. Vanaf daar zou u moeten worden gevraagd om Sonic Pi te installeren.
Hoe een Carol te coderen
Wanneer u de Sonic Pi-toepassing opent, ziet u een leeg scherm met een #Welkom bij Sonic Pi opmerking. Op dit punt kunt u het 12 Days of Christmas-tekstbestand openen of de codebits rechtstreeks van de Raspberry Pi GitHub-pagina plakken.
Enige basiskennis muziek komt goed van pas. Maar als je niet zo bekend bent met muziektheorie, is dat ook goed.
Als je aan het 12 Days of Christmas-lied denkt, hoor je veel songstukken die kunnen worden herhaald. Bijvoorbeeld: "Op eerste kerstdag heeft mijn ware liefde mij gestuurd." Deze inleiding wordt herhaald met dezelfde noten. We maken ons hier geen zorgen over songteksten. Het gaat ons alleen om de melodie.
Er zijn een paar andere songsecties die worden herhaald. In het couplet zul je merken dat het deuntje hetzelfde is voor 'Twee tortelduiven' en 'Drie Franse hennen'. Hetzelfde idee geldt voor de sectie "(En) een patrijs in een perenboom."
U moet de songsecties definiëren, inclusief welke noten u in uw melodie wilt spelen en hoe snel elke noot moet worden gespeeld.
noten = [:c5, :d5, :bb4, :a4, :f4, :g4, :f4]
duur = [1, 0,5, 0,5, 0,5, 0,5, 1, 1]
play_pattern_timed noten, duur
In muziek zijn er 8 octaven. Sonic zoekt naar een nootletter en een octaafnummer. Dit vertelt Sonic welke noot en toon hij moet spelen. Met betrekking tot de duur bepaalt dit hoe lang de toon zal spelen (of overgaan). De functies op de derde rij van de code vertellen Sonic wat hij moet doen met de noten en tijdsduren.
U voegt een bpm-functie toe die bekend staat als beats per minute. Hoe vaak knip jij met je vinger in een minuut? Dat is hetzelfde als wat bpm is. Daarom zul je merken dat bij deze melodie de bpm is ingesteld op 120.
Van daaruit kunnen alle definities in elke respectieve sectie worden geplaatst. Om door dit kerstliedje te bladeren, wil je de 12 dagen doorlopen.
Vertel Sonic om op de eerste kerstdag te beginnen met het gebruik van dagen = 1. Om deze functie uit te voeren, gebruikt u gewoon de 12. keer doen lus.
Sommige songsecties zullen een beetje anders zijn, dus daar wil je rekening mee houden met een if-statement.
Dat is de essentie van programmatisch muziek maken. Als je een gedetailleerde tutorial wilt, heeft de Raspberry Pi Foundation een prachtige referentie samengesteld om je te helpen codeer dit lied te.
Met een goede basis achter de hand, waarom niet bouw wat muziekinstrumenten met je Raspberry Pi? Mogen we voorstellen om je band "The Four Cores" te noemen?
Geniet van het luisteren naar je meesterwerk
Terwijl je je creatieve beperkingen verkent, zijn er zoveel voorbeelden van makers die muziek maken met Sonic Pi. Zoek op internet goed naar meer muzikale inspiratie en geniet van het spelen met de noten, timings en liedjes secties. Misschien word jij binnenkort aangenomen als de volgende Raspberry Pi DJ?
Het allerbeste, Maestro! Moge je toetsenbord en creatieve geest één worden terwijl je op pad gaat om je volgende one-hit wonder te programmeren!