TETRAWAVE//STEMSMAG V1
← Volver al instrumento
Manual & Especificaciones

Cómo está armado TetraWave, por dentro y por fuera.

Esta guía explica la arquitectura del motor de audio, cómo funcionan los osciladores de cada voz, qué hace cada módulo de los tres instrumentos, cómo sincronizar varias pestañas entre sí y cómo sacarles el jugo a todos los controles. Pensala como el manual que vendría en la caja, si TetraWave viniera en una caja.

01 — Panorama general

Qué es TetraWave

TetraWave es un instrumento virtual que corre enteramente en tu navegador, sin instalar nada. Combina dos sintetizadores poly-paraphonic (TETRA 1 y TETRA 2) y una caja de ritmos (PULSE-9), pensados para sonar juntos: los tres comparten un mismo reloj de audio y un mismo sistema de páginas, así que podés armar una base rítmica en Pulse-9 y tocar o secuenciar melodías por encima con los dos Tetra.

Nació como una herramienta educativa de StemsMag para aprender síntesis sustractiva de forma práctica: cada perilla que movés tiene un efecto audible inmediato, y la cadena de señal completa está siempre a la vista.

02 — Motor de audio

Arquitectura

Todo el sonido se genera con la Web Audio API nativa del navegador: no hay samples de por medio en los sintetizadores (sí en algunas voces de percusión de Pulse-9, sintetizadas también por código). Cada instrumento arma su propia cadena de nodos de audio en tiempo real:

  • Osciladores → hasta 3 osciladores por voz más una fuente de ruido, con forma de onda, rango de octava, detune y unísono configurables.
  • Filtro → un filtro biquad (lowpass / highpass / bandpass) con resonancia (Q), seguimiento de teclado y modulación por envolvente propia y por LFO.
  • Envolventes → ADSR de amplitud y ADS de filtro, cada una con su propio gráfico en pantalla.
  • Modulación → un LFO compartido enrutable a distintos destinos (pitch, filtro, PWM).
  • Efectos → chorus, phaser, distorsión, auto-wah, delay y reverb (convolución), en cadena antes del mixer.
  • Mixer maestro → ecualizador de 3 bandas y compresor final antes de la salida.
Por qué importa: como es una cadena de nodos real (no un sample reproducido), todo lo que cambiés — hasta a mitad de una nota sostenida — se escucha al instante.
02 — Motor de audio

Cómo funcionan los tres osciladores

Cada Tetra es un sintetizador subtractivo: en vez de partir de un sonido grabado, arranca de una forma de onda simple y muy rica en armónicos, y después la "esculpe" quitándole frecuencias con un filtro. Por voz, hay 3 osciladores sonoros (OSC1, OSC2, OSC3) más un cuarto oscilador de baja frecuencia dedicado a modulación (OSC4 / LFO). Entender qué hace cada uno ayuda a programar sonidos con intención en vez de a los tumbos.

Formas de onda: de dónde salen los armónicos

Cada oscilador puede tomar una de estas formas, generadas en tiempo real por la OscillatorNode del navegador (o por una PeriodicWave propia para las formas que no son nativas):

FormaContenido armónicoCarácter
SineSolo la fundamental, sin armónicosPura, suave, ideal para subs y para el propio LFO
TriangleArmónicos impares, caída rápida (1/n²)Dulce, hueca, buena base para flautas y pads simples
SawtoothTodos los armónicos (pares e impares), caída lenta (1/n)Brillante y densa — la base clásica de bajos y leads
SquareSolo armónicos impares, caída lenta (1/n)Hueca pero más presente que la triangular; base del PWM
Pulse 25 / Pulse 12Cuadrada asimétrica (ancho de pulso fijo al 25% / 12%)Más nasal y delgada cuanto más angosto el pulso
Warm SqrCuadrada con armónicos superiores atenuados a manoVersión "limada", menos áspera en agudos

Las tres últimas (Pulse 25, Pulse 12, Warm Sqr) no existen como tipo nativo del navegador: TetraWave las arma construyendo su propia PeriodicWave a partir de coeficientes de Fourier (arrays de senos/cosenos), una por forma y por AudioContext, para no tener que recalcularla en cada nota.

