Algoritamska kompozicija

Algoritamska kompozicija je tehnika korišćenja algoritama za stvaranje muzike.

Algoritmi (ili, u najmanju ruku, formalni set pravila) se koriste za komponovanje muzike vekovima; procedure koriste plot-glas vodeći kontrapunkt na Zapadu, na primer, često može da se svede na algoritam odlučnosti. Termin je obično rezervisan, međutim, za korišćenje formalnih procedura za muziku bez ljudske intervencije, bilo kroz uvođenje procedura šansi ili upotrebe računara.

Neke algoritme ili podatke koje nemaju neposredni muzički značaj su koristili kompozitori[1] kao kreativnu inspiraciju za njihovu muziku. Algoritmi kao što su fraktali, L-sistemi, statistički modeli, pa čak i proizvoljni podaci (npr. popisi, GIS koordinate ili merenja magnetnog polja) se koriste kao izvor materijala.

Modeli algoritamske kompozicije

uredi

Ne postoji univerzalni način da se sortiraju različite kompozicije algoritama u kategorije. Jedan od načina da se ovo uradi je da pogledate način učestvovanja algoritma u procesu kompozicije. Rezultati procesa se mogu zatim podeliti u: 1) muzika koju je komponovao računar i 2) muzika sastavljena uz pomoć računara. Muzika se može smatrati sastavljenom od računara kada je algoritam u stanju da se izbori sam tokom procesa kreiranja.

Drugi način da se sortiraju kompozicioni algoritmi je da se ispitaju rezultati procesa kompozicija. Algoritmi mogu 1)da pružaju informacije oznakama upozorenja (partitura) za druge instrumente ili 2) da obezbede nezavisan način sintesajzera zvuka (svira kompoziciju po cvom mišljenju). Postoje i algoritmi stvaranje oba notna podatka i zvuka sinteze.

Jedan način da se kategoriše kompozicija algoritma je po svojoj strukturi i načinu obrade podataka, kao što se vidi u ovom modelu od šest delimično preklopljenih vrsta.

  • matematički modeli
  • sistemi zasnovani na znanju
  • gramatika
  • evolutivne metode
  • mašinsko učenje
  • hibridni sistemi

Matematički modeli

uredi

Matematički modeli su bazirani na matematičkim jednačinama i slučajnim događajima. Najčešći način da se stvore kompozicije kroz matematiku su stohastički procesi. Stohastički modeli komada muzike su sastavljeni kao rezultat ne-determinističkih metoda. Sastavni procesi su samo delimično pod kontrolom kompozitora ponderisane mogućnosti slučajnih događaja. Istaknuti primeri stohastičkih algoritama su lanci Markova i razne upotrebe Gausovih distribucija. Stohastički algoritmi se često koriste zajedno sa drugim algoritmima u raznim procesima donošenja odluka.

Muzika je takođe komponovana preko prirodnih pojava. Ovi haotični modeli stvaraju kompozicije iz harmonije i neharmonije fenomena prirode. Na primer, pošto 1970-ih fraktali su takođe proučavani kao model za algoritama kompozicija.

Kao primer determinističkih kompozicija putem matematičkih modela, onlajn enciklopedija sveobuhvatnih sekvenci nudi opciju da igre celog broja sekvence kao 12-toni jednak temperament muzike. (To je prvo postavljeno za pretvaranje svakog celog broj u napomeni na 88 dirki muzičke tastature i izračunavanje celog broja po modulu 88, u stalnom ritmu. Tako 123456, prirodne brojeve, jednači sa polovinom hromatske skale.)

Sistemi zasnovani na znanju

uredi

Jedan od načina stvoranja kompozicije je da se izoluje estetski kod određenog muzičkog žanra i koristi ovaj kod za kreiranje novih sličnih kompozicija. Sistemi zasnovani na znanju zasnovani su na prethodno napravljenom skupu argumenata koji se mogu koristiti za sastavljanje novih radova u istom stilu ili žanru. Ovo se obično postiže setom testova ili pravilima koji zahtevaju ispunjenje za kompoziciju da bude potpuna.

