Sintetizadores

Síntesis (36): FM avanzada - Estructuras multioperador

Acceso al curso sobre síntesis en hispasonic al completo. Información sobre cursos presenciales por pablofcid en cicloquintas.es

Hoy revisamos la teoría que permite entender las estructuras avanzadas en síntesis FM. Se trata de estructuras que van más allá del par básico. Especialmente nos interesaremos por varios moduladores atacando a una única portadora (modulación en paralelo), cadenas en las que un modulador es a su vez modulado por otro (modulación en cascada),  y sus combinaciones. Hoy queremos entender cómo funcionan, su teoría. Como otras veces, habrá una entrega posterior en la que podremos escuchar en acción estos conceptos, pero ya sabéis que prefiero que os enfrentéis primero a entender en abstracto el mecanismo que opera detrás de cada una de estas posibilidades.

También como es habitual mi objetivo es contároslo con un detalle amplio, del que al cabo de poco tiempo olvidaréis la mayor parte. Pero contarlo con ese detalle garantizará que no se os olvide la parte esencial que sí debe permanecer en nuestra cabeza a la hora de crear sonidos con FM, o para poder analizar sonidos ya creados y saberlos modificar de una forma que no sea sólo prueba y error.

Estructuras con varias portadoras / columnas

A menudo podemos concebir en los algoritmos una separación en varias estructuras más simples. Estaríamos contando en el fondo con algo así como la reunión, en un solo sonido, de varios sonidos FM más simples. Un ejemplo muy evidente es esta estructura (algoritmo en términos de los Yamaha DX).

Este algoritmo 5 dispone de un triple juego de pares FM (cada uno con un modulador y un portador). Pero de forma general, cualquier algoritmo que dispoga de varias portadoras (cada una con su juego más o menos ambicioso de moduladoras) puede concebirse como esa reunión de varias estructuras más pequeñas independientes.

Podemos pensar en dar usos a estas estructuras tales como:

  • Sonidos ‘multivoz’ / ‘unison’ más densos, jugando con mismos o parecidos ajustes en cada una de las subestructuras y ligera desafinación entre ellas. Con el algoritmo 5, cualquiera de los sonidos que hemos creado con sólo dos operadores podría usarse en un ‘unison’ de tres voces desafinadas entre sí para un sonido más grueso.
  • ‘Layer’ de sonidos FM básicos diferentes, haciendo que cada una de las tres parejas genere un timbre bien diferenciado. Podríamos por ejemplo crear un sonido reuniendo piano + cuerdas + campanilla, con cada uno de los timbres generados en una de las columnas.
  • Recreación de las diferentes partes de un timbre: por ejemplo una pareja puede usarse para brillante y corto ‘tines’ de un piano tipo Rhodes, otro para el cuerpo principal, y sobraría un tercero con el que podríamos generar una resonancia en una banda media /alta (esa es de hecho la estructura que siguen algunos pianos FM).

Distribución de un modulador

Otra opción en muchos algoritmos es la modulación desde un único modulador hacia múltiples portadoras. Sucede por ejemplo en con el Op6 del alg. 22 que actúa simultáneamente sobre Op3, Op4 y Op5.

Se trata de un recurso para ‘ahorrar’ moduladores que permite crear actividad en varias zonas del espectro. En realidad la acción de Op6 hacia Op3, Op4 y Op5 está creando tres parejas FM. Op6 está actuando ‘individualmente’ sobre Op3, Op4 y Op5. Es como tener 3 pares FM, al estilo de lo que ofrecía el algoritmo 5 que hemos visto antes y que requería 6 operadores, pero resuelto con sólo 4 (en este caso Op1 y Op2 quedan libres y permiten disponer de otro par FM independiente).

Pero está claro que esta estructura no es tan flexible como la anterior, porque la moduladora es la misma para las tres columnas. Además hay que apuntar una diferencia importante en cómo se realiza esto de atacar a varias portadoras desde una sola moduladora en la saga de los DX frente a otros sintes FM posteriores y más avanzados (también mucho más complejos de programar, todo sea dicho).