Detune, rango de octava y PWM

  • Rango — multiplica la frecuencia base de la voz por una potencia de 2 (una octava completa arriba o abajo), para que cada oscilador ocupe un registro distinto (grave / medio / agudo) dentro de la misma nota.
  • Detune (FREQ) — desafina el oscilador en cents (1/100 de semitono, hasta ±1200c) respecto a la nota tocada. Un OSC2 desafinado unos cents contra el OSC1 es la manera clásica de engordar un sonido sin llegar al unísono.
  • PWM (Pulse Width Modulation) — cuando un oscilador usa forma square, el LFO compartido puede modular en tiempo real el ancho de pulso reconstruyendo su PeriodicWave muestra a muestra a partir de la fase del LFO. Esto barre el timbre entre cuadrada simétrica y pulso angosto, generando ese movimiento característico de "respiración" tímbrica.

Unísono: apilar voces por nota

El OSC1 puede desdoblarse en hasta 6 voces por nota (parámetro UNISON), cada una desafinada en pasos de 9 cents respecto a la anterior y con su ganancia compensada (1/√n) para que el volumen total no se dispare al sumar voces. El resultado es el clásico "supersaw": más ancho, más grueso, con un leve batido (beating) entre las voces que da sensación de movimiento sin usar ningún efecto.

El cuarto oscilador: LFO compartido

OSC4 no suena directo — es una fuente de modulación de baja frecuencia con su propia forma de onda (sine / triangle / sawtooth / square) y su propio RATE, enrutable a pitch (vibrato), filtro (wah rítmico) o PWM (ver arriba). El modo LFO Retrig decide si arranca de fase 0 en cada nota nueva (para modulaciones sincronizadas y repetibles) o si sigue corriendo libre por detrás de todo el teclado (para movimiento más orgánico y menos predecible).

De ahí al filtro

Las señales de los tres osciladores (más ruido, si está activo) se suman y pasan por un único filtro biquad (lowpass, highpass o bandpass) con resonancia (Q) ajustable entre 0.1 y 20 — con topes más conservadores según la categoría del preset, para evitar que la auto-oscilación en Q alto sature el bus. El filtro tiene seguimiento de teclado (más brillo en notas agudas) y dos moduladores propios: una envolvente ADS dedicada y el LFO compartido. Ahí es donde la mezcla "cruda" de armónicos de los osciladores se convierte en el timbre final.

En una frase: los osciladores deciden cuántos armónicos hay y el filtro decide cuáles sobreviven — esa es toda la síntesis sustractiva.
03 — Los instrumentos

Tetra 1 / Tetra 2

Dos instancias idénticas y completamente independientes del mismo sintetizador, para poder capear dos partes a la vez (por ejemplo, un bajo en Tetra 1 y un pad en Tetra 2).

MóduloDetalle
Osciladores3 osc + ruido, waveforms clásicas, rango de octava, unísono con detune, PWM real vía PeriodicWave
FiltroLowpass / Highpass / Bandpass, resonancia 0.1–20 (con topes por categoría de preset para evitar auto-oscilación), seguimiento de teclado
EnvolventesAmp (A/D/S/R) y Filtro (A/D/S), con gráfico ADSR en vivo
ModulaciónLFO compartido → pitch / filtro / PWM
EfectosChorus, Phaser, Distorsión, Auto-Wah, Delay, Reverb (convolución)
PolifoníaModos Poly / Mono / Unísono, con portamento (glide) y legato
ArpegiadorPatrones Up / Down / Up-Down y variantes, con RATE propio
Secuenciador16 pasos por página × 8 páginas, TIE, acordes, swing, salto de octava en vivo, más de 40 presets de patrón (24 de ellos de Arpegios)
Presets de sonidoMás de 1700 patches de fábrica, organizados por categoría (Bass, Lead, Pad, Pluck, FX, etc.)
03 — Los instrumentos

Pulse-9

La caja de ritmos: 8 voces de percusión sintetizadas, cada una con su propio patrón de 16 pasos por página.

Kick / Snare / Clap

Núcleo del groove: bombo con pitch envelope, caja con cuerpo + ruido, clap con múltiples ráfagas de ruido.

