Кіріспе
Музыка жасау үшін алгоритмдерді қолдану техникасы
Алгоритмдік композиция – музыка жасау үшін алгоритмдерді қолдану техникасы. Алгоритмдер (немесе, кем дегенде, ережелердің ресми жиынтығы) ғасырлар бойы музыка құрастыру үшін қолданылып келген; мысалы, батыс контрапунктінде дауыс жүргізуді жоспарлау үшін қолданылатын процедуралар көбінесе алгоритмдік детерминизмге келтіріледі. Бұл термин адамның тікелей араласуынсыз жұмыс істейтін музыка жасау әдістерін сипаттау үшін қолданылуы мүмкін, мысалы, кездейсоқ процедураларды енгізу арқылы. Дегенмен, тікелей кодтау және басқа да интерактивті интерфейстер арқылы алгоритмдік композицияға толыққанды адамға бағытталған көзқарас қолдануға болады. Кейбір композиторлар музыкалық мағынасы жоқ алгоритмдерді немесе деректерді өз музыкасының шығармашылық шабыты ретінде пайдаланады. Фракталдар, L-жүйелер, статистикалық модельдер және тіпті кездейсоқ деректер (мысалы, халық санағының көрсеткіштері, ГИС координаталары немесе магнит өрісінің өлшемдері) бастапқы материалдар ретінде қолданылған.
Трансляциялық модельдер
Бұл – музыкалық синтезде музыкалық емес ортадан жаңа дыбысқа ақпаратты "аудармалау" арқылы қолданылатын тәсіл. Аударма ережеге негізделген немесе кездейсоқ болуы мүмкін. Мысалы, суретті дыбысқа аударғанда, көлденең сызықтың JPEG суреті дыбыста тұрақты тон ретінде түсіндірілуі мүмкін, ал жоғары қарай еңкейген сызық – көтеріліп бара жатқан гамма болуы мүмкін. Көбінесе бағдарламалық қамтамасыз ету ортадан түсініктер немесе метафораларды (мысалы, биіктік немесе көңіл-күй) анықтауға тырысады және алынған ақпаратты музыка теориясы әдетте осы түсініктерді бейнелейтін тәсілдерді пайдаланып, әндер жасау үшін қолданады. Тағы бір мысал – мәтінді музыкаға аудару, онда мәтіннен жағымды немесе жағымсыз көңіл-күйді анықтау үшін машиналық оқыту әдістері, мысалы, көңіл-күйді талдау қолданылып, осы көңіл-күй музыкалық шығармада минор (қасіретті) немесе мажор (қуанышты) аккордтар арқылы бейнеленеді.
Математикалық модельдер
Математикалық модельдер математикалық теңдеулер мен кездейсоқ оқиғаларға негізделген. Математика арқылы композиция жасаудың ең көп таралған жолы – стохастикалық процестер. Стохастикалық модельдерде музыкалық шығарма детерминистік емес әдістер арқылы құрастырылады. Композитор композициялық процесті тек ішінара ғана бақылайды, кездейсоқ оқиғалар мүмкіндіктерін салмақтап. Стохастикалық алгоритмдердің белгілі мысалдары – Марков тізбектері және Гаусс таралымының әртүрлі қолданылулары. Стохастикалық алгоритмдер көбінесе шешім қабылдау процестерінде басқа алгоритмдермен бірге қолданылады. Музыка табиғи құбылыстар арқылы да жасалған. Бұл хаотикалық модельдер табиғаттың гармониялық және диссонанстық құбылыстарынан композиция құрайды. Мысалы, 1970 жылдардан бері фракталдар алгоритмдік композицияның үлгілері ретінде де зерттелді. Математикалық модельдер арқылы жасалған детерминистік композицияның мысалы ретінде, On Line Encyclopedia of Integer Sequences толық сандар тізбегін 12 тондық тең темперамент музыкасы ретінде ойнату мүмкіндігін ұсынады. (Бастапқыда, әрбір санды 88-дік модуль бойынша есептеу арқылы 88 клавишалы музыкалық аспаптағы нотаға айналдырады, бұл тұрақты ритммен жүзеге асырылады. Осылайша, 123456, табиғи сандар, хроматикалық гамманың жартысына тең.) Тағы бір мысал ретінде, компьютерлік көмекпен композиция жасау үшін барлық интервалдық тізбектер қолданылды.
Білімге негізделген жүйелер
Композиция жасаудың бір жолы – белгілі бір музыкалық жанрдың эстетикалық кодын бөліп алып, осы кодты жаңа, осыған ұқсас композициялар жасау үшін пайдалану. Білімдік жүйелер алдын ала дайындалған аргументтер жиынтығына негізделген, олар бір стильдегі немесе жанрдағы жаңа туындыларды құруға мүмкіндік береді. Әдетте, бұл композицияның аяқталған болуы үшін орындалуы тиіс сынақтар немесе ережелер жиынтығы арқылы іске асырылады.
Грамматика
Музыканы ерекше грамматикалық жүйесі бар тіл ретінде де қарастыруға болады. Композициялар алдымен музыкалық грамматика құру арқылы жасалады, содан кейін оны түсінікті музыкалық туындылар жасау үшін пайдаланады. Грамматика көбінесе жеке ноталар емес, гармония мен ырғақ сияқты макро деңгейде композициялау ережелерін қамтиды.
Оптимизациялау тәсілдері
Жақсы анықталған стильдерді жасағанда, музыканы комбинаторлық оптимизация проблемасы ретінде қарастыруға болады, онда мақсат – объективтік функцияны азайту үшін ноталардың дұрыс комбинациясын табу. Бұл объективтік функция әдетте нақты стильдің ережелерін қамтиды, бірақ Марков модельдері сияқты машиналық оқыту әдістерін қолдану арқылы оны үйренуге болады. Зерттеушілер бүтін сандық бағдарламалау, айнымалы маңайлық іздеу және эволюциялық әдістер сияқты әртүрлі оптимизация әдістерін қолданып музыка жасады, бұл туралы келесі тармақта айтылады.
Эволюциялық әдістер
Музыка жасаудың эволюциялық әдістері генетикалық алгоритмдерге негізделген. Композиция эволюциялық процесс арқылы жасалады. Мутация және табиғи іріктеу арқылы әртүрлі нұсқаулар қолайлы музыкалық туындыға қарай дамиды. Алгоритмнің ішкі қайталама әрекеттері нашар нұсқауларды жойып, процестен өткендерден жаңаларын құрайды. Процестің нәтижелерін сыншы бақылайды, ол жасалған композициялардың сапасын бағалайтын алгоритмнің маңызды бөлігі.
Эво-Дево әдісі
Эволюциялық әдістер, даму процестерімен үйлесімде, күрделі құрылымдарды жасау және оңтайландыру үшін эво-дево тәсілін құрайды. Бұл әдістер музыка композициясына да қолданылды, онда музыкалық құрылым өте қарапайым композицияны (кейбір ноталардан тұратын) толыққанды күрделі туындыға (нота жазу немесе MIDI файлы түрінде) айналдыратын итеративтік процесс арқылы алынады.
Үйренетін жүйелер
Оқу жүйелері – бұл олар жұмыс істейтін музыка жанры туралы алдын ала білімі жоқ бағдарламалар. Олар оқу материалына қатысты деректерді пайдаланушы немесе бағдарламашы ұсынған үлгілік материалдардан өздері жинақтайды. Содан кейін материал үлгілік материалға ұқсас музыкалық туындыға өңделеді. Бұл алгоритмдік композиция әдісі стильдің алгоритмдік модельдеуімен, машиналық импровизациямен, сондай-ақ когнитивтік ғылым және нейрондық желілерді зерттеу сияқты салалармен тығыз байланысты. Ассайг және Дубнов әртүрлі ұзындықтағы мотивтер мен фразалардың жалғасын үйрену үшін өзгермелі ұзындықтағы Марков моделін ұсынды. Марчини мен Пурвинс бақылаусыз кластерлеу және өзгермелі ұзындықтағы Марков тізбектерін қолдана отырып, ырғақты соқпалы фрагменттің аудиожазбасының құрылымын үйренетін және одан музыкалық вариацияларды синтездеуге қабілетті жүйені ұсынды.
Гибридтік жүйелер
Бір алгоритмдік модельге негізделген бағдарламалар эстетикалық тұрғыдан қанағаттандырарлық нәтижелерді жасауда көбінесе сәтсіздікке ұшырайды. Сондықтан, әртүрлі типтегі алгоритмдер олардың артықшылықтарын біріктіріп, кемшіліктерін азайту үшін жиі бірге қолданылады. Музыкалық композиция үшін гибридтік жүйелерді құру алгоритмдік композиция саласын кеңейтті және композицияларды алгоритмдік түрде құрудың көптеген жаңа тәсілдерін жасады. Гибридтік жүйелердің басты мәселесі – олардың күрделілігінің артуы және осы алгоритмдерді біріктіру мен сынауға қажетті ресурстар. Тағы бір тәсіл, компьютерлік көмекпен композиция жасау деп аталатын, белгілі бір құрылымдарды алгоритмдік түрде жасау, содан кейін "қолмен" композицияларды аяқтау болып табылады. Көп бұрын, 1960 жылдары Готфрид Майкл Кениг алеаторикалық музыка үшін Project 1 және Project 2 компьютерлік бағдарламаларын жасады, олардың нәтижелері орындау нұсқаулары арқылы "қолмен" логикалық түрде құрылымдалды. 2000 жылдары Андраник Тангян ритмикалық канондар мен ритмикалық фугалар үшін уақыттық оқиғалардың құрылымын анықтауға арналған компьютерлік алгоритмді әзірледі, олар кейін гармониялық композициялар Eine kleine Mathmusik I және Eine kleine Mathmusik II-ге айналдырылды; ноталар мен жазбалар үшін қараңыз.
which were then worked out into harmonic compositions Eine kleine Mathmusik I and Eine kleine Mathmusik II; for scores and recordings see.