Karplus: síntesis de cuerdas fuertes
Karplus: síntesis de cuerdas fuertes es un método de síntesis de modelado físico que enlaza una forma de onda corta a través de una línea de retardo filtrada para simular el sonido de una cuerda martillada o pulsada o algunos tipos de percusión.
A primera vista, esta técnica puede verse como una síntesis sustractiva basada en un bucle de retroalimentación similar al de un filtro de peine para el análisis de transformada z. Sin embargo, también se puede ver como la clase más simple de algoritmos de modificación de tablas de ondas ahora conocidos como síntesis de guía de onda digital, porque la línea de retardo actúa para almacenar un período de la señal.
Alexander Strong inventó el algoritmo y Kevin Karplus hizo el primer análisis de cómo funcionaba. Juntos desarrollaron implementaciones de software y hardware del algoritmo, incluido un chip VLSI personalizado. Llamaron al algoritmo "Digitar" síntesis, como un acrónimo de "guitarra digital".
Cómo funciona
- Se genera una onda de excitación corta (de muestras L de longitud). En el algoritmo original, se trataba de una explosión de ruido blanco, pero también puede incluir cualquier señal de banda ancha, como un rápido barrido de onda sine o barrido de frecuencia, o un solo ciclo de una onda o onda cuadrada.
- Esta excitación es la salida y al mismo tiempo se alimenta de nuevo en una línea de demora L muestras largas.
- La salida de la línea de retraso se alimenta a través de un filtro. La ganancia del filtro debe ser inferior a 1 en todas las frecuencias, para mantener un bucle de retroalimentación positiva estable. El filtro puede ser un filtro de bajapasa de primer orden (como se imagina). En el algoritmo original, el filtro consistía en la promediación de dos muestras adyacentes, un filtro particularmente simple que se puede implementar sin un multiplicador, requiriendo sólo cambio y añadir operaciones. Las características del filtro son cruciales para determinar la estructura armónica del tono descaidizante.
- La salida filtrada se mezcla simultáneamente en la salida y se introduce de nuevo en la línea de demora.
Afinando la cuerda
La frecuencia fundamental (específicamente, la frecuencia de resonancia no cero más baja) de la señal resultante es la frecuencia más baja en la que la respuesta de fase sin rotura del retraso y filtro en cascada es − − 2π π {displaystyle -2pi}. El retraso de fase requerido D para una frecuencia fundamental dada F0 por lo tanto se calcula D = Fs/F0 Donde Fs es la frecuencia de muestreo.
La longitud de cualquier línea de retardo digital es un múltiplo de un número entero del período de muestreo. Para obtener un retardo fraccionario, se utilizan filtros de interpolación con parámetros seleccionados para obtener un retardo de fase adecuado a la frecuencia fundamental. Se pueden usar filtros IIR o FIR, pero los FIR tienen la ventaja de que se suprimen los transitorios si se cambia la demora fraccional con el tiempo. El retraso fraccionario más elemental es la interpolación lineal entre dos muestras (p. ej., s(4,2) = 0,8s(4) + 0,2s(5)). Si el retardo de fase varía con la frecuencia, los armónicos pueden agudizarse o aplanarse en relación con la frecuencia fundamental. El algoritmo original usaba la misma ponderación en dos muestras adyacentes, ya que esto se puede lograr sin hardware de multiplicación, lo que permite implementaciones extremadamente económicas.
El análisis de transformada Z se puede utilizar para obtener los tonos y los tiempos de caída de los armónicos con mayor precisión, como se explica en el artículo de 1983 que presentó el algoritmo.
Se puede escuchar una demostración del algoritmo Karplus-Strong en el siguiente archivo de Vorbis. El algoritmo utilizó una ganancia de bucle de 0,98 con filtros de paso bajo de primer orden cada vez más atenuantes. El tono de la nota era A2, o 220 Hz.
Mantener constante el período (= longitud de la línea de retardo) produce vibraciones similares a las de una cuerda o una campana. Aumentar bruscamente el período después de la entrada transitoria produce sonidos parecidos a los de una batería.
Refinamientos al algoritmo
Debido a su sonido de cuerda pulsada en ciertos modos, Alex Strong y Kevin Karplus conjeturaron que el algoritmo Karplus-Strong (KS) era, en cierto sentido, una simulación de cuerda vibrante, y trabajaron para demostrar que resolvía la ecuación de onda para la cuerda vibrante, pero esto no se completó. Julius O. Smith III [1] reconoció que la función de transferencia del KS, visto como un filtro digital, coincidía con la de una cuerda vibrando, con el filtro en el circuito de retroalimentación representando las pérdidas totales de la cuerda durante un período. Más tarde derivó el algoritmo KS como un caso especial de síntesis de guía de onda digital, que se utilizó para modelar ondas acústicas en cuerdas, tubos y membranas. El primer conjunto de extensiones y generalizaciones del algoritmo Karplus-Strong, generalmente conocido como el algoritmo extendido Karplus-Strong (EKS), se presentó en un artículo en 1982 en la Conferencia Internacional de Música por Computadora en Venecia, Italia, y se publicó con más detalle. en 1983 en Computer Music Journal en un artículo titulado "Extensions of the Karplus Strong Plucked String Algorithm," por David A. Jaffe y Julius O. Smith, y en la disertación PhD/EE de Smith.
Alex Strong desarrolló un método superior de modificación de tabla de ondas para la síntesis de cuerda pulsada, pero solo lo publicó como patente.
Aplicaciones musicales
El primer uso musical del algoritmo fue en la obra May All Your Children Be Acrobats escrita en 1981 por David A. Jaffe, y compuesta para ocho guitarras, mezzosoprano y estéreo generado por computadora. cinta, con un texto basado en The People, Yes de Carl Sandburg. Jaffe continuó explorando las posibilidades musicales y técnicas del algoritmo en Silicon Valley Breakdown, para cuerdas pulsadas generadas por computadora (1982), así como en trabajos posteriores como Telegram to the President, 1984 para cuarteto de cuerdas y cinta, y Grass para coro femenino y cinta (1987).
La licencia de la patente se otorgó primero a Mattel Electronics, que fracasó como empresa antes de que se desarrollara cualquier producto que usara el algoritmo, y luego a una empresa nueva fundada por algunos de los ejecutivos despedidos de Mattel. Nunca consiguieron la financiación suficiente para terminar el desarrollo, por lo que tampoco sacaron un producto al mercado. Finalmente, Yamaha obtuvo la licencia de la patente, como parte del paquete de patentes Sondius de Stanford. Se desconoce si alguna vez se vendió algún hardware que usara el algoritmo, aunque se han lanzado muchas implementaciones de software (que no pagaron ninguna tarifa de licencia a los inventores).
Si bien es posible que no se adhieran estrictamente al algoritmo, se han producido comercialmente muchos componentes de hardware para sistemas modulares que invocan los principios básicos de Karplus-Strong Synthesis: usar un sistema de control escalado invertido para valores de tiempo muy pequeños en un retardo filtrado línea para crear notas jugables en el sistema de afinación Western Tempered, controlado con seguimiento de voltios por octava o datos MIDI. Los inventores no fueron acreditados específicamente, aunque el término "Karplus-Strong Synthesis" se hace referencia en algunos de los manuales.
Los componentes de hardware capaces de la síntesis de estilo Karplus-Strong incluyen Moog Clusterflux 108M, Mutable Instruments Elements, 4ms Company Dual Looping Delay, 2HP Pluck, Make Noise Mimeophon, Arturia MicroFreak y Strymon Starlab.
Contenido relacionado
Larry graham
Euforia (lenguaje de programación)
Mosquetón