Introducción a la síntesis digital de sonidos: módulos elementales Emilia Gómez Gutiérrez Síntesi i Processament del So I Departament de Sonologia Escola Superior de Musica de Catalunya Curso 2009-2010 emilia.gomez@esmuc.cat 30 de septiembre de 2009 Índice 1. Introducción y definiciones 2 2. Concepto de instrumento 2 3. Concepto de generador unitario 2 4. Signal flowchart 2 5. Osciladores 2 6. Envolventes 3 7. Generadores de función 3 8. Modificadores de señal 3 1 1. Introducción y definiciones En este tema introduciremos conceptos básicos de la síntesis de sonidos. 2. Concepto de instrumento Definiremos un instrumento como un algoritmo que genera un evento musical. El instrumento genera las muestras de audio a partir de una serie de parámetros de entrada (ej: pitch, duración, etc). Un instrumento también puede recibir una señal de audio la cual procesará, transformará para dar como salida otra señal de audio. 3. Concepto de generador unitario Los lenguajes de síntesis proporcionan un número de subrutinas de síntesis que normalmente se denominan generadores unitarios (o unit generators), tal que los instrumentos de síntesis se programan mediante combinación de estos generadores unitarios. Originariamente, el diseño de estos generadores unitarios estaba basado en el principio de que debían simular los módulos de un sintetizador analógico. La razón era que los músicos electrónicos estaban acostumbrados a la configuración de patches de sintetizadores analógicos, y por tanto no les sería difícil pasar a la programación de sintetizadores digitales por ordenador. Aunque se ha evolucionado bastante, aún se conserva la filosofía de los generadores unitarios en varios sistemas y lenguajes de programación actuales. 4. Signal flowchart O diagrama de flujo de señal. Son representaciones gráficas de la forma en que los generadores unitarios se interconectan. Hay dos reglas básicas que se aplica a la interconexión entre dos generadores unitarios: 1. La salida de un generador unitario puede estar conectada a una o más entradas de otro generador unitario. 2. Las salidas no se pueden nunca conectar entre sí. Se pueden combinar con operaciones matemáticas. Cada instrumento debe tener al menos una salida. Puede haber varias si tenemos un sistema multicanal. 5. Osciladores El generador unitario más básico, pero no por ello menos importante, de un lenguaje de programación de síntesis es el oscilador. El concepto de un oscilador en un sintetizador digital difiere del de un oscilador en un sintetizador analógico. Mientras que el oscilador analógico produce sólo una onda sinusoidal, el digital produce cualquier forma de onda, incluyendo, claro, la sinusoidal. En un ordenador, el oscilador funciona repitiendo una forma de onda patrón (o template) 2 que se almacena en una tabla (lookup table). La velocidad a la cual se escanea esta tabla define la frecuencia de oscilación. figura de oscilador lookup table del libro Computer Sound Design, pp 16. Figura de un oscilador, misma página. Esta tabla contiene una lista de muestras correspondientes a un ciclo o período de la onda resultante, que no tiene por qué ser necesariamente sinusoidal. Por ello, la especificación de un oscilador siempre supone definir al menos tres párámetros: 1. La frecuencia 2. La amplitud 3. La forma de onda 6. Envolventes Envolvente: señales dependientes del tiempo. Pueden controlar, por ejemplo, la amplitud o la frecuencia de un oscilador. 7. Generadores de función Los generadores de función (o function generators) son otra clase importante de unidades de síntesis. Estos generadores crean funciones que definen las lookup tables de los osciladores y otras funciones para transformación de sonidos y control. Los generadores de función producen valores a través de procedimientos específicos o fórmulas matemáticas, como funciones trigonométricas y polinómicas. La longitud de las tablas de función se especifica generalmente con un número de muestras igual a una potencia de 2, como 29 = 512 o 210 = 1024 muestras. 8. Modificadores de señal Una tercera clase de unidades de síntesis son los modificadores de señal (signal modifiers) como podría ser un filtro paso de baja o paso de alta (que veremos más adelante en el tema de filtros). 3