En DX7 y sus herederos más directos (incluido Dexed) el nivel con que ataca el modulador común es idéntico hacia todos los destinos por que sólo se regula el nivel de salida del operador modulador (no hay control de la ‘sensibilidad’ a la modulación en cada operador). La intensidad con la que actúa el modulador es igual en las tres portadoras, no hay posibilidad de regularla individualmente. Eso da lugar a que la forma espectral generada en torno a cada portadora sea idéntica: la ‘forma’ de cada uno de los 3 grupos de rayas que Op6 genera sobre Op3, Op4 y Op5, es idéntica.

Sí existe la posibilidad de ajustar individualmente el nivel de las portadoras, y por tanto podemos establecer un ‘balance’ a nuestro gusto (o una mezcla variable mediante envolventes), pero sólo cambian las intensidades relativas de los tres grupos de parciales que comparten una idéntica forma.

La figura es un ejemplo de lo que comento: tres portadoras que, por acción de la modulación con la moduladora común, reciben un juego de rayas a cada lado. Pero la ‘apertura’ o ‘extensión’ de ese juego de rayas (que depende de la intensidad de la modulación) es idéntico para todas.

Otros sintetizadores FM más avanzados como SY77 o FM8 (o el freeware OXE) son más flexibles y permiten que la intensidad de la modulación se regule individualmente hacia cada destino. En ellos se puede definir toda una matriz que establece para cada operador cómo de fuertemente ha de modular a cada uno de los otros operadores. En particular Op6 puede estar atacando con niveles diferentes a Op3, Op4, y Op5 (o de hecho a cualquier otro: en estos sintes somos nosotros los que creamos el algoritmo desde cero). Y si puede atacar a cada una de las portadoras con diferente nivel, implica diferente índice de modulación hacia cada y por tanto un control individual de la ‘apertura espectral’ en torno a cada portadora. Haría factible (frente al ejemplo anterior) algo como esto (el número de rayas generado en torno a cada portadora ya no es igual):

Por lo demás, este tipo de estructura, puede usarse para la cuestión ‘unison’ (si todas las portadoras son de frecuencia aproximadamente igual) o para, como en los ejemplos de espectro que he mostrado, construir distintas regiones de un espectro más ambicioso.

Moduladores en paralelo

Este tipo de estructura viene a ser la inversa de lo anterior: concentrar varias moduladoras sobre una misma portadora, p.ej. los operadores 5 y 6 hacia el 4 en algoritmo 20

Para mayor claridad voy a llamar Port a la portadora (cuya frecuencia será fp) y Op1 y Op2 a los dos moduladores que actúan en paralelo (pero con frecuencias diferentes f1 y f2). Sin entrar en la justificación matemática, os pido que creáis que esta estructura genera una explosión del número de parciales/armónicos.

  • Aparecen rayas en frecuenciasfp +/- k1 fm1 +/- k2 fm2(siendo k1 y k2 valores enteros, incluyendo el caso k1=k2=0, que corresponde a una raya en fp -la frecuencia portadora-)
  • La amplitud de cada una de esas muchas componentes es Jk1(I1) * Jk2(I2). De nuevo las funciones de Bessel que ya presentamos en otra entrega, pero se trata ahora del producto de la acción de una y otra moduladoras (y por tanto el producto de dos funciones de Bessel).

Parece complicado. Bueno, de acuerdo: no es que lo parezca, es que es realmente complicado. Pero hay una forma de concebirlo sencilla si nos fijamos en el resultado gráfico de una actuación de este tipo. Observad y reflexionad sobre esta gráfica, que muestra el resultado de modular la portadora (naranja) con una moduladora 1 relativamente alta (verde) o con otra 2 baja (azul), y finalmente el resultado de modular con ambas en paralelo.

Puede recordarse mejor cómo actúa la modulación en paralelo si pensamos en que en torno a cada una de las rayas que genera la modulación ‘verde’ aparece una réplica de lo que sería el espectro que quiere generar la modulación ‘azul’. Es una combinación peculiar (que casi recuerda –aunque no lo es exactamente- a una convolución de los espectros que se generan con cada una de las moduladoras).

