English

JEZICI

PRIZVUK: Glazbena informatika
Kultura pisanja umjetničkog audio softvera
Glazbalo uma 2.0


Jedno od osnovnih kvaliteta glazbe je da ona predstavlja jezik. Različit od svih drugih jezika, ali jezik. Inače niti skladanje niti improvizacija niti klapsko pjevanje niti burundijsko bubnjanje ni popodnevna raga ne bi imali smisla.

Skup naredbi za programiranje računala također može predstavljati jezik, iako različit od "prirodnih" jezika. "Biblioteke" osnovnih računalnih naredbi nekad su se koristile za izravno, za kreiranje jednostavnih zvukova. Kompleksniji zadaci kreiranja zvuka programiranjem iziskivali su kompleksnije alate, s naredbama strukturiranima u programske jezike. Zanimljivo je kako su pojedini računalni jezici, strukturirani strogo matematički bili podatni za pisanje programa za zvuk i glazbu.

Evolucijski korak naprijed doveo je do transformacije alata za stvaranje zvuka u alate za pravljenje alata za stvaranje zvuka. Tu su hijerarhija i prioritati izvedbe strukturirali i same alate i svrhu za koju su napisani i odabir jezika u kojima su napisani.

Softver koji nešto svira može biti napisan u raznim programskim jezicima, tekstovnim i vizualnim, jednostavnim ili složenim, proceduralnim ili objektnim. Ovisno o jeziku u kakvomm su pisani, softverski programi mogu biti kompilirani ili interpretirani.

U edukativnim okružjima, gdje nekomu treba pokazati princip kako nešto može raditi, ili ilustrirati neku znanstvenu tezu, interpretirani jezici imaju prednost, jer su jednostavni i zorni: učinak programiranja na rad stroja odmah se vidi.

U umjetnosti to nije dovoljno; ne radi se o znanju da bi se nešto moglo, već to nešto treba i napraviti. U zvukovnom softveru zadatak dodatno otežava činjenica da se intenzivan račun tvorbe zvuka događa u vremenu, rezultat treba biti glazbeno prohvatljiv: zazvučati sigurno i uvjerljivo. Uvjerljivost ima svoju cijenu, a ta se iskazuje kroz pripremu, obazriv odabir građe i metoda te uvećan opseg posla.

Kompilirani jezici imaju prednost što su programi u njima pisani izvedbeno za nekoliko redova veličine brži od interpretiranih, imaju snagu industrijskih alata, a neki su od tih jezika u dovoljno masovnoj i dugotrajnoj uporabi, pa se o njima dosta zna i mnoštvo kompetentnih ljudi stalno radi na njihovom usavršavanju. Stoga kompilirani jezici imaju prednost u pisanju zvukovnih programa tamo gdje je vrijeme izvođanja kritično. Uz to je u takvim jezicima moguće pisati čitava programska okružja.

Tamo gdje je ljudska interakcija i sučelje važnije, interpretirani jezici pokazuju jasnu prednost.Mnoga suvremena prograamska okružja nastoje objediniti prednosti obaju.

Od svih živih računalnih jezika za potrebe radionica koje se bave procesom računalnog generiranja zvuka činio sa najprikladnijim jezik C, zato što je zreo, sveprisutan, malen i učinkovit. Prokušan u smislu tradicije i inovacije, snage i zahtjevnosti, robustnosti i sofisticiranosti, pouzdanosti, nudi mogućnost upravljanja programima u stvarnom vremenu. Najveća većina postojećih zvukovno glazbenih programa, pa i čitavih računalnih sistema napisana je u jeziku C. Visoki, specijalizirano glazbeni jezici, kao RTcmix ili Csound u svojoj sintaksi podsjećaju na C i vuku korijene iz njega. Također će se koristiti primjeri pisani u grafičkim programskim okružjima poput PD i MAX.

Primjeri kodiranja - Tekstovni jezici : C i C++:

C i C++


Primjeri kodiranja - Tekstovni jezik vrlo visoke razine : RTcmix:

RTcmix URL
RTcmix povijesna stranica, Columbia University


Primjeri kodiranja - Grafički jezici : Pd i MAX/MSP:

MAX
PD