Skład algorytmiczny - Algorithmic composition
Kompozycja algorytmiczna to technika wykorzystywania algorytmów do tworzenia muzyki .
Algorytmy (lub przynajmniej formalne zestawy reguł) były używane do komponowania muzyki od wieków; Na przykład procedury stosowane do fabuły głosowej w kontrapunkcie zachodnim często sprowadzają się do algorytmicznej determinacji. Terminu tego można użyć do opisania technik tworzenia muzyki, które działają bez ciągłej interwencji człowieka, na przykład poprzez wprowadzenie procedur losowych . Jednak dzięki kodowaniu na żywo i innym interaktywnym interfejsom możliwe jest w pełni zorientowane na człowieka podejście do kompozycji algorytmicznej.
Niektóre algorytmy lub dane, które nie mają bezpośredniego znaczenia muzycznego, są wykorzystywane przez kompozytorów jako twórcza inspiracja dla ich muzyki. Jako materiały źródłowe wykorzystano algorytmy takie jak fraktale , systemy L , modele statystyczne , a nawet dowolne dane (np. dane spisowe , współrzędne GIS lub pomiary pola magnetycznego ).
Modele kompozycji algorytmicznej
Algorytmy kompozycyjne są zwykle klasyfikowane według konkretnych technik programowania, których używają. Wyniki procesu można następnie podzielić na 1) muzykę skomponowaną za pomocą komputera i 2) muzykę skomponowaną za pomocą komputera. Muzykę można uznać za komponowaną przez komputer, gdy algorytm jest w stanie samodzielnie dokonywać wyborów podczas procesu tworzenia.
Innym sposobem sortowania algorytmów kompozycyjnych jest badanie wyników ich procesów kompozycyjnych. Algorytmy może albo 1) dostarczenie informacji (notacyjnych nuty lub MIDI ) dla innych instrumentów lub 2) zapewnienie niezależnego sposobu syntezy dźwięku (gra składu przez siebie). Istnieją również algorytmy tworzące zarówno dane notacyjne, jak i syntezę dźwięku.
Jednym ze sposobów kategoryzacji algorytmów kompozycyjnych jest ich struktura i sposób przetwarzania danych, jak widać w tym modelu sześciu częściowo nakładających się typów:
- modele translacyjne
- modele matematyczne
- systemy oparte na wiedzy
- gramatyki
- podejścia do optymalizacji
- metody ewolucyjne
- systemy uczące się
- systemy hybrydowe
Modele translacyjne
To podejście do syntezy muzyki, które polega na „przetłumaczeniu” informacji z istniejącego niemuzycznego medium na nowy dźwięk. Tłumaczenie może być oparte na regułach lub stochastyczne . Na przykład, podczas tłumaczenia obrazu na dźwięk, obraz jpeg linii poziomej może być interpretowany w dźwięku jako stała wysokość, podczas gdy linia pochylona w górę może być skalą rosnącą. Często oprogramowanie stara się wydobyć z medium koncepcje lub metafory (takie jak wzrost lub sentyment) i zastosować wydobyte informacje do wygenerowania utworów przy użyciu sposobów, w jakie te koncepcje zazwyczaj przedstawia teoria muzyki. Innym przykładem jest tłumaczenie tekstu na muzykę, które może zbliżyć się do kompozycji poprzez wyodrębnienie sentymentu (pozytywnego lub negatywnego) z tekstu za pomocą metod uczenia maszynowego , takich jak analiza sentymentu, i przedstawia je w kategoriach jakości akordów, takich jak molowy (smutny) lub durowy ( happy) akordy w generowanej muzycznej produkcji.
Modele matematyczne
Modele matematyczne oparte są na równaniach matematycznych i zdarzeniach losowych. Najpopularniejszym sposobem tworzenia kompozycji za pomocą matematyki są procesy stochastyczne . W modelach stochastycznych utwór muzyczny powstaje w wyniku metod niedeterministycznych . Proces kompozytorski jest tylko częściowo kontrolowany przez kompozytora poprzez ważenie możliwości zdarzeń losowych. Wybitnymi przykładami algorytmów stochastycznych są łańcuchy Markowa i różne zastosowania rozkładów Gaussa . Algorytmy stochastyczne są często używane razem z innymi algorytmami w różnych procesach decyzyjnych.
Muzyka została również skomponowana poprzez zjawiska naturalne. Te chaotyczne modele tworzą kompozycje z harmonicznych i nieharmonijnych zjawisk natury. Na przykład od lat 70. fraktale były badane również jako modele kompozycji algorytmicznej.
Jako przykład deterministycznych kompozycji za pomocą modeli matematycznych, On-Line Encyclopedia of Integer Sequences zapewnia opcję odtwarzania sekwencji liczb całkowitych jako 12-tonowej muzyki o równym temperamencie . (Początkowo jest ustawiony, aby przekształcić każdą liczbę całkowitą w nutę na 88-klawiszowej klawiaturze muzycznej przez obliczenie liczby całkowitej modulo 88 w stałym rytmie. Zatem 123456, liczby naturalne, równa się połowie skali chromatycznej.) Jako inny przykład, seria wieloprzedziałowa została wykorzystana do komputerowego wspomagania kompozycji
Systemy oparte na wiedzy
Jednym ze sposobów tworzenia kompozycji jest wyizolowanie kodu estetycznego określonego gatunku muzycznego i wykorzystanie tego kodu do tworzenia nowych, podobnych kompozycji. Systemy oparte na wiedzy opierają się na gotowym zestawie argumentów, które można wykorzystać do skomponowania nowych dzieł tego samego stylu lub gatunku. Zwykle odbywa się to za pomocą zestawu testów lub reguł wymagających spełnienia, aby kompozycja była kompletna.
Gramatyka
Muzyka może być również rozpatrywana jako język z charakterystycznym zestawem gramatycznym . Kompozycje powstają poprzez skonstruowanie gramatyki muzycznej, z której następnie powstają zrozumiałe utwory muzyczne. Gramatyki często zawierają zasady komponowania na poziomie makro, na przykład harmonie i rytm , a nie pojedyncze nuty.
Metody optymalizacji
Podczas generowania dobrze zdefiniowanych stylów muzyka może być postrzegana jako problem optymalizacji kombinatorycznej, w którym celem jest znalezienie właściwej kombinacji nut, tak aby zminimalizować funkcję celu. Ta funkcja celu zazwyczaj zawiera reguły określonego stylu, ale można się jej nauczyć za pomocą metod uczenia maszynowego, takich jak modele Markowa. Naukowcy stworzyli muzykę przy użyciu niezliczonej liczby różnych metod optymalizacji, w tym programowania liczb całkowitych, wyszukiwania zmiennych sąsiedztwa i metod ewolucyjnych, jak wspomniano w następnym podrozdziale.
Metody ewolucyjne
Ewolucyjne metody komponowania muzyki oparte są na algorytmach genetycznych . Kompozycja budowana jest w procesie ewolucyjnym . Poprzez mutacje i dobór naturalny ewoluują różne rozwiązania w kierunku odpowiedniego utworu muzycznego. Iteracyjne działanie algorytmu wycina złe rozwiązania i tworzy nowe z tych, które przetrwały proces. Nad rezultatami procesu czuwa krytyk, istotna część algorytmu kontrolującego jakość tworzonych kompozycji.
Podejście Evo-Devo
Metody ewolucyjne w połączeniu z procesami rozwojowymi stanowią podejście evo-devo do generowania i optymalizacji złożonych struktur. Metody te zostały również zastosowane do kompozycji muzycznej, gdzie struktura muzyczna jest uzyskiwana w procesie iteracyjnym, który przekształca bardzo prostą kompozycję (złożoną z kilku nut) w złożony, pełnoprawny utwór (czy to partyturę, czy plik MIDI ).
Systemy, które się uczą
Systemy uczenia się to programy, które nie mają żadnej wiedzy na temat gatunku muzyki, z którym pracują. Zamiast tego samodzielnie zbierają materiał do nauki z przykładowego materiału dostarczonego przez użytkownika lub programistę. Materiał jest następnie przetwarzany na utwór muzyczny podobny do materiału przykładowego. Ta metoda kompozycji algorytmicznej jest silnie powiązana z algorytmicznym modelowaniem stylu, improwizacją maszynową oraz takimi badaniami, jak kognitywistyka i badanie sieci neuronowych . Assayag i Dubnov zaproponowali model Markowa o zmiennej długości do nauki o różnej długości kontynuacji motywów i fraz. Marchini i Purwins przedstawili system, który za pomocą nienadzorowanego grupowania i łańcuchów Markowa o zmiennej długości uczy się struktury nagrania dźwiękowego rytmicznego fragmentu perkusyjnego i syntetyzuje z niego wariacje muzyczne.
Systemy hybrydowe
Programy oparte na jednym modelu algorytmicznym rzadko osiągają zadowalające pod względem estetycznym rezultaty. Z tego powodu algorytmy różnego typu są często używane razem, aby połączyć mocne strony i zmniejszyć słabości tych algorytmów. Tworzenie hybrydowych systemów do komponowania muzyki otworzyło pole kompozycji algorytmicznej, a także stworzyło wiele zupełnie nowych sposobów algorytmicznego konstruowania kompozycji. Jedynym poważnym problemem związanym z systemami hybrydowymi jest ich rosnąca złożoność oraz zapotrzebowanie na zasoby do łączenia i testowania tych algorytmów.
Innym podejściem, które można nazwać kompozycją wspomaganą komputerowo , jest algorytmiczne tworzenie pewnych struktur dla finalnych „ręcznie wykonanych” kompozycji. Już w latach 60. Gottfried Michael Koenig opracował programy komputerowe Project 1 i Project 2 do muzyki aleatorycznej , których dorobek sensownie ustrukturyzowano „ręcznie” za pomocą instrukcji wykonawczych. W 2000 roku Andranik Tangian opracował algorytm komputerowy do określania struktur zdarzeń czasowych dla kanonów rytmicznych i rytmicznych fug, które następnie zostały opracowane w kompozycjach harmonicznych Eine kleine Mathmusik I i Eine kleine Mathmusik II ; partytury i nagrania zob.
Zobacz też
- Zmień dzwonek
- Kreatywność obliczeniowa
- Muzyka komputerowa
- Rytm euklidesowy (tradycyjne rytmy muzyczne generowane przez algorytm Euklidesa )
- Muzyka ewolucyjna
- Muzyka generatywna
- Muzyczna gra w kości
- Automatyzacja muzyki pop
- Programowanie (muzyka)
- Lista oprogramowania muzycznego
Bibliografia
Źródła
Artykuły
- Algorytmy muzyki komputerowej autorstwa dr.Johna Francisa. Muzyczne algorytmiczne programy komputerowe reprezentujące wszystkie style muzyczne, z kodem źródłowym C, tworzą pliki midi. 19th Ed 2019 zawiera teraz 57 programów, 20 stylów i 24 rozdziały. Potrzebujesz kompilatora AC i odtwarzacza midi. Dla każdego programu istnieje jeden do wielu plików Mp3 na przykład.
- Kilka uwag na temat kompozycji algorytmicznej autorstwa Martina Suppera . Dziennik muzyki komputerowej 25.1 (2001) 48-53
- KOMPONOWANIE Z PROCESEM: PERSPEKTYWY NA MUZYKĘ GENERATYWNĄ I SYSTEMOWĄ podcast eksplorujący podejścia generatywne (w tym algorytmiczne, systemowe, sformalizowane i proceduralne) do kompozycji i wykonania głównie w kontekście eksperymentalnych technologii i praktyk muzycznych drugiej połowy XX wieku.
- Automatyczna kompozycja z niemuzycznych źródeł inspiracji Roberta Smitha i in. Artykuł konferencyjny opisujący podejście do generowania muzyki oparte na uczeniu maszynowym poprzez trenowanie modelu na tematach, a następnie generowanie nowych utworów w oparciu o niemuzyczne pliki audio.
- Kompozycja algorytmiczna: myślenie obliczeniowe w muzyce Michaela Edwardsa. Komunikaty ACM, tom. 54 nr 7, strony 58–67 10.1145/1965724.1965742.
Dalsza lektura
- Phil Winsor i Gene De Lisa : Muzyka komputerowa w C. Windcrest 1990. ISBN 978-1-57441-116-4
- Curtis Roads: samouczek muzyki komputerowej. MIT Press 1996
- Eduardo Reck Miranda: Komponowanie muzyki za pomocą komputerów. Focal Press 2001
- Karlheinz Essl : Kompozycja algorytmiczna. w: Cambridge Companion to Electronic Music , wyd. N. Collins i J. d'Escrivan, Cambridge University Press 2007. - ISBN 978-0-521-68865-9 . - Streszczenie
- Gerhard Nierhaus: Kompozycja algorytmiczna - paradygmaty zautomatyzowanego generowania muzyki. Springer 2008. - ISBN 978-3-211-75539-6
- Wooller, Rene, Brown, Andrew R, Miranda, Eduardo, Diederich, Joachim, & Berry, Rodney (2005) Framework do porównywania procesów w algorytmicznych systemach muzycznych. W: Generative Arts Practice, 5-7 grudnia 2005, Sydney, Australia. [1]
- Funkcjonalna taksonomia systemów generowania muzyki autorstwa Dorien Herremans , Ching-Hua Chuang i Elaine Chew. Ankiety komputerowe ACM, tom. 55 nr 5, strony 69:1-30 10.1145/3108242.
Linki zewnętrzne
- Wprowadzenie do kompozycji algorytmicznej Lisp Film wprowadzający do kompozycji algorytmicznej przy użyciu języka programowania Lisp.
- Samouczki dotyczące kompozycji algorytmicznej Seria samouczków dotyczących kompozycji algorytmicznej.