PRA 2. Disseny i implantació d’aplicacions d’àudio

No es pot negar que el llenguatge de programació Processing de cada vegada té un nombre d’usuaris més elevat i que es tracta, sense dubtes, d’un entorn molt adequat per aprendre programació i aplicar de forma ràpida els coneixements relacionats amb el món del multimèdia.

Tal volta, no estaria gens malament que hi hagués alguna assignatura on també es donés C++ i OpenFrameworks per donar una oportunitat als estudiants d’aprendre programació de més baix nivell (que paradoxalment és la que requereix un nivell més alt de coneixements). Però tenint en compte el grau en Multimèdia de la UOC no té un caire excessivament tècnic, Processing ja va be i resulta prou potent per desenvolupar aplicacions multiplataforma sense massa complicacions.

Encara que la darrera versió de Processing ja incorpora una llibreria de so i Minim ha deixat de ser la llibreria per defecte d’aquest llenguatge, la funcionalitat de la segona és encara major i també es troba millor documentada. Alguns problemes bàsics es podrien resoldre amb la nova llibreria però així i tot crec encertada la decisió de fer servir Minim per la realització d’aquesta pràctica.

El primer exercici a presentar ens demana programar una aplicació que implementi la síntesi subtractiva. Un oscil·lador amb un dent de serra i un filtre controlat amb el ratolí és tot el que cal per realitzar-lo correctament. Em va sorprendre la baixa qualitat del so resultant degut al “aliasing”, i vaig decidir investigar la manera d’eliminar-la presentant una resolució alternativa de l’exercici fent servir la forma d’ona Waves.sawh() en comptes de Waves.SAW.

El segon exercici ens demana la síntesi d’una ona triangular fent servir síntesi additiva. Cal seguir una determinada relació de freqüències i amplituds per crear una ona triangular però el que l’enunciat no indica és que també s’ha de tenir en compte la fase de determinats harmònics si volem visualitzar la forma d’ona correctament. També vaig indicar al document explicatiu la possibilitat de confeccionar una versió enormement simplificada de l’exercici fent servir formes d’ona personalitzades que calculen la forma d’ona resultant indicant només el nombre d’harmònics a fer servir en la seva definició: myWave.setWaveform(Waves.triangleh(keyCode-46))

qaa1flangerdiag

El tercer exercici consisteix en aplicar dos efectes de so, Flanger i Balance, sobre un arxiu de so. A més del control amb el teclat vaig trobar interessant implementar una GUI que proporcionés feedback visual sobre els paràmetres dels efectes.

Cal destacar que, amb els coneixements adquirits en aquesta assignatura, vaig confeccionar un sintetizador amb oscil·ladors de quadratura que vaig fer servir com part de la Pràctica Final de l’assignatura Disseny d’Interacció.

Aquest és el resultat de la feina presentada:

pra2_pere_amengual

zip amb els sketches de Processing

Leave a Reply