[MÚSICA] Quienes han seguido con atención los videos anteriores, you saben cómo generar distintos tipos de formas de ondas y you conocen distintos tipos de síntesis. Lo que falta por revisar es cómo hacer para que nuestros sonidos sintetizados tengan duraciones específicas y cómo hacer para manipular dichos sonidos a través del protocolo midi. Con estos dos elementos estaremos listos para construir nuestros propios instrumentos virtuales. Hasta este momento, todos los generadores que hemos programado generan sonidos que no tienen una duración específica, sino que quedan temidos hasta que yo apago el programa o desconecto el procesador digital de señal. ¿Pero cómo hacer para que los sonidos que creamos duren justamente lo que nosotros queramos? Responderemos a esta pregunta retomando un objeto que [INAUDIBLE] explicó en el primer módulo cuya función es generar rampas que vayan de un valor a otro en un tiempo específico. [SONIDO] Para programar un sonido que dure dos segundos, lo que haremos es agregar un objeto line que reciba como argumento el siguiente mensaje, 1 para definir el valor inicial, 0 para definir el valor final, y 2000 para indicar que la rampa transitará de un valor a otro en 2 segundos. Es importante destacar que entre el valor inicial y el valor final debe haber una coma seguida de un espacio y entre el valor final y el tiempo de transición debe haber otro espacio. Ahora solo tenemos que asegurarnos de que este mensaje se active cada vez que el valor de frecuencia cambie, para lo cual conectaremos un cable que enviará un bank cada vez que modifiquemos la frecuencia. Cabe decir que este bank podría quitarlo y mi patch seguiría funcionando, pues los objetos de número envían banks de manera implícito cada vez que reciben un valor nuevo. Sin embargo, dejaré la caja de bank por motivos meramente didácticos. Lo que queda por hacer es simplemente conectar los valores de la rampa a la entrada derecha de mi multiplicador de señal, para que estos funcionen como argumento de la amplitud de mi onda. [SONIDO] you sabemos cómo sintetizar sonidos con técnicas diversas y you sabemos cómo hacer para que nuestros sonidos tengan una duración específica, lo que no sabemos todavía es cómo programar sonidos que corresponden a las notas musicales y esto es algo que necesitaremos saber para construir instrumentos virtuales. La manera más directa de lograr lo anterior es utilizar tablas como la que vemos en pantalla, en la que se indica cuál es la frecuencia que corresponde a una determinada nota musical. Otra opción es calcular nosotros mismos las frecuencias, utilizando fórmulas matemáticas como la que también aparece en pantalla. Sin embargo, en ambos casos estaríamos manejando valores largos y difíciles de recordar, lo que haría impráctico el trabajo de programación. Aquí es donde se vuelve relevante traer a colación el tema del midi. Como recordarán, Diego explicó en nuestro primer curso de nuestro programa de especialidad, que el protocolo midi nos permite empaquetar información musical de una manera bastante práctica y compatible con una gran cantidad de instrumentos digitales. No vamos a repetir aquí lo que Diego explicó sobre el midi. En todo caso, si alguien no recuerda o no llevó el curso 1, le sugerimos revisar la lección 3.2 de dicho curso. No obstante, sí es importante señalar tres aspectos del midi que serán necesarias para seguir esta lección. Primero, que el midi funciona a partir de valores que se ubican en un rango de 0 a 127. Segundo, que estos valores pueden servir para definir distintos parámetros musicales como la frecuencia, la intensidad y el instrumento a utilizar. Tercero, que en el caso de la frecuencia, a cada número entero dentro del rango mencionado corresponde una nota musical de la escala cromática. Si tomamos en cuenta que la escala cromática se compone de 12 notas diferentes, podemos inferir que cada 12 valores midi volvemos a tener la misma nota pero en una octava diferente. En la tabla en pantalla, podemos ver las notas musicales que corresponden a cada número entero dentro del rango que abarca el protocolo midi. Entonces, si quisiéramos programar una escala musical por ejemplo, la escala de do mayor, simplemente tenemos que elegir la octava en la que queremos comenzar y a partir de ahí revisar en la tabla cuáles son los valores que corresponden a las notas de dicha escala. Nuevamente, si alguien no entiende lo que estamos haciendo, le recomendamos revisar el tercer módulo de nuestro primer curso, en el que Diego explicó qué son y cómo se construyen las escalas musicales. Es evidente que trabajar con valores midi es más práctico que trabajar directamente con valores de frecuencia, pero no hemos visto todavía cómo transformar unos valores en otros, siendo que los objetos generadores de señal necesitan recibir argumentos de frecuencia, no de midi. Para ello, existe un objeto en Pure Data llamado midi to frequency que se escribe así. Simplemente conectamos este objeto después de los valores midi y automáticamente hará la conversión necesaria. Noten que este objeto no lleva tilde, pues su función es transformar únicamente valores numéricos que se ubiquen en el nivel de control no de audio. Ahora sí, si conectamos nuestro convertidor de frecuencia al oscilador que habíamos creado, podemos pulsar cada uno de estos mensajes, y el programa nos devolverá las respectivas notas musicales, cada una con la duración que establecimos en nuestro objeto de rampa. Es momento de la alquimia. Solo hace falta que echen a andar su imaginación para combinar creativamente todos los elementos que hemos visto hasta ahora. Veamos un par de ejemplos. A manera de ilustración, veamos este patch en el que tenemos una onda triangular, una onda cuadrada y una onda diente de sierra que se combinan mediante un proceso de síntesis aditiva para después modificarse nuevamente con un proceso de amplitud modulada y por último aplicar un filtro pasa alto. Este pequeño sintetizador funciona con una escala de re mayor, aunque lo que en realidad nos devuelve son acordes con un intervalo de quinto. [SONIDO] Veamos ahora este otro patch, que comienza con un proceso de síntesis fm que se suma a una onda triangular que se encuentra a un intervalo de doble octava. A la suma de estas ondas se le aplica un proceso de amplitud modulada que funciona con una onda cuadrada. Nuevamente, este patch termina con un proceso de síntesis sustractiva, que esta vez consiste en un filtro pasa altos encadenado a un filtro pasa bajos. Este sintetizador genera sonidos a partir de una escala pentatónica que tiene el re como nota fundamental. [SONIDO] [SONIDO] Estos dos ejemplos cumplen con los requisitos que les pediremos en la actividad de este módulo y en ese sentido, pueden servirles para hacerse una idea del instrumento musical que ustedes programarán. Estos dos patch muestran solamente algunas de las muchas posibilidades que ustedes tienen para crear en Pure Data. you veremos qué otras posibilidades se le ocurren a ustedes en sus ejercicios de la semana. Espero que este módulo les haya sido útil. Los dejo con Hernán para el siguiente. [MÚSICA]