Compozi›ia cu ajutorul computerului. O introducere n ... MUZICA Nr.1-2 / 2015 12 STUDII Compozi›ia cu ajutorul computerului. ... cele mai vechi din Europa, solicitaserƒ
Revista MUZICA Nr.1-2 / 2015 12 STUDII Compoziia cu ajutorul computerului. O introducere n muzica algoritmic Corneliu Dan Georgescu n semestrul de iarn 2012-2013 am susinut la Ruprecht-Karls-Universitt din Heidelberg pro-seminarul cu titlul de mai sus (titlul original: Computeruntersttztes Komponieren. Algorithmische Musik). Mai muli studeni ai institutului de muzic al acestei universiti, fondat n 1386, deci una dintre cele mai vechi din Europa, solicitaser de civa ani un curs de informare sintetic n domeniul folosirii computerului n muzic, n mod special n compoziie. Trebuie precizat faptul c este vorba de studeni muzicologi, deci nu de compozitori, studeni al cror interes pentru computer se situeaz ntr-un plan mai general, dar care cuprinde practic i tot ceea ce l-ar putea interesa pe un compozitor precum i multe alte aspecte. O particularitate a acestui seminar a fost faptul c nu a presupus nici-o cunotin prealabil n domeniul programrii la computer, iniierea ncepnd de la zero. Chiar dac tema enunat nu pare sa aib o legtur direct cu acest seminar, voi reveni periodic la el n cele ce urmeaz, deoarece prin el a fost impus de la bun nceput o anumit direcie practic-pedagogic, de care nu se poate face abstracie nici n textul de fat: intenia mea este s ncerc s formulez o serie de informaii astfel, nct i acest expos s poat fi neles de orice cititor interesat, chiar dac acesta nu dispune de o pregtire de specialitate. Nu va fi ns posibil aici s se depeasc limitele unei introduceri - un specialist n domeniu
Revista MUZICA Nr.1-2 / 2015 13 va gsi aici probabil destul de puine puncte de interes. Dar acest text nu aparine i nici nu este destinat unui specialist. Seminarul menionat a constat dintr-o serie 14 edine sptmnale cu urmtoarele teme principale, alese cu scopul declarat de a sintetiza de o manier simpl modurile diferite n care un computer poate fi implicat n actul componistic: 1. Muzic i computer. Informaie general. Aspecte tehnice, istorice, sociologice, estetice, filozofice. 2. Computerul folosit ca simplu nlocuitor al aparaturii clasice de studio. nregistrarea, prelucrarea elementar, redarea sunetului cu ajutorul computerului. 3. Noiuni de acustic: zgomot i muzic. Sunetul n sine. 4. Reprezentarea muzicii ca sunet. Formate optime. Programe specifice pentru analiza i sinteza sunetului. Sound Design. Muzic electronic, musique concrte, live- electronics. 5. Reprezentarea general a informaiei muzicale discontinue. 6. Formatul MIDI. Conversiunea diferitelor formate. 7. Reprezentarea grafic a muzicii ca notaie. Scrierea unei partituri cu ajutorul computerului; programe specifice. 8. Compoziia muzical asistat de computer la un nivel elementar. Lucrul cu module. Editarea muzicii cu ajutorul sequenzer-ului; programe specifice. 9. Virtual Music: Simularea la computer ca metod de cercetare a stilului unor opere de Bach, Mozart, Chopin, Brahms. Diferite metode de simulare. 10. Muzica privit din punct de vedere al conceperii ei. The Metalevel. Compoziia propriu zis cu ajutorul computerului. Artificial Intelligence. 11. Noiunea general de algoritm: Gndirea algoritmic. Limbaje de programare: C, C++, LISP, CLISP, Java. Muzica algoritmic: programele de compoziie Common Music, CSound. 12. Familiarizarea i lucrul cu programul Common Music:
Revista MUZICA Nr.1-2 / 2015 14 Exerciii simple de compoziie algoritmic. Exerciii de compoziie ntr-un stil modern (muzic serial, aleatoric, microtonal, spectral, minimal music). 13. Recompunerea unei piese de Steve Reich (Piano Phase) prin descifrarea i formularea ca algoritm a modului n care a fost gndit (Metalevel). 14. Compoziia algoritmic folosind metode probabilistice. Controlul haosului. Clever Random. Muzica de computer ca echilibru ntre entropie i redundan. Controlul gradului de entropie. Lanuri Markov etc. Dintre aceste puncte, tema 9 (Virtual Music) este prima dintre temele direct legate de intenia principal acestui seminar. n special n USA i Anglia s-au cristalizat unele ncercri de a nelege cum compuneau de ex. Bach, Mozart, Chopin, Brahms, Prokofieff i mai ales de a recompune muzica lor. Se pot distinge doua metodologii principale, foarte pe scurt astfel descrise: (1) se descompune muzica respectiv n uniti minime, se alctuiete un catalog din acestea, apoi se recupleaz aceste uniti aleator, conform punctelor de contact dintre ele, eventual se verific rezultatul n comparaie cu anumite modele considerate definitorii pentru stilul respectiv, eliminnd-se aberaiile; (2) se analizeaz complet, pas cu pas i la diferite nivele de adncime, modul n care muzica respectiv este construit, se definesc procedurile specifice pentru micro i macro form, apoi regulile gsite se aplic unui nou material, pentru a crea noi piese n stilul respectiv. Dac metoda (1) este evident mecanic i presupune o munc de pregtire imens din punct de vedere cantitativ n acest sens (de ex. catalogarea integral a materialului muzical al unor piese de Mozart) dar este n principiu simpl ca mod de funcionare i nu va genera, mai bine zis, re-genera, dect o muzic bazat exclusiv pe materialul preexistent, metoda (2) este mai puin mecanic i mult mai complex: aici trebuie descoperite nu mai puin dect secretele intime de ex. ale stilului mozartian; dar, odat acest lucru realizat, se pot crea
Revista MUZICA Nr.1-2 / 2015 15 teoretic la nesfrit piese cu totul noi n acest stil. n sensul primei metode, David Cope (vezi David Cope, Virtual Music. Computer Synthesis of Musical Style. Cambridge-Massachusetts, London 2001) propune o serie de rezultate mai mult dect ncurajatoare - un test realizat cu studeni din ultimii ani a universitii menionate mai sus a dovedit c unele Corale de Bach sau Mazurci de Chopin nu pot fi deosebite practic de exemplare corespunztoare, simulate de programul lucrat de el. n cazul celei de a doua metode, singura problema rmne aceea c - dac o muzica serial-dodecafonic poate fi simulat convingtor - nc nu s-a reuit o sintez satisfctoare a unui stil mai complex, cum ar fi cel mozartian. Cu toate acestea, acesta este drumul pe care l urmeaz nelegerea muzicii la nivelul nsi al conceperii ei (Metalevel), drum pe care l vom urma, cu toate dificultile lui. Dar nu pentru a sintetiza muzica unui stil preexistent, ci pentru a crea o muzic nou. Nucleul seminarului amintit mai sus (temele 10-14) l-a constituit iniierea n programul de compoziie Common Music (CM), program lucrat de Heinrich K. Taube (Research Board of University of Illinois) n limbajul de programare Clisp, una dintre cele mai rspndite versiuni ale limbajului clasic Lisp (Lisp este o prescurtare a expresiei list processing iar Clisp este prescurtarea expresiei common list processing). Inventat n 1958 de John McCarthy, Lisp este un limbaj de programare scris n Lisp. Aceasta nu este o tautologie, ci exprim o calitate special a acestui limbaj, care l deosebete de altele ca Algol, Fortran, Pascal, C, Java. Limbajul de programare Lisp nu face nici-o deosebire ntre date, liste de date i programele n care acestea sunt prelucrate; funciile, procedeele i rutinele definite de programator sunt integrate imediat n limbaj i pot fi folosite ca o prelungire a acestuia, limbajul fiind astfel capabil s nvee permanent. Poate c de aceea conteaz Lisp ca un limbaj optimal pentru proiecte de A.I. (artificial intelligence), cercetare, experimente, inclusiv pentru compoziie. Un limbaj de programare const dintr-un set de cuvinte cheie, proceduri, rutine etc. inclusiv reguli sintactice specifice,
Revista MUZICA Nr.1-2 / 2015 16 definite n prealabil dar extensibile, elemente care se constituie ntr-un sistem coerent ce permite prelucrarea unor date primitive. O reprezentare foarte simpl dar plastic l poate compara cu un sistem de tip input-work (black-box)-output: datele introduse se prelucreaz intern i se ofer un rezultat extern. Chiar dac nu tim exact sau nu putem controla dect parial, prin alegerea procedurilor convenabile, ceea ce se petrece n interiorul acestui black-box, intereseaz n special rezultatul. Un exemplu banal: introducem numerele 1 i 2, alegem procedura adunare i obinem rezultatul 3 desigur trivial, dar daca vom avea de adunat mii de numere a cte 50 de cifre fiecare vom descoperi repede avantajul acestei mod de lucru, avantaj care va deveni i mai evident dac nu va fi vorba de simple numere, ci de prelucrarea a ctorva milioane de date ce ar reprezenta, s zicem, relieful fundului unui ocean, n cutarea de zone petrolifere. Clisp (Common Lisp) - o versiune special a lui Lisp - este, la rndul lui, unul dintre primele limbaje care a adoptat noua tehnic a O.O.P. (object-oriented programming), tehnic ce permite aplicarea unei serii de proceduri considerate ca fiind cele mai avansate n domeniul respectiv, cum ar fi structurarea logic strict ierarhic a programului precum i o mare flexibilitate n refolosirea unor coduri de programare n cele mai diferite contexte. (Cteva noiuni-cheie n domeniul O.O.P.: abstraction, classe, prototype, encapsulation, interface, invariant, polymorphisme, identifier, heredity, instance, attribute, protected method, public method, function, constructor, destructor, parameter, argument). Un singur exemplu simplu, din viaa de toate zilele, cu folosirea unor termeni citai mai sus n traducere (marcai n cursiv), exemplu care dorete s sublinieze aici mai ales ierarhizarea noiunilor. Automobil ar fi numele unei clase de obiecte, dotat cu anumii invariani (caroserie, motor, roi, ui etc.); Mercedes este un anumit obiect n aceast clas, motenindu-i toate atributele ncapsulate, deci intangibile n