Gramatika

uredi

Muzika takođe može da biti ispitana jezikom sa prepoznatljivom gramatikom seta. Kompozicije su stvorene prvom izgradnjom muzičke gramatike, koja se zatim koristila za kreiranje razumljive muzičkih komada. Gramatike često uključuju pravila za makro nivou komponovanja, na primer harmonija i ritam, pre nego pojedinačne note.

Evolutivne metode

uredi

Evolutivne metode komponovanja muzike su na osnovu genetskih algoritama. Kompozicija se gradi sredstvima za evolutivni proces. Kroz mutaciju i prirodnu selekciju, različita rešenja evoluiraju ka odgovarajućem muzičkom delu. Iterativna akcija algoritma isključuje loša rešenja i stvara nove od onih preživelih procesa. Rezultati procesa su pod nadzorom kritičara, vitalni deo algoritma kontroliše kvalitet stvorenih kompozicija.

Evo-Devo pristup

uredi

Evolutivne metode, u kombinaciji sa razvojnim procesima, predstavljaju evo-devo pristup za proizvodnju i optimizaciju složenih struktura. Ove metode su takođe bile primenjene u muzičkoj kompoziciji, gde se dobija muzička struktura iterativnog procesa koji transformiše veoma jednostavnu kompoziciju (od nekoliko nota) u kompleksan potpuno razvijen deo (bilo da je rezultat, ili MIDI fajl ).[2][3]

Mašinsko učenje

uredi

Učenje sistemi su programi koji nisu dali postojanje znanja o žanru muzike sa kojom rade. Umesto toga, oni prikupljaju sami materijal za učenje od primera materijala dobijenih od korisnika ili programera. Materijal se zatim obrađuje u komad muzike sličan primeru materijalu. Ovaj metod algoritamske kompozicije snažno je povezan sa algoritmetičkim modelovanjem stila, mašina improvizacije i takvih studija, kao kognitivnih nauka i istraživanja neuronskih mreža. Marćini i Purvins[4] su predstavili sistem koji uči strukturu audio snimka ritma udaraljki fragmenta bez primene nadzora grupisanja i promenljivih dužina Markovljevih lanaca i sintetiše muzičke varijacije iz njega.

Hibridni sistemi

uredi

Programi zasnovani na jednom algoritmičkom modelu retko uspevaju u stvaranju estetski zadovoljavajućih rezultata. Iz tog razloga se algoritmi različitih vrsta često koriste zajedno da se kombinuju prednosti i umanjuju slabosti ovih algoritama. Stvaranje hibridnih sistema za muzičku kompoziciju je otvoreno polje algoritmičke kompozicije i stvoreno je mnoge potpuno novih načina da izgrade algoritmičke kompozicije. Jedini veliki problem sa hibridnim sistemima je da njihova kompleksnost raste i potreba sredstava za kombinovanje i testiranje tih algoritama.

Vidi još

uredi

Reference

uredi
  1. ^ Jacob, Bruce L. (1996). „Algorithmic Composition as a Model of Creativity” (PDF). Organised Sound. Cambridge University Press. 1 (3): 157—165. S2CID 15546277. doi:10.1017/S1355771896000222. hdl:1903/7435. Pristupljeno 23. 12. 2016. 
  2. ^ Ball, Philip (2012). „Algorithmic Rapture”. Nature. 188: 456. S2CID 39479249. doi:10.1038/488458a. 
  3. ^ Fernandez, JD; Vico, F. (2013). „AI Methods in Algorithmic Composition: A Comprehensive Survey.” (PDF). Journal of Artificial Intelligence Research. 48: 513—582. S2CID 8822245. doi:10.1613/jair.3908. Arhivirano iz originala (PDF) 17. 11. 2016. g. Pristupljeno 19. 01. 2016. 
  4. ^ Marchini, Marco; Purwins, Hendrik (2011). Unsupervised Analysis and Generation of Audio Percussion Sequences. Lecture Notes in Computer Science. 6684. str. 205—218. ISBN 978-3-642-23125-4. doi:10.1007/978-3-642-23126-1_14. 

