Show simple item record

dc.contributor.advisorHendseth, Sverre
dc.contributor.authorHoff, Erlend Kilvik
dc.date.accessioned2021-10-05T17:38:00Z
dc.date.available2021-10-05T17:38:00Z
dc.date.issued2021
dc.identifierno.ntnu:inspera:76427839:20996928
dc.identifier.urihttps://hdl.handle.net/11250/2787894
dc.description.abstractI dette prosjektet ble et nytt system for å generere musikk med fokus på struktur designet og implementert i det funksjonelle språket Haskell. Systemet representerer og genererer musikk med delt struktur på tvers av flerer hierarkiske nivå og musikalske dimensioner. Dette gjøres ved hjelp av en prefix-trestruktur som ble designet i dette prosjektet basert på tidligere arbeider av Yan Han. En generalisert prosess for generering med slike prefix-trestrukturerer ble presentert. Denne består av å først generere en rekke prefixtrær som hver adressererer sin musikalske dimensjon, altså hvert sitt aspekt av musikken som kan anses individuelt, slik som rytme, harmoni og melodi. Disse genereres etter en meta-modell kalt "generative plan", for å sikre sammenheng og variasjon. For å demonstrere denne generelle generative metodens egnethet ble et snevrere generativt eksempel designet. Her ble den generelle metoden brukt til å generere akkordprogresjoner med strukturert variasjon i rytme og spillemønster. Den genererte musikk hadde en ny struktur hver gang, med tydelige repetisjoner på alle hierarkiske nivå. Denne strukturelle friheten mangler fra my av dagen musikk-genereringssystemer, der man i stedet gjerne velger form/struktur a priori, og lar algoritmens jobb heller være å fylle denne strukturen. Gjennom hele arbeidet har det vært et tydelig fokus på abstraksjon og generalitet. Det kan dermed tenkes at den generelle generative metoden også kan overføres til andre domener, som viser en lignende hierarkisk inndeling. Dette kan være generering av figurer, eller generering av tekst.
dc.description.abstractIn this project, a novel system for generating music with a focus on a structure is designed and implemented in Haskell. The system expresses and generates music with shared material across multiple hierarchical levels and musical dimensions with generative prefix trees, a structure designed in this project, based on previous work by Yan Han [1]. A generalized generation process is proposed. It consists of generating and applying a series of prefix trees, which each address a given musical aspect, like rhythm, harmony, or melody. The prefix trees are generated according to a meta-model structure called generative plan, in order to ensure cohesion and variety in the output music. A generative example is designed to demonstrate the systems ability to generate structured music. Here, structure is randomized by randomising the generation of the prefix trees. Chord progressions, rhythms and "playing patterns" are chosen from a small pool of hand-written candidates. Each generating piece exhibits a unique structure, with clear repetition on all hierarchical levels. This structural freedom is something that lacks in most music generations systems today, where a certain form is usually chosen a priori [2]. Many avenues for future work in improving the system ability to generate music are outlined. Since the generative system is so abstract, its general principle could also be applied to hierarchical structures in other areas, such as figures or text.
dc.languageeng
dc.publisherNTNU
dc.titleFunctionally Generating Music Structures with Prefix Trees
dc.typeMaster thesis


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record