Síntesis FM

Original por Louis Gorenfeld (e-mail: louis / gorenfeld.net)
Traducción y adaptación por Sergio de Prado (e-mail: sergeeo / gmail.com)

Objetivo de este documento

La mayoría de webs y de artículos sobre la FM se centran en detallar las matemáticas y la implementación que hay detrás de este poderoso método de síntesis. De hecho, tuve bastantes problemas para encontrar un texto introductorio. Después de estar haciendo música con dispositivos OPL2 durante unos cinco años, decidí escribir este artículo con la esperanza de hacer la programación FM menos oscura.

¿De qué va todo esto?

La FM es una técnica de síntesis muy versátil y sencilla inventada por John Chowning y patentada por cierta compañía. La FM funciona cambiando el sonido de un oscilador mediante la salida de otro oscilador. La FM al estilo de Yamaha realmente no utiliza la modulación de frecuencia, sino la modulación de fase. Ésta produce sonidos similares modificando la posición de lectura de un oscilador en función de la salida de otro oscilador.


Ahora algo de terminología: la onda modulante es llamada... por raro que pueda parecer... moduladora (modulator). La onda que está siendo modulada se llama portadora (carrier). Los osciladores son normalmente llamados operadores (operators).

¿Pero por qué se iba a interesar alguien por todo esto? Mientras que podemos obtener profundos sonidos con barridos de filtro con los sintetizadores analógicos (substractivos) y sonidos casi perfectamente realistas con modelado físico y síntesis por tabla de ondas, el encanto de la FM radica en la posibilidad de crear elegantes sonidos semirrealistas de instrumentos y timbres sintéticos únicos. Produce una variedad de timbres enorme: bajos slap con pegada, sonidos de campana ricos en armónicos, colchones cálidos, excelentes sonidos de teclado para acordes complejos, percusión compacta, leads elásticos y muchos más.

Programas que puedes probar:
  • FM Dreams (windows): Sintetizador escrito en Visual Basic, no es en tiempo real.
  • FM7 y FM8: Sintes FM complejos, pero con un sonido muy profesional. Incluyen ejemplos que muestran realmente el poder de esta técnica de síntesis.
  • RadTracker: Adlib tracker, funcionará en DOSBox también. Fácil de utilizar, muestra de manera muy clara los diferentes parámetros en la parte superior de la pantalla.
  • MDA DX10(JX10?): Plug-in VST gratuito, con sonido muy primitivo. Intenta ser de fácil manejo, pero tiene opciones bastante limitantes.
  • Hexter (Linux, Windows): Plug-in VST/DSSI que imita un DX7.
  • FMHeaven (OS X, Windows): como FM7.
Venga, ¡empecemos!

Vamos a comenzar utilizando con dos operadores. Esto facilita bastante el aprendizaje de cómo funciona la FM.
Primer punto: las formas de onda son más fáciles de entender que los algoritmos. Todo el mundo conoce las formas de onda típicas de otros tipos de síntesis, pero sólo estos locos sintetizadores digitales tienen todos esos algoritmos diferentes. Además, es bastante difícil comprender qué está ocurriendo al cambiar cualquier parámetro cuando tienes seis o más operadores enlazados.
De momento no usaremos más de una onda senoidal. Así que con cualquier sintetizador FM sencillo nos vale.

Factores de modulación

La modulación, al menos en los sintetizadores OPL2, se basa en el multiplicador. Esto quiere decir que multiplica la frecuencia de cualquier nota por un número. Si das un tono de 100hz, un multiplicador de 2 te dará 200Hz y uno de 3 te dará 300Hz. Con esto podemos hacer truquitos: si sumamos los operadores en vez de modularlos, podemos crear acordes con tan solo una voz. Primero hemos de darnos cuenta de la relación entre 200Hz y 300Hz. Ya que 300Hz está a medio camino entre 200Hz y 400Hz, forma un intervalo de quinta justa (7 semitonos). Esto es muy útil para formar acordes cuando tenemos pocos canales libres. ¡Si solapamos dos sonidos de este tipo, podemos conseguir cuatríadas usando solo dos canales! Por ejemplo, un C5 y un E5 solapados producen un acorde CMaj7 (C, E, G, B). Cuanto mayores son los factores de modulación, los intervalos posibles se reducen.

Nuestro primer sonido: un bajo

