IconMainLigthMOROBU

Algoritmos de síntesis en strudel

Brandon M. · 15 de mayo de 2026

Introducción

Como platicamos en el articulo de sound de Strudel tenemos aparte de sonidos invocados donde literal son archivos de sonido en varios formatos algoritmos que nos permiten reproducir sonidos en base a ondas y ciertas cositas, de los cuales tenemos varios.

1. Los 4 Fantásticos (Osciladores Básicos)

Estos son los principales generalmente si wachas algún video de como usos de Strudel te vas a topar con unos de estos 4.

sine (Senoidal)

Un sonido puro y suave, como un silbido o una flauta. No tiene armónicos, su sintaxis es la siguiente:

javascript
s("sine")

se vería algo achi:

Onda Senoidal
Onda Senoidal

sawtooth (Sierra)

Muy brillante y agresivo yo vi que lo usaban mucho como para trance y así apá, la sintaxis es la misma solo cambiamos el parámetro:

javascript
s("sawtooth")

su representación seria algo parecido a esto:

Onda Sierra
Onda Sierra

square (Cuadrada)

Tipo clarinete acá a lo Calamardo se puede utilizar como de tipo videojuegos antiguos (8-bit) igual misma cosa en la sintaxis pa que lo pongo eda?

javascript
s("square")

Y pues se vería algo parecido a esto:

Onda Cuadrada
Onda Cuadrada

triangle (Triangular)

Un punto medio entre la senoidal y la cuadrada y literal un triangulo causa, queda la sintaxis así:

javascript
s("square")
Onda Triangular
Onda Triangular

2. Algoritmos de "Ruidos"

Como los que pones pa mimir apá, si principal función es como rellenar para que no solo se escuche sonido y capas:

  • white (Ruido Blanco): Como la estática de la tele.
  • pink (Ruido Rosa): Parecido a la lluvia.

Igual que los anteriores para invocarlos es con "s"

javascript
s("white")
s("pink")

3. Síntesis FM (Modulación de Frecuencia)

Bambi amigos, hasta ahorita todo bien casual gamer sin tanto shower, pero con fm es donde se pone interesante, ya que no es solamente mandar a llamar un algoritmo que genera un sonido, si no "deformar" o aplicar efectos a los sonidos, ahora ojito con este, no es solo fm si no que hay varios, entonces esos los veremos en el artículos posteriores mas detallados.

Igual les dejo un ejemplo, pero ojito lo voy a hacer con las patas después lo checamos cada uno por su parte.

javascript
note("c2 e2 g2 c3")
  .s("sine")           // Sonido base (portadora): una onda senoidal limpia
  .fm(25)              // [fmi/fm] Fuerza del FM: empieza súper distorsionado
  .fmh(4.5)            // [fmh] Tono del FM: un ratio decimal para darle brillo metálico
  .fmwave("saw")       // [fmwave] Forma del modulador: usa una onda sierra para que sea más rasposo
  .fme("exp")          // [fmenv/fme] Curva exponencial: hace que la transición sea más natural
  .fmatt(0.02)         // [fmattack/fmatt] Ataque: el efecto FM tarda un parpadeo en golpear
  .fmdec(0.3)          // [fmdecay/fmdec] Decaimiento: el FM baja rápido después del golpe
  .fmsus(0.1)          // [fmsustain/fmsus] Sostenido: se queda un hilo de FM metálico de fondo
  .fmrel(0.5)          // [fmrelease/fmrel] Liberación: al soltar la nota, el FM desaparece suavemente
  .decay(1).sustain(0) // Envolvente del sonido base para que la nota dure un segundo entero

4. Síntesis super sierra

A canijo como esta ese pedo eda?, pues ahí te va chikin básicamente es un algoritmo de onda de cierra pero mamado, acá bien pasado de lanza, son varias ondas de sierra sonando juntas ligeramente desafinadas entre sí. Es el sonido épico y gigante que escuchas en el EDM, pa que seas el siguiente tomorrowland hijo, igual les dejo la sintaxis (que regresamos a "s")

javascript
s("supersquare")

5. Efectos

Aunque no generan el sonido inicial, los algoritmos que vienen por defecto para modificarlo son vario, al igual que con fm vamos a irlos viendo poco a poco no sean abusivos igual les dejo una sintaxis péguenla ya saben donde y vayan calándole para que vayan viendo que hace cada efecto, y si cada efecto tendrá su propio articulo explicativo este es solo pa que se den un quemón:

javascript
s("bd sd hh sd")
  // --- 1. DISTORSIÓN Y DESTRUCCIÓN (Lo-Fi) ---
  .crush(6)            // Reduce los bits (suena crujiente tipo Nintendo)
  .coarse(4)           // Reduce el muestreo (lo vuelve más robótico y pixelado)
  .shape(0.4)          // Añade saturación/suciedad para que rompa con fuerza
  .gain(1.1)           // Empuja el volumen para que la distorsión sature sabroso

  // --- 2. FILTROS (Ecualización) ---
  .lpf(2000).lpq(0.2)  // Filtro Paso Bajo + Resonancia (quita los agudos exagerados)
  .hpf(150).hpq(0.1)   // Filtro Paso Alto + Resonancia (quita el sub-grave que estorba)

  // --- 3. MODULACIÓN Y PSICODELIA ---
  .vowel("a o u e")    // Hace que la batería parezca que está hablando en cada golpe
  .phaser(1)           // Activa el efecto de barrido espacial (Phaser) estándar
  .chorus(0.5)         // Duplica el sonido para que se escuche más ancho
  .tremolo(3)          // Hace que el volumen tartamudee rápidamente

  // --- 4. ESPACIO Y ECO (Tiempo) ---
  .delay(0.4)          // Activa el eco
  .delaytime(0.25)     // Tiempo entre ecos
  .delayfeedback(0.5)  // Cuántas veces se repite
  .room(0.6).size(0.8) // Mete todo el caos dentro de una bodega gigante abandonada
  .pan("0 1 0.2 0.8")  // Mueve cada golpe de la batería a un lado diferente del audífono

Conclusión

Échele ganas apá, no es complicado, pero también, repito, te lo puedo explicar de mil y un formas pero si no vas calando no lo vas a cachar bien cahvalon y pa las graficas use GeoGebra pa que lo revisen camaradas.

Referencias

  1. colaboradores de Wikipedia. (2025, 3 mayo). Onda de sierra. Wikipedia, la Enciclopedia Libre. https://es.wikipedia.org/wiki/Onda_de_sierra
  2. GeoGebra - the world’s favorite, free math tools used by over 100 million students and teachers. (s. f.). GeoGebra. https://www.geogebra.org/
  3. Getting started Strudel. (s. f.). Strudel. https://strudel.cc/workshop/getting-started/
  4. Switch Angel. (2025, 10 noviembre). Coding Trance Music from Scratch (Again ) [Vídeo]. YouTube. https://www.youtube.com/watch?v=iu5rnQkfO6M