Return to search

Generativa melodier för modulära syntar : En vidareutveckling av den klassiska steg

Detta arbete tar avstamp i Brian Enos uttryck generative music, detta har blivit förknippat med modulära syntar. Hos modulära syntar är möjligheterna stora att ställa in parametrar och sedan låta synten göra sitt, vilket kan skapa intressanta ljudlandskap. Det som dock sällan uppstår är melodier. Arbetet går ut på att lägga till ytterligare en dimension i en sådan kreativ process. Målet med arbetet är att skapa en steg-sequencer inom formatet Eurorack. Denna sequencer ska kunna spela, och slumpmässigt ändra melodier, utifrån valda parametrar. Den önskas dessutom kunna uttrycka musik utifrån musikteoretiska koncept. En prototyp skapas med mikrokontrollern RP2040 från Raspberry Pi Foundation, kretskort designas och tillverkas med KiCad och beställs från mönsterkortstillverkare JLCPCB. Mjukvaran utvecklas i programmeringsspråket C, och skrivs så generellt som möjligt för att det skapade operativsystemet ska kunna expanderas. Prototypen klarar av att programmeras på samma sätt som man skriver noter på notblad. Den innehåller två separata sekvenser med 16 takter vardera, dessa är oberoende av varandra och kan vara olika längd. Det går att ställa in skala och tonart, dessa påverkar båda sekvenser. Det går att ställa in sannolikhet för slumpmässiga ändringar i tonart, skala, melodi på två sekvenser, och harmonisering mellan sekvenserna. Förutom sannolikhet finns flera andra parametrar för de slumpmässiga ändringarna. På prototypens panel sitter en bildskärm och 18 tryckknappar där 13 av dem är utformade likt tangenterna på ett piano. Förutom att programmera sekvenser går det även att spela de kopplade syntarna med pianotangenterna. Följande MoSCoW modellen uppfyller prototypen alla ska och bör mål. Endast två av önskade målen är ej uppfyllda. Funktionaliteten upplevs över författarens förväntan. / This work kicks off with Brian Enos expression generative music. Generative music has risen to prominence lately within the modular synth community. With modular synthesizers there are basically infinite possibilities of setting up some modules and let the synth play forever creating soundscapes without human influence. What seldom is produces in this process is melodies. This work sets to add a new dimension to this kind of creative process. A step-sequencer is produced, intended to play random musical harmonies, within the boundaries that are set. Another aspiration is to create a sequencer which more closely follows the principles of basic music theory. A prototype is created with the microcontroller RP2040 from Raspberry Pi foundation. The circuit board is designed and created in KiCad and ordered from PCB manufacturer JLCPCB. Software is written in the C programming language, data structures are written as generic as possible, so that the operating system easily can be expanded. The result is a sequencer in which you add notes much like you would write sheet music. It contains two separate sequences which can play at the same time, both with 16 bars. There is a changeable key and scale which both affect the sequences. It has the possibility to set a probability for random changes to occur. The key, the scale, the melodies, and harmonization can be randomized. There are several other parameters that affect the randomization. The front panel of the sequencer contains a display and several buttons, some of which is positioned as a piano, which you can use to play any synth it is connected to. Following the MoSCoW model, the prototype fulfills all the must and should goals, only two of the could goals is not implemented. The usability and functionality are beyond the authors expectations.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-319880
Date January 2022
CreatorsWilson, Jim
PublisherKTH, Skolan för elektroteknik och datavetenskap (EECS)
Source SetsDiVA Archive at Upsalla University
LanguageSwedish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationTRITA-EECS-EX ; 2022:306

Page generated in 0.0023 seconds