Tever
ES

Ensayo · Informática Musical

RACK-02: qué hay debajo del generador de techno

Auditoría técnica de RACK-02: cómo una semilla y reglas de probabilidad generan loops de techno reproducibles con un motor de síntesis modular en el navegador.

Interfaz de RACK-02 sobre fondo oscuro con overlays técnicos en rojo —forma de onda, espectro de frecuencias y pseudocódigo de generación por probabilidad—, mostrando los módulos Clock, Scenes, Perform, Kick, Rumble, Bassline, Hats y Clap del rack modular

Llevo un rato dándole a REROLL en RACK-02 y cada semilla nueva suena a techno de verdad —no a ruido aleatorio con bombo debajo—. Eso, en una pestaña del navegador, sin instalar nada, es lo que me ha hecho sentarme a escribir esto. No es una reseña de producto. Es una pequeña auditoría: qué hay debajo de una herramienta así, con qué piezas se podría construir algo parecido, y por qué encaja con lo que ya vengo explorando en este cuaderno sobre motores de audio que viven enteros en el navegador.

Es obra de un desarrollador que se identifica como SSX360. No sé quién es más allá de ese alias, y no voy a especular —lo trato como lo que es: un nick, no una biografía.

Qué es RACK-02

RACK-02 es un generador algorítmico de loops de techno construido con la Web Audio API, sin backend: todo el procesamiento de señal ocurre en el propio navegador. Tiene ficha propia en /concepto/rack-02.

Su decisión de diseño más visible es que imita, a propósito, un rack modular Eurorack físico. Los paneles se miden en HP (Horizontal Pitch), la unidad real con la que se mide el ancho de un módulo Eurorack en el mundo físico. No es solo estética: cada bloque de la interfaz —Kick, Bassline, Hats, el PATCHBAY de modulación— ocupa su hueco en el rack como ocuparía espacio un módulo real atornillado a una caja. Quien haya cableado un sistema modular reconoce el vocabulario al instante; quien no, lo aprende viendo cómo se conectan las piezas en pantalla.

Control: arrancar, revolver, mutar

Los controles principales son pocos y directos:

  • RUN arranca la reproducción.
  • REROLL genera una semilla nueva: el loop cambia por completo.
  • MUTATE varía sobre la semilla actual, sin cambiar de raíz.
  • SCENES ofrece cuatro slots —A, B, C, D— encadenables con CHAIN, cada uno con su propia longitud y su propio modo de morph entre escenas.
  • PERFORM añade pads pensados para tocar en vivo: Fill, Drop, Stutter, Freeze.

Esa combinación —REROLL para explorar, MUTATE para refinar, SCENES para estructurar una progresión— es, en esencia, un flujo de composición asistida por reglas: no compones nota a nota, compones el espacio de posibilidades del que sale el resultado.

Los módulos: una cadena de síntesis techno completa

RACK-02 no es solo un secuenciador con una caja de ritmos detrás. Trae una cadena de síntesis con roles bien definidos, todos observables en la propia interfaz:

MóduloFunción
KickBombo, cabeza de la cadena rítmica
RumbleBordón grave alimentado desde el kick, filtrado y comprimido en duck contra él
BasslineLínea de bajo con root, escala, modo de movimiento y forma de oscilador seleccionables (por ejemplo D#, Phrygian, Walking, Pulse-PWM)
HatsHi-hats
ClapPalmada
PercPercusión auxiliar
TomTom
StabGolpe armónico corto
DronePar de osciladores desafinados en continuo, con filtro lento
AirBanda de ruido resonante para room tone y risers
VoxEntrada de voz en directo —cantar, hablar o enviar una línea de audio— procesada por la misma cadena de plate reverb, delay y duck que el resto de módulos, no como canal aparte
GrainGranulador

Ese último dato sobre Vox me parece revelador del enfoque del proyecto: no trata la voz como un añadido especial con su propia cadena de efectos, la integra en el mismo bus de procesamiento que ya usan Kick, Clap o Stab. Es una decisión de arquitectura, no un detalle cosmético.

Secuenciación probabilística, no patrones fijos

Aquí está el núcleo técnico del post. Un secuenciador de pasos clásico es una rejilla on/off: el paso suena o no suena, siempre igual, vuelta tras vuelta. RACK-02 no funciona así. Cada paso tiene dos parámetros propios:

  • PROB: probabilidad de disparo. Un paso con PROB al 60% suena aproximadamente seis de cada diez vueltas, no todas.
  • ROTATE: desplazamiento del patrón completo, que reordena qué paso cae dónde sin tocar los valores de PROB de cada uno.

El resultado es un sistema generativo con dos capas: la semilla fija el espacio de posibilidades —qué escala, qué densidad, qué relación entre módulos— y la probabilidad decide, dentro de ese espacio, qué suena en cada vuelta concreta. Por eso REROLL no suena a ruido: cambia la semilla, no las reglas. Y por eso dos loops de la misma semilla no sue­nan exactamente igual nota por nota, pero sí suenan reconociblemente del mismo linaje.

Esta misma idea —reglas + semilla en vez de aleatoriedad pura o secuencia fija— es trasladable fuera del navegador. Un generador equivalente en Python con random.seed() fijo y una tabla de probabilidad por paso produciría el mismo tipo de comportamiento: reproducible si se fija la semilla, variado si no. La pieza conceptual es la misma que sostiene cualquier sistema de composición algorítmica basado en reglas: no se genera música al azar, se genera dentro de restricciones que ya llevan intención musical incorporada.

PATCHBAY y CROSS-MOD: modulación de verdad

Lo siguiente que separa a RACK-02 de un simple paso a paso es el PATCHBAY: una matriz de modulación por CV con cuatro LFOs —formas rampa, cuadrada, sample & hold y sierra— que se enrutan a parámetros concretos de otros módulos. En mis pruebas he visto rutas como hat.tone, vox.ringhz, fx.plate o perc.tone, cada una con su propia cantidad y su propio periodo medido en bares (4, 8 o 16). Es exactamente el vocabulario de un sistema modular físico —salida de CV de un módulo, entrada de CV de otro— implementado en software, sin cables de por medio.

CROSS-MOD va un paso más allá: modulación cruzada a frecuencia de audio, no a la velocidad lenta de un LFO. La ruta que he observado es «Bass pitch (FM)», con controles de Depth, Ratio, Fine y forma de onda (Shape). Esto es FM real —modulación de frecuencia clásica, la misma familia técnica que hizo históricamente el DX7—, aplicada aquí sobre el propio bajo del rack.

GRAIN: granular con feedback sobre la propia salida

El módulo GRAIN resamplea la salida del propio rack en bucle de feedback. La propia interfaz lo describe así: «grains are cut from the rack’s own output a moment ago, then thrown back pitched and scattered». Es síntesis granular aplicada no sobre una muestra externa cargada por el usuario, sino sobre lo que el rack está sonando en ese mismo instante, trocizado, repitchado y disperso de vuelta a la mezcla.

Render determinista y reproducible

Cada bounce de RACK-02 lleva una semilla visible —he visto valores como 84149— y es determinista: la misma semilla produce siempre el mismo resultado. La propia herramienta lo declara sin rodeos: «every bounce here is seeded and reproducible; verification is what we do for critical systems». Es una frase que, viniendo de mi trabajo diario con sistemas que necesito poder verificar y reproducir, valoro más de lo que valoraría un efecto sonoro nuevo. La generación algorítmica sin semilla reproducible es difícil de depurar, difícil de compartir y difícil de citar. Con semilla, un loop concreto es un dato, no una anécdota.

AUTOMATION: capturar el gesto, no solo programarlo

RACK-02 permite armar una automatización y mover cualquier mando mientras el rack suena: «Arm, then move any knob while the rack runs. The move is written to a 4-bar lane, loops from then on, and is baked into every bounce». Es captura de gesto en tiempo real sobre una lane de cuatro compases, no automatización dibujada punto a punto en una rejilla. La diferencia importa: un gesto capturado en vivo tiene la irregularidad humana que una curva dibujada a mano rara vez reproduce igual de bien.

Exportación: audio, MIDI y estado

RACK-02 no se queda encerrado en la pestaña del navegador. Exporta:

  • Audio, vía BOUNCE, en formato loop, stems o song/kit completo.
  • MIDI, con EXPORT MIDI, lo que permite llevar los patrones generados a cualquier DAW o instrumento compatible con el protocolo estándar de intercambio de eventos musicales.
  • Patches en JSON, con PATCH state: el estado completo del rack serializado, reproducible y versionable como cualquier otro archivo de texto.

El MIXER, con mute y solo por canal —Kick, Rumble, Clap, Hats, Perc, Tom, Bass, Stab y el resto—, cierra el flujo de trabajo con el control de mezcla que se espera de cualquier motor de audio serio, no solo de un juguete generativo.

La misma línea que openDAW, un paso más allá

Ya escribí sobre openDAW: un DAW de código abierto que vive en el navegador, un DAW completo construido sobre la Web Audio API, sin backend, sin registro. RACK-02 pertenece al mismo territorio de investigación que aquel post: qué es posible construir con audio en tiempo real usando solo lo que el navegador ya ofrece de serie, sin servidor detrás.

La diferencia es de enfoque, no de territorio. openDAW replica la arquitectura de un DAW generalista: pistas, plugins, mezcla. RACK-02 va más estrecho y más profundo en una dirección concreta —síntesis modular tipo Eurorack, generación algorítmica con semilla, modulación cruzada a frecuencia de audio, granular con feedback sobre la propia salida—, todo ello con el mismo motor de base: la Web Audio API corriendo íntegramente en el cliente. Dos casos distintos de la misma pregunta: cuánto de un estudio de producción profesional cabe hoy en una pestaña del navegador, sin instalar nada.

Bibliografía

Preguntas frecuentes