Laboratorio de Síntesis con SC
DERIVA enfoca ahora la batería como problema de escalas
Esta sexta entrada toma el set mínimo de bd, sn y hh y lo desplaza por cuatro capas distintas: el golpe, el timbre, el espacio y el tiempo. La pregunta ya no es cómo programar la batería, sino qué escala conviene tocar para volverla propia.
Este cuaderno se concentra en una decisión compositiva precisa: cómo transformar una batería sintética sin abandonar el mismo set de tres elementos. La respuesta se organiza en cuatro vías, cada una ligada a una escala temporal distinta en el sentido de Roads. No todas cambian el sonido de la misma forma; algunas cambian el significado del patrón más que su materia.
Cuatro vías para
transformar la batería
El mismo set de tres elementos, intervenido en cuatro capas distintas — del golpe individual a la forma. Cada vía toca una escala temporal diferente.
Mapa · qué capa toca cada vía
cuanto más a la derecha, más estructural el cambio · escalas temporales de Roads
Escala del objeto sonoro
Variación por parámetro
No tocas el synth: tocas cómo lo disparas. Cada golpe recibe valores ligeramente distintos en amplitud, paneo, afinación o cierre. Es el gesto más barato —una línea— y el que separa una caja de ritmos de un percusionista: ningún golpe natural es idéntico al anterior.
// amplitud, cierre y paneo variando por evento
Synth(\hh, [\amp, rrand(0.2, 0.35),
\rel, [0.04, 0.04, 0.04, 0.3].choose,
\pan, rrand(-0.3, 0.3)]);
Continuo tono ↔ ruido
Transformación tímbrica
Mutas el instrumento mismo, llevándolo por el eje de Roads. Cada elemento tiene su recorrido: el bombo de ruidoso (más click) a tonal (cola larga, barrido suave); la caja de tonal (parciales arriba) a ruido puro (solo el BPF); el charles abriendo o cerrando su filtro. Los mismos tres synths cambian de carácter sin dejar de ser ellos.
// caja deslizándose hacia el ruido: matar los parciales tonales
SynthDef(\sn, { |out=0, amp=0.5, tone=1|
var aenv = EnvGen.kr(Env.perc(0.001, 0.16), doneAction:2);
var noise = BPF.ar(WhiteNoise.ar, 1850, 0.7);
var t = ((SinOsc.ar(185)*0.5)+(SinOsc.ar(330)*0.3)) * tone;
Out.ar(out, Pan2.ar((noise + t) * aenv * amp, 0));
}).add;
Contexto · procesado
El espacio que los rodea
No tocas los synths: cambias el espacio en que viven. El send de reverb que montaste es la palanca —subir el t60 vuelve la percusión cavernosa—, pero también saturación, bitcrush, delay sincronizado al tempo, o la degradación tipo cassette (LPF + saturación + hiss) de tu estética Huerco S. El mismo patrón suena radicalmente distinto según el cuarto.
// un gesto en vivo: agrandar la sala de TODA la percusión a la vez
~verb.set(\t60, 8);
~verb.set(\size, 2.5);
// o ensuciar por insert un bus de percusión (degradación cassette)
~drumFx = { |in| (in * 1.5).tanh }
Meso-escala · forma
Reorganización temporal
La más profunda: no cambias qué suena sino cuándo y con qué densidad. Subir los niveles del L-System densifica; cambiar las reglas cambia el carácter; el swing humaniza; y la “lente de pulso” —entrar el hi-hat tarde para recontextualizar lo anterior— es transformación de la forma. Aquí la batería no cambia de timbre: cambia de significado según cómo la colocas en el tiempo.
// densificar: subir las iteraciones del sistema de reescritura
q = {
var rules = ( \k:[\k,\r,\s,\r], \s:[\s,\r,\k,\r], \r:[\r] );
var seq = [\k];
4.do { seq = seq.collect({ |x| rules.atFail(x,{[x]}) }).flat };
seq = seq ++ Array.fill((16 - (seq.size % 16)) % 16, \r);
seq
}.value;
// la "lente de pulso": el hh en 1 y 3 recontextualiza lo flotante
Tdef(\charles, { loop { Synth(\hh); 2.wait } }).play(t, quant:4);