Zenegenerálás, majdnem természetes zene. Bernád Kinga és Roth Róbert



Hasonló dokumentumok
Számítógépes döntéstámogatás. Genetikus algoritmusok

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal. A genetikus algoritmus működése. Az élet információ tárolói

Evolúciós algoritmusok

Genetikus algoritmusok az L- rendszereken alapuló. Werner Ágnes

értékel függvény: rátermettségi függvény (tness function)

Evolúció. Dr. Szemethy László egyetemi docens Szent István Egyetem VadVilág Megőrzési Intézet

Evolúció. Dr. Szemethy László egyetemi docens Szent István Egyetem VadVilág Megőrzési Intézet

Genetikus algoritmusok

Tartalomjegyzék. Tartalomjegyzék... 3 Előszó... 9

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

Megerősítéses tanulás 7. előadás

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Mesterséges Intelligencia alapjai

A genetikus algoritmus, mint a részletes modell többszempontú és többérdekű "optimálásának" általános és robosztus módszere

TARTALOMJEGYZÉK. TARTALOMJEGYZÉK...vii ELŐSZÓ... xiii BEVEZETÉS A lágy számításról A könyv célkitűzése és felépítése...

Algoritmusok Tervezése. 9. Előadás Genetikus Algoritmusok Dr. Bécsi Tamás

Gépi tanulás. Neurális hálók, genetikus algoritmus. Közlekedési informatika MSc. Földes Dávid St. 405.

értékel függvény: rátermettségi függvény (tness function)

PEDAGÓGIAI PROGRAM ÉS HELYI TANTERV MÓDOSÍTÁSA

Felvételi tematika INFORMATIKA

SZÓRAKOZTATÓ ZENÉSZ ISMERETEK ÁGAZATON KÍVÜLI SZAKMAI ÉRETTSÉGI VIZSGA A VIZSGA LEÍRÁSA KÖZÉPSZINTEN. Középszint

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Dr. habil. Maróti György

Shannon és Huffman kód konstrukció tetszőleges. véges test felett

Struktúra nélküli adatszerkezetek

Informatikai Rendszerek Tervezése

Algoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE

Programozás alapjai. 5. előadás

III. Gráfok. 1. Irányítatlan gráfok:

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

INFORMATIKA javítókulcs 2016

BEKE ANDRÁS, FONETIKAI OSZTÁLY BESZÉDVIZSGÁLATOK GYAKORLATI ALKALMAZÁSA

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Hatékonyság 1. előadás

Matematika tanmenet 2. osztály részére

HÁLÓZATSZERŰEN MŰKÖDŐ LOGISZTIKÁVAL INTEGRÁLT TERMELÉSÜTEMEZÉS MEGOLDÁSA GENETIKUS ALGORITMUS ALKALMAZÁSÁVAL. OLÁH Béla

Quine-McCluskey Módszer

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Biomatematika 2 Orvosi biometria

Bevezetés az informatikába

Algoritmuselmélet 2. előadás

SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába

Rőczei Gábor Szeged, Networkshop

Universität M Mis is k k olol cic, F Eg a y kultä etem t, für Wi Gazda rts ságcha tudfts o w máis n s yen i scha Kar, ften,

Populációgenetikai. alapok

Tanmenet a évf. fakultációs csoport MATEMATIKA tantárgyának tanításához

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

I. LABOR -Mesterséges neuron

Intelligens Rendszerek Gyakorlata. Neurális hálózatok I.

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

A Batthyány Általános Iskola és Sportiskola félévi/év végi beszámolója

Képrekonstrukció 9. előadás

Magatartás Szorgalom Olvasás írás 1.oszt. Matematika 1.oszt. Környezetismeret 1.osztály 2. oszt. első félév

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Evolúciós alapfogalmak, általános algoritmusok

[Biomatematika 2] Orvosi biometria

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

4. Fejezet : Az egész számok (integer) ábrázolása

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

HÁROM KÖR A HÁROMSZÖGBEN

A TANTÁRGY ADATLAPJA

Tantárgyi útmutató. 1. A tantárgy helye a szaki hálóban. 2. A tantárgyi program általános célja. Statisztika 1.

MATLAB alapismeretek I.

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

SZERZŐ: Kiss Róbert. Oldal1

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto

Véletlenszám generátorok. 6. előadás

Helyi tanterv magyar nyelv és irodalomból emelt szintű fakultáció 11. évfolyam Heti 2 óra Összesen 72 óra

Történelemtanítás Online történelemdidaktikai folyóirat

Mesterséges Intelligencia MI

Automaták és formális nyelvek

V. Kétszemélyes játékok

Tanulás tanuló gépek tanuló algoritmusok mesterséges neurális hálózatok

van neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk

Adatszerkezetek és algoritmusok

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Kerettanterv Alapfokú nevelés-oktatás szakasza, alsó tagozat, 1 4. évfolyam

Excel 2010 függvények

IDEGEN NYELV 2 4. osztály

Mesterséges Intelligencia Elektronikus Almanach. Konzorciumi partnerek

Hidraulikus hálózatok robusztusságának növelése

Valószínűségi modellellenőrzés Markov döntési folyamatokkal

4. Javítás és jegyzetek

Számítógép és programozás 2

Rekurzió. Dr. Iványi Péter

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

Java II. I A Java programozási nyelv alapelemei

Problémamegoldás kereséssel. Mesterséges intelligencia március 7.

Gépi tanulás a Rapidminer programmal. Stubendek Attila

Neurális hálózatok bemutató

MATEMATIKA. Tildy Zoltán Általános Iskola és Alapfokú Művészeti Iskola Helyi tanterv 1-4. évfolyam 2013.

Matlab alapok. Vektorok. Baran Ágnes

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Adatszerkezetek és algoritmusok

A foglalkozás céljának eléréséhez a következő tevékenységeket végezzük el:

A digitális számítás elmélete

Intelligens Rendszerek Elmélete. Versengéses és önszervező tanulás neurális hálózatokban

Átírás:

Zenegenerálás, majdnem természetes zene Bernád Kinga és Roth Róbert

Tartalom 1. Bevezető 2. Eddigi próbálkozások 3. Módszerek 4. Algoritmus bemutatása 5. Összefoglaló (C) Bernád Kinga, Roth Róbert 2

1. Bevezető 1.1. Egy kis zeneelmélet 1.2. Beszéd és zene (C) Bernád Kinga, Roth Róbert 3

1.1. Egy kis zeneelmélet Mi a zene? nincs pontos meghatározás fülünkkel érzékeljük, halljuk(auditív) időben korlátos időben rendezett hangok sorozata (C) Bernád Kinga, Roth Róbert 4

1.1. Egy kis zeneelmélet Zene egységei: hang - legkisebb egység ütem - adott egységen belüli hangok sorozata frázis - ütemekből áll dal - frázisok ismétlődése (C) Bernád Kinga, Roth Róbert 5

1.1. Egy kis zeneelmélet Hang tulajdonságai hangmagasság időtartam hangszín (C) Bernád Kinga, Roth Róbert 6

1.2. Zene és beszéd Párhuzamba állíthatóak hang - betű ütem - szó frázis - mondat dal - szöveg zeneelmélet - nyelvtan kb. 88 hallható hang - 26 betű (C) Bernád Kinga, Roth Róbert 7

1.2. Zene és beszéd Probléma a nyelvtan és az alapegységek ismerete nem elég a helyes mondatok alkotásához pl: Sárika, szeret, leves, zöldség,finom Finom zöldséges Sárika szereti a levest. Sárika szereti a finom zöldséges levest. (C) Bernád Kinga, Roth Róbert 8

1.2. Zene és beszéd az agy kiszűri a teljesen lehetetlen kombinációkat zenegenerálás esetén ezt a feladatot(szűrést) egy az emberhez hasonló módon gondolkodó (mesterségesen intelligens) program végzi (C) Bernád Kinga, Roth Róbert 9

2. Eddigi próbálkozások 1792: Mozart Musikalisches Würfelspiel(zenés kockajáték) 1950-1951: CSIRAC számítógép zenét generál 1962: Iannis Xenakis FORTRAN programmal zenét komponált 1966: G. M. Koenig zenegenerátort ír 1971: szintetizátort ír, mely lejátssza (C) Bernád Kinga, Roth Róbert 10

2. Eddigi próbálkozások 1983: Robert Rowe megírja a szintetizátor Turbo Pascal verziót '90-es évektől napjainkig: David Cope létező zenestílus imitálása (C) Bernád Kinga, Roth Róbert 11

3. Módszerek 3.1. Matematikai modellek 3.2. Tudás alapú rendszerek 3.3. Zenenyelvtan 3.4. Gépi tanulás 3.5. Evolúciós módszerek (C) Bernád Kinga, Roth Róbert 12

3.1. Matematikai modellek Sztochasztikus modellek a zenét nem determinisztikus módszerekkel állítjuk elő, a zeneszerző szerepe a valószínűségek megadása pl.: Markov láncok (C) Bernád Kinga, Roth Róbert 13

