puredata
puredata és un entorn de programació gràfic en temps real per a la creació musical i multimèdia que permet el control de dades i senyals.
La idea original al desenvolupar puredata era fer un entorn en temps real per a la creació de música computacional com el Max, incloent formes de generar so a partir representacions gràfiques específiques.
Molts professionals utilitzen puredata creant eines personalitzades per la composició, el disseny de so, actuacions en directe i instalacions audiovisuals.
Quan treballem amb puredata estem tractant primordialment objectes gràfics i missatges. Aquesta parella són els fonaments de la programació en pd.
Quan connectem objectes i missatges estem creant un patx.
Els missatges flueixen a través de les connexións del patx.
Els objectes poden modificar el contingut o el camí dels missatges.
Els missatges sempre arriben a la part superior dels objectes com a entrades d’aquest i sempre surten per la part inferior, les sortides.
En l’entron de pd podem treballar de dues maneres. La primera és en “mode edició”, que és dóna quan creem objectes i les connexions entre ells. En el “mode d’execució” no es pot modificar la construcció del patx, però sí permet decidir enviar missatges a través dels objectes. Passem d’un mode a l’altre amb la combinació de les tecles Ctrl+E, varaint la forma del cursor del ratolí.
Els objectes es comporten com filtres, doncs poden modificar el curs dels missatges.
Visualment podem diferenciar dos tipus d’objectes, els “naturals” i els gràfics. El objectes gràfics (GUI) permeten interactuar amb el patx en temps d’execució. Alhora també permet modificar la construcció del patx creant objectes i reconnectant-los en temps d’execució.
El missatges permeten als objectes comunicar-se entre ells. També poden modificar el comportament d’un objecte de diferents maneres. Els misstges es poden composar per paraules, nombres i agrupacions d’aquests.
Totes les comandes que s’utilitzen a pd són objectes. Si no recordem la funcionalitat d’un objecte, sovint trobem un patx d’ajuda fent clic amb el botó dret i sel·leccionant l’ajuda.
Exemples d’objectes de puredata:
[print]
Té una entrada per on llegeix un missatge i l’escriu al terminal de pd.
[HSlider] / [VSlider]
Objecte gràfic que permet clicar i lliscar sobre la superfície horitzontal / vertical donant valors de posició del ratolí en un rang determinat a les seves propietats. Tambés es pot fixar aquest valor per l’entrada de l’objecte.
[Bang]
Objecte gràfic que al accionar-se envia un missatge amb la paraula “bang”.
[Toggle]
Objecte gràfic que al accionar-se envia la negació del seu estat anterior, un 1 o un 0.
[Number]
Objecte gràfic que permet lliscar amb el ratolí per modificar el valor numèric enter de sortida. Tambés es pot fixar aquest valor per l’entrada de l’objecte.
[metro]
Objecte que envia un bang en un cert interval de temps, definit en el pas de paràmetres.
[counter]
Objecte que compta el nombre d’accessos a partir d’una xifra inferior, fins la màxima. En una sortida apareixen el nombres computats i en l’altre quan s’ha arribat al límit.
[random]
Objecte que retorna un nombre entre 0 i l’argument donat al rebre un missatge de bang.
Segons el tipus de dades que manegen el objectes poden ser de control i de senyal. Els de control, per norma general tenen una taxa de mostrieg de 1000 cops per segon. EN canvi els objectes de senyal, que s’identifiquen per la terminació ~ tenen una taxa de mostreig de 44100 mostres per segon, tot i que es pot modificar aquest valor a la configuració de les opcions d’àudio.
[osc~]
Objecte que calcula una senyal sinusoidal a la freqüència que rep per la seva entrada esquerra
[dac~]
Objecte que envia la senyal que rep per les seves entrades als respectius canals de sortida de la targeta d’àudio
Per una millor optimització d’espai visual i per mantenir els patxos més ordenats podem crear crear subpatxos dins d’un patx. Els subpatxos reben el nom d’abstraccions.
A part dels objectes pròpis de pd (internals), existeix una gran col·lecció de externals, que són objectes de pd no incorporats al seu nucli, desenvolupats per col·laboradors. Aquests complementen les funcionalitats que manquen en la versió “pura” de pd per a determinades tasques.
És en aquest terreny on es troben la majoria d’objectes per tractar material audiovisual, pel control de dispositius, implementacions físiques, connexió amb bases de dades o xarxa. Els externals marquen la branca d’experimentació continua, intentant incorporar a tot tipus de facilitats i serveis a pd front les noves tecnologies.
Externals (plugins)
GEM - Graphics Environment for Multimedia
És una biblioteca d’externals de puredata que permet a l’usuari crear gràfics OpenGL en temps real. Conté una amplia varietat de formes geomètriques i d’objectes, que inclou polígons, iluminació, mapeig de textures, processat d’imatges i de vídeo. GEM no és un aplicació sinó una biblioteca que pd pot carregar en temps d’execució. Els principals tipus d’objectes que ofereix són:
- gestor de finestres [gemwin]
- marcadors d’inici de cadenes de fluxe a processar [gemhead]
- manipuladors que modifiquen colors, translació, rotació, escalat [color], [colorRGB], [translate], [translateXYZ], [rotate], [rotateXYZ], [scale], [scaleXYZ]
- formes geomètriques com ara quadrat, cercle, triangle, cub, esfera i con [square], [circle], [triangle], [cube], [sphere], [cone]
També ofereix objectes pel tractament d’imatges i de vídeo [pix_image], [pix_movie], [pix_film], [pix_video] de manera que permet la seva modificació aplicant filtres [pix_draw], [pix_texture], [pix_invert], [pix_add], [pix_max], [pix_convolve].
La iluminació és un factor important en la percepció d’una imatge. GEM disposa d’objectes per iluminar tant l’escena com un esapi local [world_light], [light].
També disposa d’altres objectes de propòsit general per facilitar el flux de dades entre el objectes característics com ara [counter], [average] i [change].
Pd i GEM junts permeten la sincronització exacta entre àudio i vídeo.
El patx frekmens utilitza els objectes bàsics de GEM. En una finestra es disposen 4 rectangles amb les propietats de color, translació, rotació, escalat i dimensions.
Un mateix vídeo es projecta en repòs sobre cada rectangle.
L’abstracció inaudio és un analitzador i selector de freqüències en rangs determinats de la captura de la senyal d’àudio.
Les sortides que s’obtenen a l’abstracció es poden enllaçar amb les propietas anteriors.
Un cas particular, per exemple, és la indicació del nombre de frame on s’ha de posicionar el vídeo per a cada rectangle. Si connectem les sortides de les freqüències de més greus a més agudes amb el nombre de frame del vídeo dels rectangles d’esquerra a dreta respectivament, i amb un vídeo addient com el de l’escala, s’emula un equalitzador típic de les cadenes de música.
PDP i PiDiP - Col·lecció d’externals pel treball multimèdia
Proporciona objectes sofisticats per tractament de so, vídeo, efectes, streaming, facilitant utilitats gràfiques com la play list o el grid entre moltes altres.
Implementa el protocol de missatges per la comunicació entre computadors OSC, sintetitzadors de so i altres dispositius multimèdia. Utilitza UDP
PMPD - Physical Modeling for puredata
Col·lecció d’objectes de pd que permeten la simulació en temps real, especialment en entrons físics. Permet la creaciño de sistemes dinàmics naturals.
Col·lecció d’objectes de pd que permeten el treball amb diferents dispositius com ara joystick, teclat,…
ANN -Artificial Neural Networks
Col·lecció d’objectes pel tractament de xarxes neuronals artificials.
El gran nombre d’objectes i l’estructura de pd faciliten el desenvolupament d’aplicacions que d’altra manera serien més laborioses. Es tracta d’una eina senzilla, amb bons fonaments on les interconnexions entre diferents objectes, el tractament dels missatges i la programació visual el converteixen en un entron agradable i precís.
Més informació:







