Pistas: Práctica 2
Ahora, vamos a crear un patch con los elementos que acabamos de ver. Para ello os voy a dar el algoritmo escrito de cómo ha de ser nuestro programa y vosotros lo construiréis en Pure data. Recordad que hay diferentes formas de llegar al mismo resultado así que sentíos con libertad de combinar los objetos que acabamos de introducir de diferentes maneras para probar y conseguir resolver el problema de la manera que más cómoda os resulte:
Nuestro objetivo es reproducir las notas de la escala de una octava con nuestros altavoces, en mi caso he elegido la octava tercera y nos gustaría elegir la nota de la octava que se reproduce a traves del ratón. Importante solo enviaremos sonido a los altavoces una vez estemos seguros de que el nivel de volumen es adecuado.
1. Voy a crear un nuevo patch.
2. Necesito tener el DSP encendido para que el programa trabaje con señales.
3. Necesito hacer llegar a un oscilador los valores en Hz de las frecuencias correspondientes a la octava. Utilizar el código Midi para las notas de la octava y transformar esos valores a Hz antes de enviarlas al oscilador:
4. Necesito controlar el volumen. Voy a regular la amplitud de la señal que sale del oscilador y voy a utilizar un rango de 0-0.5 para modularla. Voy a utilizar el objeto "*~" para modular la amplitud y también puedo utilizar una slider con un rango de (0-0.5)
5. Me aseguro de que el volumen es adecuado. Voy a visualizar el nivel de volumen con el VU-meter antes de enviar la señal al dac~.
6. Una vez el volumen está bajo control y con el volumen de mis altavoces bajado enviare la señal al dac~. El volumen de mis altavoces esta fuera de pure data, por ejemplo, en mi caso es un knob, una rueda que giro en mi tarjeta de sonido.
7. Una vez escucho una de las notas de la octava probare a reproducir el resto de las notas. Enviare distintas frecuencias al oscilador.
8. Subo y bajo el volumen desde Pure data. ¿Escuchas algo raro? ¿clics y pums? Utiliza el objeto line~ para suavizar los cambios de volumen.
9. Si quiero visualizar la señal utilizare un vector y la interfaz gráfica que me permite visualizarlo.