Con FM podemos hacer buenos sonidos de bajo eléctrico de una manera sorprendentemente fácil. Incluso si no llegas a hacer otra cosa con FM, al menos deberías ser capaz de hacer bajos estupendos. ¡Allá vamos!
Pon el ataque de ambos osciladores a cero y los decaimientos en un valor medio-lento aproximadamente, en función de cómo esperes que sea la cola de tu bajo. Muy bien. Ahora, pon la portadora a tope de volumen y el modulador a cero. Cuando lo hagas sonar, deberías escuchar un buen bajo de onda senoidal. Puede ser un poco difícil de oir si no tienes un buen altavoz para graves o subwoofer. Si no escuchas nada, es porque probablemente hayas dado valor cero al oscilador equivocado.

Ahora, sube el modulador y toquemos algunas notas. Escucharás que el sonido gana cierto carácter "de muelle". Así es, subiendo el modulador subimos el brillo del timbre. Si lo subes más de la cuenta empezarás a escuchar ese sonido "¡blargh!" que has escuchado a cualquier músico de videojuegos que haya escrito para un sistema basado en FM.

Muy bien, vamos a dejar el volumen del modulador más o menos a mitad de manera que suene bien y vamos a intentar otra cosa.

En vez de tener el valor del factor de modulación a 1, ponlo a 2. Ahora debería sonar un poco más parecido a una onda cuadrada que cuando estaba a 1. Más abajo están las formas de onda y espectros para tonos FM 1:1 y 1:2 con un modulador moderadamente alto. Ahora intentaremos algo nuevo.

Haciendo sonidos metálicos desagradables

Bueno, ahora que ya hemos hecho un timbre utilizable, vamos a ver si podemos asustar al gato. Sigue subiendo el factor de modulación del modulador y el sonido producirá un sonido metálico más y más agudo. Además, el sonido debería volverse más enclenque. Sube y baja el volumen del modulador y verás que el volumen (pero no el tono) del componente metálico del sonido cambia. Si dejamos el decaimiento con un valor suficientemente largo y bajamos el volumen del modulador a un nivel apropiado, obtendremos sonidos de tipo campana. Si tocas otro sonido parecido encima, pero ligeramente desafinado, sonará mucho mejor. Usando un factor de modulación lo suficientemente alto en el modulador y con un decaimiento corto en ambos osciladores (un poco más corto en el modulador que en el portador) obtendremos un buen sonido de marimba.
Segundo punto: El volumen del modulador y el factor de modulación afectan al brillo del sonido, aunque no necesariamente se corresponden con él. El factor de modulación del modulador en una configuración de dos operadores es en parte responsable de determinar qué altas frecuencias aparecen en el sonido, y el volumen del modulador por su parte determina en qué grado quieres que aparezcan estas frecuencias. Esta función describe el fenómeno. Te mostrará la amplitud de las frecuencias añadidas en relación a los factores de modulación.
Trompeta y clarinete FM

Ahora que tenemos una somera idea de lo que hacen algunos de los parámetros, vamos a recrear algunos timbres FM clásicos. De nuevo, deja el volumen del modulador a la mitad y pon ambos valores del factor de modulación a 1. Si tocamos con este sonido en un registro grave, sonará como nuestro bajo original. Ahora, vamos a reducir el ataque en ambos osciladores para imitar el sonido de una trompeta real. No obtenemos un sonido muy bueno de tormpeta, pero tiene reminiscencias de ese instrumento. Prueba a utilizar otras ratios también. 2/3 es considerado un sonido de clarinete. Cualquiera que esté probando estos ejemplos clásicos de FM esperando obtener tonos utilizables en su música se desilusionará bastante rápido. Estas pruebas son más una especie de muestra de la versatilidad de la FM que sonidos agradables de instrumentos.

Retroalimentación FM

La retroalimentación es utilizar la salida de un oscilador para alimentarse a sí mismo como una onda moduladora. Creo que en los sintes Yamaha FM como el OPL2 la retroalimentación toma la última muestra de la salida entre dos y la suma en la modulación de la portadora. Esto es muy útil porque simula tener más operadores de los que el sintetizador tiene realmente. De hecho, podemos obtener una trompeta FM mejor que la del ejemplo clásico utilizando sólo un operador FM auto-oscilante. La retroalimentación tiende a hacer los sonidos más afilados (más parecidos a los producidos por ondas cuadradas o de sierra) y, si se sube lo suficiente, llega a producir ruido.
Tercer punto: los operadores automodulantes, o retroalimentados, pueden producir tonos afilados y ruido.
Modelando percusión con FM

Cajas

Inicialmente, la mayoría de la gente intenta hacer un sonido de caja utilizando sólo ruido. Esto no suele funcionar demasiado bien, ya que el sonido carece de tono (afinación). De hecho, ¡suena como si alguien estuviera escupiendo! Para hacer una caja convincente, necesitas tres cosas: ruido, tono y golpe de ataque. Una de las ventajas de la síntesis FM es que te permite conseguir un poco más de pegada que la síntesis aditiva convencional. Primero, configura un algoritmo parecido a este:

