Saltar navegación

[•] Cómo está feito?

O motor que permite reproducir o arquivo libremente cara adiante e cara atrás é en esencia o que utilizamos na lección anterior no patch de "scratch", polo que agora imos centrarnos no proceso de gravación dun son externo e no seu almcenamento nunha matriz.

O primeiro que facemos neste proceso é decirlle á matriz na que imos almacenar o son canto queremos que dure, xa que, tal e como o temos deseñado, en canto chegue ao seu límite deixará de gravar.

Esto o facemos cunha mensaxe inalámbrica dirixida á matriz. Creamos unha caixa de mensaxe e iniciamos cun ";" seguido do nome da matriz á que vai dirixida, a mensaxe "resize" e unha variable "$1". Lembra que nos queremos calcular a gravación en tempo pero o audio se grava en samples polo que temos que facer unha conversión multiplicando o tempo por 44.1 en referencia aos 44100 mostras por segundo.

 


Ademáis aproveitamos ese mesmo resultado para variar o tamaño do "slider" e que coincida coa posición do audio. Fíxate que, para evitar que Pure Data se volva tolo mentras decidimos a duración da gravación deixamos que primeiro se almacene como argumento numérico nun "float" (f) e, cando xa está decidido, dámoslle ao "bang" para que o envíe. Se o facemos directamente a matriz vai cambiando a medida que incrementamos o valor da caixa numérica e o máis probable é que se colgue.

Agora temos algo moi importante; o obxecto que permite que o noso ordenador abra as súas orellas, é decir, o seu micrófono e capte os sons externos.

Se o obxecto que permitía que o audio saise do noso ordenador chamábase [dac~], xa que convertía o son dixital en analóxico (digital to analogic converter), Cómo crees que se chamará o que fai o inverso, é decir, o que permite que o son analóxico se convirta en dixital?...

Efectivamente, [adc~] (analogic to digital converter). Pois basta con crear este obxecto e poñer a entrada de audio que vas utilizar. De feito podes non poñer nada e collerá a primeira e segunda por defecto por se queres gravar en estereo. No caso de que graves en mono collerá so a número un.

Por suposto tes que ter configurada a túa tarxeta de audio no menú /Media/Preferencias de audio seleccionando o "dispositivo de entrada.

E xa so queda que lle digas a Pure Data que escriba ese son na matriz co obxecto [tabwrite~] indicando o nome da matriz. Este obxecto empeza a escreber na nosa matriz cando lle envías un número "1", que é o mesmo que enviarlle un "bang". Pero tamén responde a outras mensaxes como "stop", se queremos que pare, ou un "start" que pode levar un argumento para que empece algo máis tarde.

E tamén podes botarlle un vistazo a cómo está feito o patch que permite /gravar e reproducir audio nunha matriz. Básicamente é o mesmo proceso pero o sistema de reproducción do son é algo diferente.

 

Elementos utilizados

OBXECTOS: [adc~], [tabwrite~], [pack], [delay], [readsf~], [line~], [dac~], [spigot], [toggle], [float], [range], [vline~], [line~], [* ], [array], [tabread4~], [tabplay~] e caixas numéricas.

MENSAXES: normalize, resize, set, range, stop, range, e outras mensaxes variables.