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.
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ódulo | Función |
|---|---|
| Kick | Bombo, cabeza de la cadena rítmica |
| Rumble | Bordón grave alimentado desde el kick, filtrado y comprimido en duck contra él |
| Bassline | Línea de bajo con root, escala, modo de movimiento y forma de oscilador seleccionables (por ejemplo D#, Phrygian, Walking, Pulse-PWM) |
| Hats | Hi-hats |
| Clap | Palmada |
| Perc | Percusión auxiliar |
| Tom | Tom |
| Stab | Golpe armónico corto |
| Drone | Par de osciladores desafinados en continuo, con filtro lento |
| Air | Banda de ruido resonante para room tone y risers |
| Vox | Entrada 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 |
| Grain | Granulador |
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 suenan 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
- SSX360. RACK-02. https://ssx360.github.io/rack-02/rack.html
- MDN Web Docs. Web Audio API. Mozilla Foundation.
- MIDI Association. MIDI 1.0 Specification. MIDI Manufacturers Association.
Preguntas frecuentes
-
¿Cómo genera RACK-02 un loop de techno distinto en cada REROLL?
Cada paso del secuenciador de RACK-02 tiene un valor de PROB —la probabilidad de que ese paso suene en cada vuelta— y de ROTATE —el desplazamiento del patrón completo—. REROLL genera una semilla nueva que fija un espacio de posibilidades distinto para esos valores; MUTATE varía dentro de la semilla actual sin cambiar de raíz. El resultado no es aleatoriedad pura ni un patrón fijo repetido: es un sistema generativo reproducible por semilla, igual que describo en RACK-02: qué hay debajo de un generador algorítmico de techno en el navegador.
-
¿Necesito instalar algo para usar RACK-02?
No. RACK-02 se abre directamente en ssx360.github.io/rack-02/rack.html y todo el procesamiento de audio —síntesis, secuenciación, modulación— ocurre en el propio navegador con la Web Audio API, sin servidor detrás. El resultado se exporta con BOUNCE a audio (loop, stems o song/kit), con EXPORT MIDI a MIDI, o como patch en JSON con el estado completo del rack. Lo describo con más detalle en RACK-02: qué hay debajo de un generador algorítmico de techno en el navegador.
-
¿En qué se diferencia RACK-02 de openDAW?
Ambos corren íntegramente en el navegador con la Web Audio API y sin backend, pero apuntan a objetivos distintos. 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 inspirada en un rack Eurorack físico, secuenciación probabilística con semilla reproducible, modulación cruzada a frecuencia de audio y granular con feedback. Son dos casos del mismo territorio de investigación: cuánto de un estudio de producción cabe hoy en una pestaña del navegador. Lo desarrollo en RACK-02: qué hay debajo de un generador algorítmico de techno en el navegador.