10.07.2015 Views

Dragan Matić: Genetički algoritmi i muzika - Univerzitet u Novom Sadu

Dragan Matić: Genetički algoritmi i muzika - Univerzitet u Novom Sadu

Dragan Matić: Genetički algoritmi i muzika - Univerzitet u Novom Sadu

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Softverski paket JFugueJFugue je open source 49 Java API 50 za programiranje muzike. Kao osnovna funkcionalnost ovog rješenjaprepoznaje se mogudnost direktne reprodukcije zvuka na osnovu tekstualnog zapisa odgovarajudihtonova. U sintaksi, najjednostavniji način proizvodnje zvuka bi izgledao ovako:Player player = new Player();player.play("C D E F G A B");JFugue omogudava predstavljanje nota, akorada, instrumenata i čitavih kompozicija uz pomododgovarajudih „muzičkih stringova“. Muzika se može proizvoditi u realnom vremenu, ili snimati u MIDIzapis. Takođe, omoguden je sistem preuzimanja muzike iz postojedih MIDI zapisa. Omogudeno jeefikasno i funkcionalno upravljanje dijelovima kompozicije, kao što je promjena oktava, skala, trajanjatonova, zamjena nota, instrumenata, akorada i slično.Kako se navodi u specifikaciji, JFugue je pogodan za:evolucionarnu i uopšte algoritamsku muziku;muzičke editore, ritam ili bubanj mašine;džez improvizaciju, imitiranje kompozitora i vještačku inteligenciju u muzici;proceduralnu sintezu i virtuelne instrumente;dinamičko podešavanje muzike, adaptivnu muziku (za primjenu u video igricama), igrama kojezahtijevaju muzičko znanje i slično;eksperimentisanje u teoriji muzike i komponovanju.U osnovi, JFugue se oslanja na javine sposobnosti da pomodu MIDI protokola proizvodi muziku. JavaMIDI koristi Java Sound engine, koji opet koristi banku odgovarajudih zvukova da bi generisao zvukovepomodu sintisajzera.Neki primjeri upotrebe JFugue elemenata koji su korišteni u raduKlasa PlayerKlasa Player priprema odgovarajudi muzički zapis (u javinoj sintaksi) za neku od odgovarajudihinterpretacija (najčešde direktno u zvuk ili u MIDI zapis), te tako predstavlja posrednika između samogjavinog koda u programu i odgovarajudih javinih sintisajzera i MIDI kontrola.Najvažniji upotrebni metodi su oni koji omogudavaju sviranje (nekoliko preopteredenih metodaplay(...) 51 , te metodi koji omogudavaju učitavanje (loadMidi(...)) i snimanje (saveMidi(...)) MIDI zapisa.Primjer upotrebe klase Player [28]:49 Ustaljen naziv i u našem jeziku, vezuje se za sofverska rješenja „otvorenog koda“, sistema preuzimanja rješenja uizvornom obliku, pogodnom za modifikaciju, prilagođavanje i integraciju u druge sisteme50 Application Programming Interface (API) – skup različitih softverskih elemenata (funkcija, struktura, objekata,protokola...) koji djelimično ili potpuno omogudava postizanje funkcionalnosti razvijane aplikacije51 U sintaksi nazivMetoda(...) tačkice unutar zagrade označavaju da dati metod uzima argumente, koji se uobjašnjenju samog metoda ne navode.43

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!