He buscado un ejemplo sencillo de observar, pero que es válido para concebir dónde acabarán las rayas y dónde estarán los ‘centros’ de cada grupo, si esos grupos estarán concentrados o dispersos, etc. En un caso más general, es fácil que haya solapamientos entre las distintas réplicas. En particular si la portadora está ajustada a ratio 1 u otra baja, como es habitual para sonidos 'con cuerpo' estaría toda la cuestión de las réplicas del espectro negativo y el consiguiente solapamiento de rayas (pero lo ilustraremos en el siguiente apartado para no complicar más este).

Vemos la enorme potencia que tiene esta estrategia para ‘llenar’ rápidamente un espectro plagado de parciales. Permite sonidos muy interesantes, en los que podemos crear varios realces simultáneos como los que muestra la figura anterior. Además, en el caso habitual de que haya solapamientos, lo que nos estaría permitiendo es extender el espectro sin caer en la forma espectral tan ‘antinatural’ que conlleva un índice alto.

Comento esto un poco más detalladamente. Ya habíamos comentado que usar un par FM básico con un alto índice de modulación para obtener una serie de parciales larga, produce demasiado temprano un sonido poco natural, marcadamente reconocible como FM y un tanto desnaturalizado y crispante. Asociábamos ese carácter FM a un espectro excesivamente ‘plano’, en el que sólo los parciales de los extremos manifiestan una caída progresiva. Con índices bajos la modulación genera una ‘campana’ de rayas (con una caída gradual hacia ambos lados, que suena natural), pero con índices medios y altos genera una ‘meseta’ de rayas (que suena insanamente artificial).

Es más amigable a menudo usar varios moduladores y que entre todos completen una serie larga sin llegar a necesitar que ninguno aplique un índice amplio. La modulación verde y la modulación azul del ejemplo pueden ajustarse para conseguir generar una colección larga de armónicos pero sin el ‘sabor FM’. Si cada una de ellas se mantienen en índices bajos, la forma que genera cada una es ‘de campana’ (no de ‘meseta’). Y cuando se combinan, el carácter suave de la caída tipo ‘campana’ se mantiene. O podemos usar la modulación ‘verde’ en índices bajos y la modulación azul con índices algo más altos para rellenar los huecos que la otra deja, pero sin que desaparezca la tendencia de desaparición ‘gradual’ a medida que nos alejamos de la portadora que impone la modulación verde.

En definitiva, cuando el resultado FM de una pareja básica ‘chirría’ podemos pasar a una estructura más avanzada y mantener a raya los índices de modulación para controlar el sonido y hacerlo ‘menos FM’ y más ‘natural’. Frente al par FM básico en el que subir el índice (para tener un juego de parciales extenso) genera un sonido ‘feo y artificial’, la posibilidad de la modulación en paralelo nos permite espectros extensos pero con el sonido agradecido de esa caída gradual casi siempre necesaria.

Quedará más claro cuando lo escuchemos en la entrega práctica que sucederá a este capítulo de hoy. Pero empeñaos en entender este mecanismo. Es clave para el diseño de sonidos FM más allá del par básico.

 

Modulación en cascada: ‘columnas’

Otra estructura que puede plantearse y que a priori parece muy diferente de la anterior, es que la moduladora que ataca a la portadora esté a su vez modulada. Sería una estrutura FM ‘en cascada’, que podéis ver como ejemplo en el caso de Op3 que modula a Op2 y este a su vez a la portadora Op1 en el algoritmo3. Al igual que hice antes, voy a usar una nomenclatura un poco diferente a la que veis en ese algoritmo. Port será mi portadora, Op1 (verde) modulará a la portadora pero a su vez vendrá modulado desde Op2 (azul).

El resultado final recuerda en parte al de la modulación en paralelo, así que nos interesaremos por recalcar las diferencias. De nuevo se genera una explosión del número de armónicos, y las rayas aparecen en  fp +/- k1 fm1 +/- k2 fm2 que son las mismas frecuencias que con moduladoras en paralelo.

Pero las amplitudes de las rayas que se generan difieren y están ahora dictadas por   Jk1(I1) * Jk2(k1 * I2) . La consecuencia es que para las componentes ‘altas’ que crea la modulación verde (Op1), la forma ‘heredada’ de la acción de Op2 es mucho más abierta (el índice 2 viene multiplicado por k1). A medida que nos alejamos de la portadora, los grupos de rayas ‘azules’ son más abiertos.

