Saltar navegación

[•] Cómo está feito?

Imos centrarnos nas diferencias respecto aos patches da lección anterior.

Fíxate que a nosa entrada de audio [adc~] está conectada a un obxecto chamado [writesf~], que ven sendo algo como "write sound file" (escrebe arquivo de audio en inglés).

Este onxecto precisa que lle digamos o que ten que facer por pasos así que o primeiro que facemos é decirlle que cree o noso arquivo valeiro para gravar nel usando unha mensaxe; "open adcsf.wav" e que logo empece a gravar.

Se te fixas o botón de gravar, "bang", vai primeiro conectado a esta mensaxe e logo ao obxecto [delay] co argumento "100". Este oxecto o que fai é esperar o tempo que lle digamos no seu argumento, 100 milisegundos nesta ocasión, antes de enviar o "bang". Deste xeito pata cando se lanza a mensaxe "start" para que [writesf~] empece a gravar xa temos o arquivo no creado. Doutro xeito perderíamos parte do audio.

Fíxate que se queres poderías editar a mensaxe "open" e cambiar o nome do arquivo. Se non tamén podes optar por facelo a man cando o arquivo esté gravado. Lembra que se non o cambias e voltas a darlle a gravar sobreescribirás o arquivo inicial.

 

 

Pero tamén nos interesa que cando remate de gravar o abra automáticamente e o cargue na nosa matriz. Xa deberías saber facer esto se viches as explicacións das leccións anteriores, pero imos refrescar a memoria.

Cando lle damos ao botón de "stop" este activa esa mensaxe para que [writesf~] deixe de escreber no disco duro. A continuación temos unha mensaxe "read" seguida do nome do noso arquivo e do nome da nosa matriz.

Cando [soundfiler] receve esta información abre o arquivo, o coloca na matriz e, por un lado mando a través dun disparador [triger] (t) o número de samples para darlle os valores necesarios (f) ao "slider" que permita facer o "scratch", e polo outro manda un "bang" (b) que activa a mensaxe "normalize".

O resto xa o coñeces, certo?.

Se queres tamén podes botarlle un ollo a esta outra versión  que permite a /reproducción de audio externo gravado ao disco duro e que xa deberías ser capaz de comprender cómo funciona. 

 

Elementos utilizados

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

MENSAXES: normalizeresize, range, start, stop, range, e outras mensaxes variables.