1-2
    +->out
3-4

Como puedes ver, tenemos dos pares modulantes (1 con 2 y 3 con 4). La salida de estas luego se suman (mezclan) para crear un sonido final. Si estás utilizando algo tan cursi como el OP2 que sólo tiene dos operadores, puedes utilizar dos canales: uno para el tono y otro para el ruido. Vamos a denominar "par de ruido" a 1&2 y "par de tono" a 3&4.

Para el par de ruido, vamos a poner la retroalimentación al máximo y ambos operadores a todo volumen. Esto debería crear algo parecido a ruido puro. Para hacer este ruido más suave, puedes reducir los factores de modulación. Para hacer que suene más la bordonera, puedes bajar un poco el modulador (dejando los factores de modulación en 1:1). Asegúrate de que el modulador no tiene decaimiento.

El tono es la parte divertida de todo esto. Queremos una onda seno con pegada al principio. Para hacer esto, vamos a subir el volumen del modulador alto y un decaimiento muy rápido (un par de docenas de milisegundos). La portadora debería decaer de la misma forma que la portadora del ruido.

Ahora, reproduce el sonido en un rango medio, sobre los 300hz. Deberías bajar un poco el volumen de la componente de ruido, de manera que ambas partes empasten mejor. Si has seguido los pasos correctamente, debería sonar como un sonido convincente de caja sintética.

Podríamos utilizar esos pads...

Hihat

La mayoría del resto de sonidos de percusión pueden ser definidos utilizando sólo un par. Vamos a intentar un hihat. En primer lugar, vamos a subir el factor de modulación y el volumen del modulador. A continuación  ajustamos los decaimientos a los típicos de un hihat (puedes emular un hihat abierto con un decaimiento más largo). Ahora sube la retroalimentación a tope. Baja lentamente el volumen del modulador hasta que escuches un sonido percusivo adecuado. Una de las cosas buenas de la FM es que, como el ruido está generado a partir de senos, es fácil conseguir efectos de ruido cíclico como este.

Bombo

En un bombo normal de síntesis aditiva, deberías tener dos componentes. Uno sería una onda senoidal que baja muy rápidamente y que proporciona la parte profunda del instrumento. El otro sería, como ocurre en la caja, un ataque al principio del sonido que llame la atención del oyente. De nuevo, lo genial de la percusión modelada en FM es la profundidad y la pegada que puede llegar a tener. Para la bajada de tono, deberías empezar en torno a los 200hz y terminar en torno a los 60. Lo ideal es conseguir un sonido de bombo que se desvanezca en un rango de frecuencias todavía audibles. Experimenta con las frecuencias del bombo hasta conseguir lo que te guste. Para añadir el ataque, sumaremos el oscilador modulante a mitad de volumen. Este ataque debería decaer mucho más rápido que el de la caja. Realmente no queremos que el oyente lo perciba conscientemente, pero debería ser lo suficientemente largo como para aportar esa pegada extra. Jugar con el factor de modulación de la onda moduladora puede reportar mejores resultados.

Otras formas de onda

A veces, utilizando sólo ondas senoidales no puedes conseguir el sonido que buscas. En FM las otras formas de onda no suelen aportar todos los armónicos que deberían (como en un sinte substractivo). Introducir formas de onda no relacionadas con el seno normalmente produce sonidos más sintéticos. Si por ejemplo tomamos una onda de diente de sierra como moduladora, el sonido tomará un carácter de diente de sierra (de una manera menos intuitiva que en un sintetizador substractivo). Algunos sintetizadores FM, como el DX7, sólo tienen ondas de seno, pero a cambio ofrecen seis operadores. Estos operadores pueden ser sumados para crear una nueva forma de onda, que podrá ser usada como moduladora o portadora para FM.
Cuarto punto: Formas de onda complejas o sutilmente diferentes al seno, no tienen un efecto demasiado sutil en un sonido FM.
La importancia del efecto de coro (chorus)

Ahora debes estar diciendo "muy bien, la FM puede hacer muchos sonidos diferentes, pero la mitad de ellos son demasiado canijos". ¡Bueno, nadie llega a ninguna parte sin una pizca de desafinación! Para esos sonidos FM simplemente duplica la salida y desafina una de ellas un poco. No necesariamente tiene que ser el mismo sonido: puede funcionar una versión más suave (o con menos osciladores). Este truco ayuda a hacer todo tipo de sonidos "de sección" convincentes. Por ejemplo, un sonido de sección de metal puede estar formado por una serie de capas FM con ataques parecidos a los de una trompeta. en algunos sintetizadores, la moduladora puede ser desafinada con respecto a la portadora. Esto crea un sonido más duro y es útil para añadir "arenosidad" a timbres demasiado limpios, como pasa con los sonidos de viento.
Quinto punto: No olvides utilizar distintas capas y desafinación como haces con otros sintetizadores.
Configuraciones de más de tres operadores


