Saltar navegación

[•] Cómo está feito?

Subpatches

Neste patch non fixemos unha versión do seu interior xa que está formado por diferentes módulos. A constinuación explicámoste cómo funciona. Se queres ver o seu interior podes situarte sobre cada un dos módulos, facer click co botón dereito e escoller a opción "abrir". Ahí terás todas as conexións e poderás ver cómo se conectan uns módulos con outros.

 

Estos módulos se coñecen como subpatches e son como contenedores de patches. Se queres crear un subpatch só tes que crear un obxecto e poñer "pd" deixar un espacio e escribir o nome que máis te goste. Esto crea unha nova ventana que permite crear un obxecto dentro.

 

 

 

Para crear entras e saidas só tes que crear obxectos chamados [inlet] e [outlet] se van a transmitir datos ou [inlet~] ou [outlet~] se teñen que transmitir audio.

 

Por último se fas click na ventá do teu subpach e escolles opcións podes configuralo para que cando o pecehes mostre algún dos obxectos visuáis que ten dentro.

 

 

 

Así é como está montado este sintetizador e para facilitar a conexión entre uns módulos e outros podes utilizar os obxectos inalámbricos [send] e [receive] ou [send~] ou [receive~] dependendo do tipo de sinal coa que traballes.

A este patch fixémoslle unhas pequenas modificaciones para que sexa máis versátil.

Dentro da Envelope creamos un [bang] que permite volver á configuración inicial enviando unha mensaxe coa posición original dos puntos e un de 1000ms á caixa de duración.

 


O control que temos abaixo está creado co obxecto [grid] que nos da a posición do rato en coordenadas X/Y cando nos movemos sobre él. A posición X envía a frecuencia (altura) e a Y o volume. Para activalo ou desactivado engadimos un [spigot] antes de que envíe os datos aos nosos osciladores. [spigot] funciona como unha porta que se abre ou pecha dependendo de se lle enviamos un 1 ou un 0 á súa entrada (inlet) dereita.

Neste caso o controlamos cun [toggle] ou interruptor que está no menú Poner/ToggleCando está encendido envía 1 e cando facemos click de novo envía 0.

Logo, para que se xeneren notas cando facemos click usamos o obxecto [MouseState] que recolle a información do rato. Este obxecto necesita que lle digamos que se encenda e para eso é preciso enviarlle a mensaxe espcífica "poll". Ainda que pode recoller toda a información do rato aquí só o utilizaremos para detectar cando está pulsado e cando non. Tamén o activamos e desactivamos cun "spigot" e usamos outro obxecto chamado [select]. Así cando pulsamos o botón do rato enviamos 1 e cando o soltamos 0 e [select] encárgase de seleccionar unha ou outra opción.

 

 

No noso oscilador so cambiamos algo na zona na que se controla o volumen. Fíxate que a nosa barra de volumen de cor verte agora ten conectado
un "receive volumen" que ven do sistema de control, así envía números entre 0 e 1 dependendo de se o rato está máis arriba ou máis abaixo no "grid" azul.

 

 

Este está conectado a un [line] co argumento "0 50". Engadimos estos argumentos para facer máis suave a variación de números que se actualiza cada 50 millisegundos. Así a cada número que entra no "line" se chega paulatinamente en 50 milisegundos e non de golpe co que evitamos saltos e clicks.


Pero antes deste volumen temos o comportamento da envolvente que entra polo [receive envolvente] que va de novo a un [line]. Este vai a un [spigot] que se abre cando facemos click e se pecha cando soltamos o botón do rato (lembra que esto ven do control de antes cos [select] 0 e 1). Finalmete e o pasamos por un filtro chamado [lop~] que elimina frecuencias moi baixas (neste caso por debaixo de 10 Hz) que as veces producen ruido cando movemos o rato (os filtros xa os veremos en profundidade cando falemos da síntese sustrativa).

Este patch tamén está preparado para conectar vía MIDI.

Elementos utilizados

OBXECTOS: [bang], [grid], [line~], [line], [lop~], [MouseState], [receive], [select], [send], [spigot], [toggle], [*~], [-~] e caixas numéricas.

MENSAXES: usamos mensaxes numéricos e usamos variables "$1".