Cuerda pulsada — algoritmo Karplus-Strong
El algoritmo Karplus-Strong (Karplus & Strong, 1983) produce sonidos convincentes de cuerda pulsada con un mecanismo muy simple: un buffer de retardo inicializado con ruido aleatorio y un filtro de promediado que amortigua progresivamente las frecuencias altas. Es una técnica eficiente e intuitiva, pero no es modelamiento físico en el sentido estricto: no parte de las ecuaciones de onda ni de la física de la cuerda, sino de una observación empírica sobre el resultado sonoro. Se la considera una introducción al modelamiento físico real, que opera mediante guías de onda digitales.
Diagrama de señal
Un ruido blanco inicial es sumado a la señal de retroalimentación y enviado a la salida. Simultáneamente, la señal recorre un retardo Z⁻ᴸ de L muestras (L = SR / f₀) y luego un filtro pasa-bajos que suaviza y amortigua la señal antes de realimentarse al sumador. Cada ciclo refuerza los armónicos graves y atenúa los agudos, imitando el decaimiento natural de una cuerda pulsada.
El algoritmo
Se crea un buffer de longitud N = round(SR / f₀) con muestras de ruido aleatorio uniforme [−1, +1]. Este buffer representa el estado inicial de la cuerda al ser pulsada.
En cada muestra n:
y[n] = buffer[ptr]buffer[ptr] = s · ½ · (buffer[ptr] + buffer[next])donde s es el factor de amortiguamiento (stretch) y next es el índice siguiente en el buffer circular.
El promediado actúa como un filtro pasa-bajos de primer orden. Las frecuencias altas se atenúan más rápido que las bajas, imitando el comportamiento real de una cuerda donde la fricción amortigua los armónicos superiores primero.
N = SR / f₀ determina la frecuencia fundamental.
s cercano a 1 → cuerda larga (decaimiento lento).
s pequeño → percusión seca (decaimiento rápido).
Extensión: añadir un filtro pasa-todo para afinación fina.
Hacia el modelamiento físico real
El modelamiento físico genuino parte de las ecuaciones de onda que describen el comportamiento físico del instrumento y las resuelve numéricamente en tiempo real. La técnica más influyente son las guías de onda digitales (Julius O. Smith III, Stanford CCRMA, 1986), que permiten simular cuerdas, tubos y membranas con gran realismo y bajo costo computacional.
Una cuerda vibrantese modela como dos ondas viajeras en direcciones opuestas, cada una representada por una línea de retardo. La reflexión en los extremos, la rigidez, la dispersión y el acoplamiento con el cuerpo del instrumento se añaden como filtros en los extremos del lazo. Smith demostró formalmente que Karplus-Strong es un caso límite y simplificado de este modelo.
KS: empírico, sin base física explícita; el filtro de promediado es una aproximación ad-hoc del amortiguamiento.
Waveguides: derivan directamente de la ecuación de onda 1D; permiten controlar parámetros físicos reales (tensión, masa lineal, rigidez, impedancia en los puentes) y modelar instrumentos de viento, percusión y cuerdas con alta fidelidad.
Diferencias finitas (FDTD): discretizan la ecuación de onda en una malla 2D o 3D; usados para membranas y salas.
Elementos finitos (FEM): geometrías complejas como el cuerpo de un violín o la campana de una trompeta.
Modal synthesis: descompone la vibración en modos propios y simula cada modo como un oscilador amortiguado.
A pesar de su simplicidad, KS ilustra el principio central del modelamiento físico: usar un lazo de retroalimentación con retardo para crear periodicidad, y un filtro para modelar el decaimiento diferencial por frecuencia. Es el punto de partida conceptual antes de abordar guías de onda y métodos más rigurosos.