Hi-hats (cerrado/abierto)

Banco de osciladores metálicos filtrados en agudos, con decaimiento independiente por tipo.

Low Tom / Shaker

Tom grave con pitch envelope; shaker de ruido filtrado, sin componente metálico, para percusión suelta.

Wood Clack

"Tock" corto tipo clave/woodblock: tono cuadrado con caída rápida de pitch más un golpe de ruido resonante.

Controles de performance

  • Roll — mantenido presionado, hace stutter de todo el patrón a 4× velocidad.
  • Break — mantenido presionado, silencia bombo/caja/clap/tom y deja solo hats y percusión (breakdown).
  • Retrigger — mantenido presionado, repite el paso actual acelerando progresivamente (build-up).
  • Fill In — al soltar, inserta un relleno generado de 2, 4 u 8 compases y vuelve sola al patrón normal.
  • Swing / Shuffle / Nudge — tres perillas de humanización: swing retrasa el contratiempo, shuffle acentúa el "e" de cada negra, y Nudge agrega variación aleatoria sutil para que el ritmo no suene robótico.
04 — Flujo de trabajo

Páginas & transporte maestro

Los tres instrumentos comparten un sistema de 8 páginas fijas, presentado como una botonera estilo launcher: cada pad representa un compás. Los pads se encienden solos en cuanto tienen contenido cargado (en cualquiera de los tres motores) y se apagan si están vacíos — así siempre ves de un vistazo qué páginas tienen algo armado.

Pulse-9 es el maestro del transporte: su botón de Play arranca (y su Stop detiene) los tres motores a la vez, todos en fase sobre el mismo reloj de audio. Cada Tetra conserva su propio botón de Play/Stop para ensayar una parte a solas, pero apenas tocás Play en Pulse-9, todo se realinea al maestro.

04 — Flujo de trabajo

Sincronización entre pestañas

TetraWave puede sincronizarse con otras pestañas o ventanas del mismo instrumento abiertas en tu navegador, sin pasar por ningún servidor. La técnica usada es BroadcastChannel, una API nativa del navegador para mensajes entre contextos del mismo origen — no viaja nada por internet ni se guarda en ningún lado.

Qué se sincroniza

  • Transporte (Play / Stop): arrancar o detener Pulse-9 en una pestaña arranca o detiene también las demás, todas contra el mismo instante.
  • BPM: cambiar el tempo en una pestaña actualiza el tempo en todas las demás.
  • Presencia: el indicador ● Conectados del Mixer Maestro muestra cuántas otras pestañas de TetraWave están abiertas ahora mismo, con un pulso ("latido") cada 3 segundos para saber que siguen vivas. Si una pestaña no se reporta durante 8 segundos, se la da de baja automáticamente de la lista.

Cómo funciona por dentro

Cada pestaña se identifica con un ID aleatorio propio (crypto.randomUUID cuando está disponible) y anuncia su presencia con mensajes tipo hello / presence / bye. Cuando cambiás Play/Stop o el BPM desde tu propia pestaña, se emite un mensaje transport o bpm al canal; las demás pestañas lo reciben y aplican el cambio directamente (sin volver a disparar sus propios eventos de click/change), así que no hay eco ni loops entre pestañas.

Para qué sirve en la práctica: abrí varias pestañas de TetraWave para tocar varias partes en simultáneo (por ejemplo, un compañero en otra pestaña/ventana tocando Tetra 2 mientras vos manejás Pulse-9), todas cuantizadas al mismo reloj de audio, sin necesidad de ningún servidor ni cuenta.

Limitaciones a tener en cuenta

  • Solo sincroniza pestañas del mismo navegador y mismo origen (no funciona entre navegadores distintos ni entre tu compu y tu celular).
  • Por las políticas de autoplay de los navegadores, una pestaña que todavía no tuvo ninguna interacción propia (click, tecla) puede no reproducir sonido al recibir un Play remoto hasta que se haga algún gesto en ella — es una limitación del navegador, no de la sincronización.
  • Los navegadores sin soporte para BroadcastChannel simplemente no sincronizan: el resto del instrumento sigue funcionando normal.
04 — Flujo de trabajo

Mixer maestro