3.1. Matematikai modellek Fraktálok a természet harmonikus illetve inharmonikus eseményeiből is előállítható zene pl.: fractmus (http://www.geocities.com/siliconvalley/haven/4386/) Determinisztikus módszerek pl.: On-Line Encyclopedia of Integer Sequences lehetőséget nyújt egy sorozat lejátszására (http://www.research.att.com/~njas/sequences/) (C) Bernád Kinga, Roth Róbert 14

3.2. Tudás alapú rendszerek meghatározza egy adott stílus jellemzőit, majd a jellemzők alapján rakja össze a zenét ha adott egy szabályrendszer, akkor van kész a mű, ha minden szabálynak megfelel pl.: David Cope : 1996. Experiments in Musical Intelligence. Madison, WI: A-R Editions (C) Bernád Kinga, Roth Róbert 15

3.3. Zenenyelvtan a zenét egy nyelvként kezeli, meynek van egy külön nyelvtana előbb felépíti a zenei nyelvtant, majd ez alapján felépíti a zenét általában magasabb szintű elemekre van megadva (akkordok, ritmus szabályzás) (C) Bernád Kinga, Roth Róbert 16

3.4. Gépi tanulás kezdetben nem rendelkeznek az adott tudású műfajról, ehelyett a programozó által megadott példák feldolgozásával "tanulják meg" a stílust a tanult szabályok alapján felépítenek egy új művet szorosan kapcsolódnak ide a Neurális hálók pl.: NEUROGEN - zenerészlet értékelése Neurális hálók használatával (C) Bernád Kinga, Roth Róbert 17

3.5. Evolúciós módszerek egy technika, mely leggyakrabban használt algoritmusa a Genetikus algoritmusok Fogalmak Egyed Populáció Operátorok Szelekció Rekombináció Mutáció Fenotípus Genotípus Rátermettségi függvény (C) Bernád Kinga, Roth Róbert 18

3.5. Evolúciós módszerek Genetikus operátorok általában Szelekció hozzájárul a populáció fejlődéséhez, ez választja ki, hogy melyik egyedek éljenek a következő generációban is, vagyis legyenek szülő Rekombináció a szülők valamilyen keresztezésével egy új egyedet hoz létre Mutáció véletlenszerű, mégis bizonyos szabályoknak megfelelő módosítást végez egy egyeden, amellyel a populáció változik és fejlődik (ld. evolúció) (C) Bernád Kinga, Roth Róbert 19

3.5. Evolúciós módszerek Genetikus algoritmus leírása egy kereső algoritmus egy populációt addig fejleszt operátorokkal, amíg egy elfogadható megoldást talál megoldás feltétele: az egyedek karakterláncok rátermettségi függvény meghatározhatósága (C) Bernád Kinga, Roth Róbert 20

3.5. Evolúciós módszerek Genetikus algoritmus leírása Populáció inicializálása Amíg nem találta meg a legmegfelelőbb megoldást Minden egyednek határozd meg a rátermettségét Válaszd ki a rátermettebbeket, hogy szülők legyenek Hozd létre az új egyedeket Új generáció létrehozása az új egyedekkel és szülőkkel Amíg vége (C) Bernád Kinga, Roth Róbert 21

4. musigen bemutatása 4.1. Cél 4.2. Felépítés 4.3. Ábrázolás 4.4. Genetikus operátorok 4.5. Rátermettségi függvény 4.6. Fejlődés 4.7. További lehetőségek (C) Bernád Kinga, Roth Róbert 22

4.1. A musigen célja Genetikus algoritmusok? Zenegenerálás Genetikus algoritmusok kevés szabály alapján nagyon nagy számú lehetőségből is megtalálják az elég jó megoldásokat A musigen genetikus algoritmusok alkalmazását szemlélteti a zeneszerzésben (C) Bernád Kinga, Roth Róbert 23

4.2. Felépítés Egyedek Populációk Genetikus operátorok Rátermettségi függvény (C) Bernád Kinga, Roth Róbert 24

4.2. Felépítés 2 populáció Ütemek Frázisok Populációk mérete 64 ütem 48 frázis Miért? - nagyobb populációra rátermettségi függvény rendszerigénye nagy (C) Bernád Kinga, Roth Róbert 25

4.3. Ábrázolás Egyedek reprezentációja Első byte mindig az egyed rátermettsége -30 és 30 között 0-val inicializálva Ennek értéke alapján dől el, hogy egy egyed tovább él a következő generációban is, vagy nem A többi byte az egyedet írja le Ütem: 8 esemény = további 8 byte Frázis: 4 ütem = további 4 byte (C) Bernád Kinga, Roth Róbert 26

4.3. Ábrázolás Egyedek reprezentációja ütemek esetén Események típusai 14 darab hang-esemény az adott számú hang megszólaltatása, mely bekövetkezésének valószínűsége 1/24 Szünet esemény szünet a zenében 5/24 valószínűséggel Ismétlés esemény előző hang ismétlése 5/24 valószínűséggel (C) Bernád Kinga, Roth Róbert 27

4.3. Ábrázolás Pl: 12x 1, 2, 3, 4, 0, 6, 15, 7 Egyedek reprezentációja frázisok szintjén Frázisok A rátermettség után megjelenik a frázis 4 ütemének az ütempopulációbeli sorszáma Pl.: 1x 14, 53, 42, 26 (C) Bernád Kinga, Roth Róbert 28

4.4. Genetikus operátorok Ütemek szintjén Megfordítás Tükrözi az ütemet-> megfordítja a hangok sorrendjét az ütemben pl: 12x 0,1,7,6,2,15,3,7 -> 0x7,3,15,2,6,7,1,0 Jobbra forgatás minden hangot jobbra tol pl: 12x 0,1,7,6,2,15,3,7 -> 0x7,0,1,7,6,2,15,3 Invertálás xi = 15-xi, ahol xi az i. hang értéke pl: 12x 0,1,7,6,2,15,3,7 -> 0x15,14,8,9,13,0,12,8 (C) Bernád Kinga, Roth Róbert 29

4.4. Genetikus operátorok Ütemek szintjén (szünetmegőrző operátorok) Növekvő rendezés a hang eseményeket növekvő sorrendbe rendezi a többi esemény figyelmenkívülhagyásával pl: 12x 0,1,7,6,2,15,3,7 -> 0x0,1,2,3,6,15,7,7 Csökkenő rendezés csökkenő sorrendbe rendez pl: 12x 0,1,7,6,2,15,3,7 -> 0x0,7,7,6,3,15,2,1 Transzponálás - megadott értékkel növeli a hangesemények értékeit pl: 12x 0,1,7,6,2,15,3,7 -> 0x0,2,8,7,3,15,4,8 (C) Bernád Kinga, Roth Róbert 30

4.4. Genetikus operátorok Frázisok szintjén Megfordítás (megegyezik az ütem-operátorral) Jobbra forgatás (megegyezik az ütem-operátorral) Javítás legrosszabb cserélődik véletlenszámra pl: 12:20, 34:24, 2:-5, 23:-25 ütem:érték párok 34x 12, 2, 23, 34 -> 0x 12, 2, 14 Legjobb frázis a feldolgozandó frázist kicseréli az új frázis ütemei a 4 legjobb osztályzatú ütem (C) Bernád Kinga, Roth Róbert 31

4.4. Genetikus operátorok Frázisok szintjén (folytatás) Unalmas ütem megkeresi az összes frázisban legtöbbször előforduló ütemet, és az összes előfordulását különböző véletlenszámokra cseréli Árva frázis az ütemek előfordulásait megszámolja, majd a feldolgozandó frázist kicseréli egy olyan frázisra, melynek ütemei a 4 legritkábban előforduló ütem Ez a két operátor a konvergencia elkerülése érdekében vezetődött be (C) Bernád Kinga, Roth Róbert 32

4.5. Rátermettségi függvény Neurális hálókkal implementálható rátermettségi függvény A program bonyolultsága megnő, fejlesztési idő szintén A szabályoknak megfelelés nem feltétlenül esztétikus Én tudom, mi tetszik elv: emberi értékelő A populációk egyedeit ember értékeli Egy generáció 64+48=112 kb 15 perc alatt értékelhető (C) Bernád Kinga, Roth Róbert 33

4.6. Fejlődés A populációk fejlődnek Előbb az ütempopuláció Majd a frázispopuláció Folyamat Populáció családokra oszlik 2 legrátermettebb lesz a 2 szülő Másik 2 kicserélődik Egy tökéletes leszármazott Egy mutáns leszármazott (C) Bernád Kinga, Roth Róbert 34

4.7. További lehetőségek Hangok hossza változó legyen Még 10 generáció kiértékelése Adott akkordok alapján hangok Neurális hálós rátermettségi függvény (C) Bernád Kinga, Roth Róbert 35

5. Összefoglaló Új terület: Evolutionary Computer Music Eduardo Reck Miranda, John A. Biles, 2007 ápr. A tökéletes zenegenerátor tulajdonságai (C) Bernád Kinga, Roth Róbert 36

Könyvészet en.wikipedia.org Computer Aided Composition Markov Chains Algorithmic Composition Generative Music Evolutionary Music John A. Biles : GenJam Original Paper http://www.it.rit.edu/~jab/genjam94/paper.html Wayne Chase : How music really works(roedy Black publishing) John A. Biles : Evolutionary Music Tutorial John A. Biles : A genetic algorithm for generating jazz solos (C) Bernád Kinga, Roth Róbert 37

Könyvészet Bruce L. Jacob : Composing with genetic algorithms www.google.com (C) Bernád Kinga, Roth Róbert 38