Además cambia también mucho la dinámica, que es mucho más veloz. Los cambios son más abruptos, más explosivos. Es muy fácil que tienda a ‘explotar’ y para evitarlo hay que reforzar el control del índice de modulación (no exagerar el nivel de los moduladores). Salvo con índices muy controlados, puede ‘dislocar’ muy rápidamente y hacer demasiado explícita la brutalidad a la que tiende la FM.

También, como efecto curioso, la raya portadora aparece sola, sin compañía (un resultado que obligaría a ahondar en las matemáticas y la forma que tienen las funciones de Bessel). Esto es muy importante cuando la portadora está ajustada en ratio 1 o cualquier otra baja (lo que es muy habitual). Es interesante pintar y pensar esta situación:

Cuando la portadora ocupa esa posición , resulta muy chocante que el fundamental se encuentre sin compañía cercana y que sólo aparezcan nutridos juegos de armónicos superiores. Así las cosas, muchas veces hará falta darle compañía (usando por ejemplo un par básico adicional para rellenar esa zona del espectro que si no queda demasiado despoblada). Una portadora tan aislada no resulta creíble cuando tiene que asumir el papel de fundamental. Lo ‘esperable’ es que los primeros armónicos estén presentes junto con ella.

La automodulación (feedback) a la luz de lo aprendido hoy

Con lo que ya sabemos, podemos concebir un poco mejor la acción de la automodulación. Una senoide se modula a sí misma y entonces se convierte en varias (con poca intensidad de modulación / realimentación, serán pocas rayas y decrecientes). Esa aparición de varias rayas conlleva que en lugar de una hay varias moduladoras en paralelo (con frecuencias x1, x2, x3…) y además varias portadoras (esas mismas x1, x2, x3…). Hay un efecto final (pensemos en la analogía con la convolución espectral) que lleva a generar una explosión de rayas pero con un perfil (mientras no exageremos la cantidad de feedback) decreciente en nivel. Deja crecer el espectro, pero sin cambiar tanto el carácter y asegurando ese comportamiento de caída ‘gradual’ en el que estoy insisitiendo especialmente hoy y que no es factible con el par básico FM y sus ‘mesetas’.

La forma en la que opera un bucle de realimentación en FM podemos por tanto concebirla de esta forma. Lo que será especialmente útil para entender qué sucede cuando la realimentación no es tan simple como una mera ‘automodulación’ de un único operador consigo mismo, sino algo más compleja. Tomad como ejemplo estos dos algoritmos que ya estaban en el DX7 original:

La forma mejor de concebir estos casos es pensando en la señal presente sin la realimentación. Pensando a continuación en que esa señal (que en estos casos ya no es senoidal sino con múltiples raya) se module a si misma, lo que implica simultáneamente que hay muchas portadoras y que son atacadas desde muchas moduladoras en paralelo (esas mismas rayas). Como el bucle da lugar a que las nuevas rayas que se generan se sumen como nuevas portadoras y moduladoras al conjunto, tenemos un efecto final que es de tipo incrementar el número de rayas hacia ambos lados y hacerlo de una forma que tiene a ser ‘gradual’, de caída progresiva del nivel, y por tanto con esa gracia especial en el sonido resultante que ya habíamos podido valorar y apreciar en los ejemplos con el par básico.

Desde luego, como siempre realimentación alta siempre conlleva acercarse a densidades que suenan a ruido. Y en estas estructuras con lazos que abarcan varios operadores habrá que ser cautelosos al extremo con los índices de modulación.

Esas mismas ideas pueden trasladarse a los casos en que tenemos realimentaciones ajustables a voluntad (SY77, FM8) y que pueden encerrar a más de un operador. Habrá que pensar en el sonido ‘sin’ realimentación, y ver (escuchar) cómo comienza su acción cuando vamos dando presencia a la realimentación. Una acción que será siempre de ‘expansión’ y ‘relleno’ del espectro, pero que a poco que nos excedamos inundará con aliasing y ruido pudiendo arruinar el pretendido efecto buscado.

 