Literatura

uredi

Dodatna literatura

uredi
  • Marchini, Marco; Purwins, Hendrik (2011). „Unsupervised Analysis and Generation of Audio Percussion Sequences”. Exploring Music Contents. Lecture Notes in Computer Science. 6684. str. 205—218. ISBN 978-3-642-23125-4. doi:10.1007/978-3-642-23126-1_14. 

Spoljašnje veze

uredi

Primeri algoritamske muzike

uredi

Softver

uredi
  • AC Toolbox, Algorithmic Composition Toolbox, a free software tool for algorithmic composition.
  • BreathCube A vocal algorithmic music generation engine (Windows file)
  • Buddha Orchestra Windows and Ubuntu freeware that converts outlines of objects found in images to MIDI and OSC events.
  • cgMusic Arhivirano na sajtu Wayback Machine (18. januar 2016) is a free, extensible algorithmic composition program that can create tonal music in various styles. MIDI and MP3 samples are available on the website.
  • QGen2 an algorithmic composition program written by Alexey Arkhipenko (samples in Rhaos project) - combines different approaches: grammar to build sections, stochastic to select notes, evolution to choose best variants, development to create repeats.
  • NotesTyper an algorithmic composition program by Alexey Arkhipenko - uses computer keyboard as source of information (keys pressed, keypress timings, durations, velocities) and combines multiple selectable and customizable algorithms (stochastic, iterative optimization, development, serial music, isomelody, scales and more). Converts text into music using customizable algorithms.
  • Fractal Tune Smithy an algorithmic composition program written by Robert Walker - see also Tune Smithy
  • Fractal Music Composer by Michael Frame, Ginger Booth, and Harlan Brothers (Java)
  • FractMus is a freeware algorithmic composition program written by Spanish composer and pianist Gustavo Díaz-Jerez.
  • Harmony Improvisator, a VST plugin that composes with the rules of classical harmonic theory
  • Impro-Visor: software that can generate jazz solos algorithmically using a user-specifiable stochastic context-free grammar.
  • Intermorphic Noatikl, Noatikl is an algorithmic / trans-generative creativity system for Mac and Windows with VST, AU unit plugins, and is successor to Koan.
  • Intermorphic Mixtikl, Mixtikl is a 12 track generative music lab with integrated Noatikl algorithmic engine for iPhone, iPad, iPod touch, Mac and Windows with web browser, VST and AU unit plugins.
  • Lexikon-Sonate for computer-controlled piano by Karlheinz Essl (freeware for Mac OS)
  • MaestroGenesis MaestroGenesis is a freely available tool developed by the Evolutionary Complexity Research Group that helps amateur musicians compose and generate musical ideas.
  • Musical Algorithms Arhivirano na sajtu Wayback Machine (4. mart 2016) An interactive exploration of the relationship between music and mathematical formulas funded by the Northwest Academic Computing Consortium, project directed by Jonathan N. Middleton.
  • Strasheela, a composition system that uses constraint programming and supports highly complex rule-based music theories (e.g. harmony).
  • WolframTones, an algorithmic composer based on 1-dimensional cellular automata.
  • Impromptu Arhivirano na sajtu Wayback Machine (6. decembar 2016) - A programming environment for real-time algorithmic composition.
  • MusiNum Software to make music using number patterns.
  • SoundHelix A free Java framework for algorithmic random music composition based on constrained random generation (CRG). Plays generated music on MIDI devices in real-time and can write MIDI files.
  • RGB MusicLab Image data into a music. (Mac OS and Windows)
  • Easy Music Composer Easy Music Composer is a tool that makes music easily.
  • Computoser An online service that generates algorithmic music with no human input.
  • Melomics Arhivirano na sajtu Wayback Machine (20. oktobar 2018) online browser and API to adapt multiple genres, tempos, and dynamics for the one of the world's largest repositories of music.
  • Scripthica Arhivirano na sajtu Wayback Machine (6. novembar 2016) A web environment for learning, listening, sharing and creating algorithmic computer music.

Tutorijali

uredi