En cascada

1-2-3-> out

Los operadores en cascada pueden ser utilizados para producir timbres mucho más complejos de los que podríamos conseguir con una configuración de dos operadores. Siempre utilizo esta configuración para conseguir sonidos tipo cuerda. Por ejemplo, la primera moduladora puede ser usada como un sonido de púa que modifica el tono del par final. Timbres ricos como bajos tipo slap pueden ser creados si la primera moduladora es suficientemente alta y no se desvanece rápidamente. Efectos de ruido con tono o de distorsión también pueden ser creados si el primer operador está configurado para emitir ruido por retroalimentación.

Moduladora doble

1
 +-3->out
2

En un OPL2/3 o Yamaha TX81z, contamos con el lujo de tener varias formas de onda. En otros muchos sintetizadores como el FB-01 o el famoso DX7, sólo encontramos ondas senoidales. Esto no es necesariamente un obstáculo ya que podemos sumar, como hemos dicho anteriormente, diferentes ondas antes de utilizarlas como moduladoras. El efecto es algo así como "un espectro adicional impuesto sobre el original" (Moore, Elements of Computer Music, p. 330).

¡El clásico!

Recuerda que un bajo número de armónicos son necesarios para conseguir formas de onda complementarias en FM: formas de onda clásicas pueden requerir hasta tres osciladores. Una ventaja de hacerlas a partir de múltiples osciladores en vez de directamente por hardware, es que cada uno de los componentes puede tener asignado una envolvente independiente.

Las formas de onda OPL

Las formas de onda OPL no son ondas clásicas como la onda cuadrada o la de diente de sierra. Son variantes de las ondas senoidales. Por ejemplo, las formas de onda de la 1 a la 3 se producen leyendo la tabla de senos en diferente orden. La forma 1 se trata de medio ciclo de onda seno, con la segunda mitad "en blanco". La forma 2 reproduce la primera mitad repetida. Por último, la forma de onda 3 es un cuarto del ciclo del seno seguido de un cuarto de ciclo en blanco. El corte abrupto que se produce la convierte en la forma de onda más afilada de las cuatro existentes en OPL2.

Formantes FM

Un grupo formante es una región en el espectro de frecuencias que enfatiza un tono específico y las frecuencias que le rodean. En las representaciones gráficas típicamente se observan como formas "de joroba" que están centradas en torno a una frecuencia determinada. En FM, una forma similar puede ser creada situando el tono de la portadora por encima de la moduladora. A medida que se incrementa el factor de modulación de la portadora, se mueve el centro de la formante. Por ejemplo, comenzando con una ratio de 2:1 dando las siguientes frecuencias:

Armónico 1, 2, 3, 4, 5, 6, 7, etc
Frecuencia (Hz) 262, 523, 785, 1047, 1308, 1570, 1832, etc

A 2:1, las tres frecuencias más altas son 262, 523 y 785. A 3:1, las frecuencias más altas son 786, 1047 y 1308. Si subimos a 4:1, las frecuencias serían 1308, 1570 y 1832.

Bueno, pero... ¿esto para qué sirve? Resulta que si analizamos los espectros de instrumentos o voces, nos daríamos cuenta de que pueden ser divididos en varios grupos formantes. ¡Pueden ser sintetizados sumando diferentes grupos formantes!

Un ejemplo similar mostrado en Snd

Aliasing

Al tratarse de una técnica de síntesis no lineal, la FM no tiene límite de banda. Esto significa que puede producir ondas que contengan frecuencias demasiado altas para una frecuencia de muestreo determinada. Cuando una señal contiene una frecuencia de esa altura, se producen sonidos inesperados. Este fenómeno es llamado "aliasing". Poingamos que tomamos una onda senoidal a una frecuencia cercana al máximo permitido. Si vamos subiendo de tono, las frecuencias que se escuchan van paulatinamente bajando en tono a medida que vamos subiendo más allá de lo "legal". Un nombre alternativo para este comportamiento es "foldover".

Lo que esto quiere decir es que un sonido extremadamente afilado no tiene por qué sonar igual a diferentes frecuencias de muestreo. Podríamos crear efectos de ruido cíclico, como el hihat mencionado anteriormente, utilizando moduladoras muy altas. Eso sí, si este sonido se reproduce a una frecuencia de muestreo diferente, seguramente sonará distinto.