La síntesis de cuerdas Karplus – Strong es un método de síntesis de modelado físico que hace un bucle de una forma de onda corta a través de una línea de retardo filtrada para simular el sonido de una cuerda martillada o punteada o algunos tipos de percusión .
A primera vista, esta técnica puede verse como una síntesis sustractiva basada en un circuito 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 tabla de ondas ahora conocida como síntesis de guía de ondas 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 de síntesis "Digitar", como un acrónimo de "guitarra digital".
Cómo funciona
- Se genera una forma de onda de excitación corta (de longitud L muestras). En el algoritmo original, se trataba de una ráfaga de ruido blanco , pero también puede incluir cualquier señal de banda ancha , como un chirrido rápido de onda sinusoidal o un barrido de frecuencia, o un solo ciclo de una onda de diente de sierra o una onda cuadrada .
- Esta excitación se envía y se retroalimenta simultáneamente a una línea de retardo de L muestras de largo.
- La salida de la línea de retardo se alimenta a través de un filtro . La ganancia del filtro debe ser menor que 1 en todas las frecuencias, para mantener un circuito de retroalimentación positiva estable . El filtro puede ser un filtro de paso bajo de primer orden (como se muestra en la imagen). En el algoritmo original, el filtro consistía en promediar dos muestras adyacentes, un filtro particularmente simple que se puede implementar sin un multiplicador, requiriendo solo operaciones de cambio y suma. Las características del filtro son cruciales para determinar la estructura armónica del tono en decadencia.
- La salida filtrada se mezcla simultáneamente con la salida y se retroalimenta a la línea de retardo.
Afinando la cuerda
La frecuencia fundamental (específicamente, la frecuencia resonante más baja distinta de cero) de la señal resultante es la frecuencia más baja a la que la respuesta de fase no envuelta del retardo y el filtro en cascada es. Por lo tanto , el retardo de fase requerido D para una frecuencia fundamental dada F 0 se calcula de acuerdo con D = F s / F 0 donde F s es la frecuencia de muestreo.
La longitud de cualquier línea de retardo digital es un múltiplo entero del período de muestreo. Para obtener un retardo fraccional , se utilizan filtros de interpolación con parámetros seleccionados para obtener un retardo de fase apropiado en la frecuencia fundamental. Se pueden usar filtros IIR o FIR , pero FIR tiene la ventaja de que los transitorios se suprimen si el retardo fraccional se cambia con el tiempo. El retraso fraccional más elemental es la interpolación lineal entre dos muestras (por ejemplo, s (4.2) = 0.8 s (4) + 0.2 s (5)). Si el retardo de fase varía con la frecuencia, los armónicos se pueden agudizar o aplanar en relación con la frecuencia fundamental. El algoritmo original utilizó 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 introdujo el algoritmo.
Se puede escuchar una demostración del algoritmo Karplus-Strong en el siguiente archivo Vorbis . El algoritmo utilizó una ganancia de bucle de 0,98 con filtros de paso bajo de primer orden cada vez más atenuados. 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 campana. Aumentar bruscamente el período después de la entrada transitoria produce sonidos de batería.
Refinamientos del 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ó. [1] Julius O. Smith III [1] reconoció que la función de transferencia del KS, cuando se ve como un filtro digital, coincidía con la de una cuerda vibrante, con el filtro en el bucle de retroalimentación que representa las pérdidas totales de la cuerda en una período. [2] Más tarde derivó el algoritmo KS como un caso especial de síntesis de guía de ondas 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, típicamente 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, [ cita requerida ] y publicado 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, [3] y en la disertación de PhD / EE de Smith. [2]
Alex Strong desarrolló un método de modificación de tabla de ondas superior para la síntesis de cuerdas pulsadas, pero solo lo publicó como una patente. [4] [ aclaración necesaria ]
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 cinta estéreo generada por computadora, con un texto basado en Carl Sandburg ' s La gente, sí . 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 patente fue licenciada primero a Mattel Electronics, que fracasó como empresa antes de que se desarrollara cualquier producto que usara el algoritmo, luego a una empresa nueva fundada por algunos de los ejecutivos despedidos de Mattel. Nunca obtuvieron fondos suficientes para terminar el desarrollo, por lo que tampoco llevaron 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 utilizara 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, muchos componentes de hardware para sistemas modulares se han producido comercialmente que invocan los principios básicos de Karplus-Strong Synthesis: usar un sistema de control invertido y escalado para valores de tiempo muy pequeños en una línea de retardo filtrada para crear notas reproducibles en el sistema de afinación Western Tempered, controladas con seguimiento de voltios por octava o datos MIDI. Los inventores no fueron acreditados específicamente, aunque en algunos manuales se hace referencia al término "Síntesis Karplus-Strong".
Los componentes de hardware capaces de síntesis de estilo Karplus-Strong incluyen Moog Clusterflux 108M, Mutable Instruments Elements, 4ms Company Dual Looping Delay, 2HP Pluck, Make Noise Mimeophon y Arturia MicroFreak.
Referencias
- Citas
- ^ Karplus y Strong 1983
- ^ a b Este artículo incorpora texto de una publicación que ahora es de dominio público : Smith, William , ed. (1870). Diccionario de antigüedades griegas y romanas . Londres: John Murray. Falta o vacío
|title=
( ayuda ) - ^ Jaffe y Smith 1983
- ^ "inventor: (Alexander R. Strong)" . Patentes de Google . Consultado el 17 de julio de 2019 .
- Bibliografía
- Karplus, Kevin; Fuerte, Alex (1983). "Síntesis digital de timbres de batería y cuerda pulsada". Computer Music Journal . Prensa del MIT. 7 (2): 43–55. doi : 10.2307 / 3680062 . JSTOR 3680062 .
- Jaffe, David A .; Smith, Julius O. (1983). "Extensiones del algoritmo de cuerda pulsada Karplus-Strong" (PDF) . Computer Music Journal . Prensa del MIT. 7 (2): 56–69. doi : 10.2307 / 3680063 . JSTOR 3680063 .
- Smith, Julius O. (1983). Técnicas de Diseño de Filtros Digitales e Identificación de Sistemas, con Aplicación al Violín (PhD / EE). Universidad Stanford.
- Solicitud de EE.UU. 4649783 , Alexander R. Strong, Kevin J. Karplus, " Instrumento de modificación de tabla de ondas y método para generar sonido musical ", publicado el 17 de marzo de 1987
- Solicitud de EE.UU. 4622877 , Alexander R. Strong, " Instrumento y método de modificación de tabla de ondas controlados independientemente y método para generar sonido musical ", publicado el 18-11-1986
- Moore, F. Richard (1990). Elementos de la música informática . Upper Saddle River: Prentice-Hall. ISBN 0-13-252552-6.
enlaces externos
- El algoritmo Karplus-Strong
- Ejemplos de sonido
- Más ejemplos de sonido bajo licencia CC
- Aplicación flash implementando una guitarra
- Un puerto HTML5 de la aplicación anterior
- Música de David A. Jaffe, incluidos ejemplos de sonido