domingo, 29 de abril de 2012

Síntesis FM. Polifonía

Ahora que ya tenemos la capacidad de producir sonidos simples, lo primero que nos llama es la necesidad de proporcionar polifonía a nuestro sintetizador para poder tocar varias notas simultáneamente en nuestro controlador MIDI.


Comenzamos añadiendo el objeto ‘poly’ a nuestro sintetizador monofónico, consiguiendo reproducir señales sinusoidales de distinta frecuencia (en función de las teclas presionadas) a la vez. Sin embargo, seguía siendo un sonido musicalmente pobre, así que buscamos ayuda en la red y encontramos un trozo de código llamado ‘polywavesynth’, de libre distribución. 


Gracias a este módulo de síntesis FM conseguimos sonidos más interesantes para nuestro sintetizador modulando distintos tipos de señales. Posee un generador de envolvente, un filtro paso bajo con control de frecuencia de corte y resonancia, control de balance estéreo y posibilidad de implementar fácilmente un módulo para ruedas de ‘pitch bending’ (presentes en la gran mayoría de teclados controladores para modular la frecuencia del sonido).


'as_synthModule': módulo de síntesis FM
Además, hemos añadido soporte para pedales de sustain, imprescindibles para tocar pianos y muy útiles para otros tipos de instrumentos; hemos reconfigurado el módulo de Active Sensing para que funcione con nuestro nuevo sintetizador; y por último y muy importante, hemos implementado la opción de separar y routear los flujos de datos de los 16 canales MIDI virtuales para independizarlos y otorgar un sonido distinto a cada uno de los instrumentos asignados a cada canal.


La versión final del módulo incluye la opción de añadir reverb al sonido y contiene una lista de presets, así como un submódulo que permite guardar y cargar configuraciones de parámetros en el sintetizador. Además, el audio generado se envía por dos canales a un mixer en lugar de ser dirigido directamente al DAC. De esta forma, podemos recoger todos los canales de todos los módulos en un sólo lugar cuya suma será la que enviemos finalmente a la salida de audio.


De esta forma, y como hemos podido comprobar en las pruebas, creando varios módulos sintetizadores tenemos capacidad para reproducir canciones con diferentes sonidos de diferentes instrumentos que tocan al mismo tiempo.

No hay comentarios:

Publicar un comentario