Arriba de todo, una consola resume el volumen de cada fuente — Pulse-9, Tetra 1, Tetra 2 — más tres bandas (graves / medios / agudos) del bus general vía filtros biquad (lowshelf / peaking / highshelf), todo antes de un DynamicsCompressor final que evita que los picos saturen la salida. Ahí mismo vive el indicador de pestañas conectadas. Es el lugar para balancear rápido sin entrar a cada instrumento por separado.

05 — Tu trabajo

Guardar y exportar

Nada se guarda solo en el servidor: TetraWave corre por completo en tu navegador, así que sos vos quien decide qué conservar.

  • Páginas (💾 Páginas): exporta las 8 páginas de patrones (Pulse-9 y ambos Tetra) a un archivo .json que después podés volver a cargar con 📂 Páginas.
  • Presets de sonido: guardá tus propios patches desde el panel de presets de cada Tetra.
Importante: si cerrás o recargás la pestaña sin exportar, tu composición se pierde. Exportá seguido, sobre todo antes de experimentar con cambios grandes.
06 — Tips

Consejos rápidos de uso

  1. Empezá por un patrón simple en Pulse-9 (página 1 ya trae uno de fábrica) y andá agregando capas de a poco.
  2. Usá OCT ◄ ► en el secuenciador de cada Tetra para transponer en vivo sin tocar las notas grabadas.
  3. El botón Break de Pulse-9 es ideal para generar tensión antes de un fill o un cambio de sección.
  4. Subí un poco el Nudge (micro-timing) si tu ritmo suena demasiado cuantizado o "de máquina".
  5. Probá los más de 1700 presets de fábrica de cada Tetra como punto de partida antes de programar un sonido desde cero.
07 — Honestidad primero

Límites conocidos

TetraWave no es un producto de estudio ni reemplaza un DAW profesional:

  • No exporta audio multipista ni renderiza a WAV/MP3 todavía.
  • No tiene automatización avanzada de parámetros a lo largo del tiempo.
  • El rendimiento depende de tu navegador y equipo: en dispositivos más viejos, patrones muy densos con muchos efectos pueden generar cortes o retrasos.
08 — Legal

Licencia & créditos

© 2026 StemsMag. TetraWave se distribuye bajo licencia Creative Commons BY-NC 4.0 (Atribución — No Comercial): podés usarlo, compartirlo y adaptarlo libremente para fines no comerciales, siempre citando la fuente.

Por ahora no recolectamos datos personales ni usamos cookies de seguimiento; solo métricas agregadas y anónimas de uso general. Si en el futuro sumamos publicidad para sostener el proyecto, esta sección se actualizará con el detalle correspondiente.

Diseñado por Gerardo Ventura@thegeco_sv

09 — El proyecto detrás

¿Qué es STEMS Magazine?

STEMS — La música que nos une es una revista digital en español sobre música electrónica: artículos, agenda de eventos, playlists y contenido para quienes hacen y escuchan este género. TetraWave nació dentro de ese proyecto, como una manera de que la revista no solo se lea, sino que también se pueda usar — un instrumento gratuito para experimentar con síntesis sin salir del sitio.

Es un proyecto hecho en El Salvador, con vocación educativa: la idea es que las mismas herramientas y explicaciones que encontrás en este manual sirvan tanto para producir como para entender qué está pasando técnicamente cuando movés una perilla.

10 — Opcional, sin presión

Apoyá el proyecto

TetraWave nació para ser gratis, y ahí se queda. Pero mantenerlo — sumar nuevos presets, arreglar bugs, agregar exportación de audio, construir el próximo instrumento — lleva tiempo y algún que otro café de madrugada. Si el sinte te sirvió para aprender, componer o simplemente perder una tarde jugando con perillas, tu apoyo (grande o chico, puntual o mensual) va directo a que Stems Magazine siga sacando herramientas como esta. Nada de esto desbloquea funciones extra ni contenido exclusivo — TetraWave sigue siendo 100% gratis para todos, dones o no. Es simplemente una forma de decir "esto vale la pena seguir haciéndolo".

Ko-fi

Una donación puntual, sin cuenta ni registro.

PayPal

Si ya tenés cuenta de PayPal, es directo.

Donar por PayPal →