Otras estructuras combinadas

Por supuesto son posibles otras estructuras combinadas que mezclan arbitrariamente cascadas, paralelos e incluso lazos de realimentación. La clave para entender su uso es ser capaz de dividir el problema y atacarlo por partes. Con una aplicación de los conceptos esenciales a la acción de los moduladores en paralelo, de la acción de una cascada y del poder de la realimentación, siempre he podido manejarme con soltura para crear sonidos FM ‘con cabeza’ y sin entrar en pánico ni en el resurso de probar ‘a lo loco’ a mover parámetros para ver qué resulta.

Precisamente para poder escuchar mejor el efecto de cada uno de las subestructuras y operadores que presenta un algoritmo, es para lo que resultan tan útiles los controles que los sintes FM suelen llevar para ‘activar/desactivar’ operadores. Nos permiten escuchar su acción por separado.

Retocar ligeramente (muy ligeramente) el nivel de salida de cada operador para escuchar qué está accionando y cómo modifica el timbre final es otro gesto frecuente, especialmente cuando analizamos sonidos ya hechos y que necesitamos adaptar a nuestro gusto.

Pero creo sinceramente que sin entender los mecanismos que hemos presentado hoy, resultaría terriblemente difícil tener la mínima capacidad crítica en ese análisis y creación de sonidos ante estructuras complejas. Por ello os animo a repasar el capítulo de hoy. Así disfrutaréis de verdad con el siguiente en el que veamos en acción estos recursos. Disfrutaréis no sólo de escuchar unos sonidos ‘resultones’ si no de saberos capaces de entender cómo están hechos, y cómo podríais adaptarlos mejor a vuestras necesidades o incluso crearlos desde cero.

Por ello también me he mantenido hasta ahora con los algoritmos cerrados (preconfigurados) del DX7 y sin mostrar la mayor flexibilidad y complejidad de las matrices de modulación totalmente configurables de los SY, el FM8 de Native o el freeware OXE. Pese a ello, el salto que hemos dado hoy ha sido de gigantes. Digeridlo con calma (y aquí me tenéis para ayudar).

Pablo Fernández-Cid
EL AUTOR

Pablo no puede callar cuando se habla de tecnologías audio/música. Doctor en teleco. Ha creado diversos dispositivos hard y soft y realizado programaciones para músicos y audiovisuales. Toca ocasionalmente en grupo por Madrid (teclados, claro).

¿Te gustó este artículo?
27
Comentarios
  • #1 por Amarit Simla el 08/05/2015
    Gracias!
  • #2 por dorremifasol el 08/05/2015
    Fabuloso!
  • #3 por juanma70 el 08/05/2015
    Excelente. Muchas gracias!
  • #4 por Mister Carrington el 08/05/2015
    ¡Digiriendo!

    ¡Qué bien explicadito!

    Para este verano ya tengo diversión con mi antiguo FM 7 de Native Instruments...
  • #5 por Soundprogramer el 08/05/2015
    Precísamente "la madre del cordero" en estas series comienza con el entendimiendo de la interacción de los operadores en sus estructuras de algoritmo, cosa que ya de por si asusta a cualquiera que prevenga de sistemas del tipo sustractivo.
    En realidad hay que entender que para crear sonidos con algo de éxito en FM es importantísimo primero "conceptualizar el sonido", pues si no es así la teorìa del probar y error va a reportar (en la mayoria de casos) resultados bastante frustrantes. De ahí la mala fama que sigue teniendo la síntesis FM.

    A mi me resultó bastante curiso cuando me tení en la programción de los DX oir timbres tan parecidos y tan metálicos, cuando en realidad son capaces de cosas muy muy interesantes. Al comprobar como estaban hechos estos timbres me di cuenta que la mayoría de las programaciones abusaban del índice de modulación y de la copia de tonos entre operadores, osea lo que es el típico "copy & paste". Esto me llevó a curiosear más e investigar el sistema, llegando a la conclusión de que a día de hoy sigue casi sin haber dado realmente de si tímbricamente hablando.

    Sería interesante que si explicaras uno de los algoritmos menos usados de todos que no es más que el Nº1, precísamente porque son 5 moduladores en cadena y un portador.

    Recuedo además haber leido algunos articulos de los padres de FM en el que hablaban de los algoritmos y nisiquiera ellos daban consejos prácticos "entendibles" sobre para que son realmente válidos. Si esto es así en este tipo de genialidades, pues imaginaros la historia trasladada a usuarios "mortales".

    Bueno, este es mi pequeño aporte al artículo.
    Y felicidades por ellos pablofcid, porque te puedo decir se ven muy pocos tutoriales de este tipo y que no sean de pago.

    ¡Saludos!
    1
  • #6 por microchyps el 08/05/2015
    =D>
  • #7 por Iu Gob el 08/05/2015
    Los artículos de Pablo, como siempre, todo un lujo. ¡Muchas gracias Maestro!
  • #8 por RaulMX el 08/05/2015
    Como siempre un placer leer tus tutoriales Pablo, si cuando salió el DX7 hubiéramos tenido una guía en español así de bien explicada, no nos hubiéramos quebrado tanto la cabeza y desesperado tratando de crear sonidos con el.
  • #9 por Raygun el 08/05/2015
    solo puedo decir que estoy disfrutando poniendo en practica con mi DX7, todo lo mencionado en este buen articulo... las estructuras avanzadas de sintesis FM, es mi tema preferido, gracias por infor de esos pequeños deatalles que son tan importantes, gran trabajo, gracias.
  • #10 por pablofcid el 08/05/2015
    Es muy cierto que la animalada de bibliotecas que existen para DX7 aburren y se repiten mucho más de lo necesario. Y en especial en muchas se nota el 'sonido FM' excesivamente, cuando se puede con facilidad tener bajo control.

    A ver si consigo en el próximo vídeo hacer visible algo de todo esto contado hoy.
    Tras ese vídeo preveo una entrega con un mix de consejos y comentarios que faltan, pero creo que seguramente paremos ahí con FM, el resto tendrá que ser práctica y más práctica de cada cual. Intentaré repasar qué dudas de las que habéis planteado en entregas anteriores han quedado sin contestar para que no queden sin tratar.

    Respecto a fm8 y otras bestias de las que van más allá del concepto DX inicial y sus algoritmos prefijados: quizá por mantenerme fiel al tema DX y por mi apego al hardware había dejado de siempre en un rincon mi FM8. He vuelto ahora con él, para mirar algunas cosas para la serie, y la verdad me está pareciendo brutal, pero a los nuevos en FM casi recomendaría no lanzarse con él sin pasar una época antes entrenando con algo más simple.
    No he llegado a mirar OXE, pero sería una especie de FM8 en freeware, para los que sí queráis probar esas otras posibilidades sin tener que desembolsar. A ver si les dedicamos también su pequeño hueco.
    1
  • #11 por Chermitos el 08/05/2015
    Impagable
    has abierto la caja de Pandora
  • avatar
    #12 por --430038-- el 09/05/2015
    A este le voy a dedicar varias vueltas, personalmente creo que es uno de los articulos más completos de la serie, al menos para mi, el más "desconocido" de todos los que van. Interesantisimo y brillante.
    Gracias como siempre.
  • #13 por Lorp Q el 10/05/2015
    Pablo eres un fenómeno, siempre tan detallista, tus tutoriales son magníficos; ya está pidiendo un libro sobre la materia; ánimo, adelante.....
  • #14 por Jovihu el 10/05/2015
    Muy grande Pablo!
  • #15 por Astropop el 10/05/2015
    Gracias de nuevo :D

    Ahora veo más claro la diferencia entre cascada y paralelo, esos gráficos ayudan mucho.

    Saludos.
  • #16 por Bellinux Hander el 24/05/2015
    Pablo eres un maestro!!!
  • #17 por Keepin'S el 03/09/2015
    Gracias!! muy util :)
  • #18 por Keepin'S el 03/09/2015
    Vas a seguir con la serie?

    un saludo!
  • #19 por pablofcid el 03/09/2015
    Sí, pero el verano está haciendo de las suyas.
    1