a225-pÉrez pereira diseño controlador midi · el circuito implementado en un filtro activo pasa...

10
VI Congreso Iberoamericano de Acústica - FIA 2008 Buenos Aires, 5, 6 y 7 de noviembre de 2008 1 FIA2008-A225 Diseño y construcción de un controlador MIDI de percusión y sintetizador virtual, con parámetros de nota y sensibilidad ajustables Miguel Ricardo Pérez Pereira (a) Raúl Enrique Rincón Flórez (b) (a) Universidad de San Buenaventura, Facultad de Ingeniería, Programa de Sonido, Carrera 8H No. 172-20; Bogotá, Colombia. E-mail: [email protected] (b) Universidad de San Buenaventura, Facultad de Ingeniería, Programa de Sonido, Carrera 8H No. 172-20; Bogotá, Colombia. E-mail: [email protected] Abstract The audio device´s implementation, is getting common because the acceptance and standardization about MIDI protocol. They are increasingly the adaptable devices to each of the needs of musicians and of producers. This project describes the operation of percusive instruments, will be able to communicate through MIDI protocol with a software that will trigger audio samples. The control device is composed by several ceramic microphones arranged in a few surfaces that simulate the membranes of percusive instrument, these send the sign to a microcontroller that has been programmed to detect wherefrom the execution came from, the force with which it got excited and the MIDI note. This information sends a serial asynchronous communication to the software, which is capable of interpreting this information, triggering audio samples. Resumen El proyecto descrito a continuación buscar emular el comportamiento de un instrumento de percusión, donde este podrá comunicarse a través de protocolo MIDI con un programa que disparará muestras de audio. El dispositivo controlador está compuesto por varios micrófonos piezoeléctricos dispuestos en unas superficies que simulan las membranas de un instrumento percusivo, estos envían la señal a un microcontrolador que ha sido programado para detectar de donde provino la ejecución percusiva, la fuerza con que se excitó y el número de nota con el que se configuró cada pad. Este paquete de datos mediante comunicación serial asincrónica ingresa al programa, el cual es capaz de interpretar esta información, disparando muestras de audio grabadas previamente, teniendo en cuenta las variables con las cuales se ha provisto al sistema de control. Tanto el hardware como el software son configurables desde un teclado matricial y un menú que puede ser visualizado en una pantalla LCD, los cambios hechos allí se representan en las muestra disparadas por el software.

Upload: others

Post on 17-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A225-PÉREZ PEREIRA Diseño controlador MIDI · El circuito implementado en un filtro activo pasa altas de orden uno, o de 20 dB/década. Los cálculos que se realizaron para la escogencia

VI Congreso Iberoamericano de Acústica - FIA 2008 Buenos Aires, 5, 6 y 7 de noviembre de 2008

1

FIA2008-A225

Diseño y construcción de un controlador MIDI de percusión y sintetizador virtual, con

parámetros de nota y sensibilidad ajustables

Miguel Ricardo Pérez Pereira (a) Raúl Enrique Rincón Flórez (b)

(a) Universidad de San Buenaventura, Facultad de Ingeniería, Programa de Sonido, Carrera 8H

No. 172-20; Bogotá, Colombia. E-mail: [email protected] (b) Universidad de San Buenaventura, Facultad de Ingeniería, Programa de Sonido, Carrera 8H

No. 172-20; Bogotá, Colombia. E-mail: [email protected] Abstract The audio device´s implementation, is getting common because the acceptance and

standardization about MIDI protocol. They are increasingly the adaptable devices to each of the needs of musicians and of producers. This project describes the operation of percusive instruments, will be able to communicate through MIDI protocol with a software that will trigger audio samples. The control device is composed by several ceramic microphones arranged in a few surfaces that simulate the membranes of percusive instrument, these send the sign to a microcontroller that has been programmed to detect wherefrom the execution came from, the force with which it got excited and the MIDI note. This information sends a serial asynchronous communication to the software, which is capable of interpreting this information, triggering audio samples.

Resumen El proyecto descrito a continuación buscar emular el comportamiento de un instrumento de

percusión, donde este podrá comunicarse a través de protocolo MIDI con un programa que disparará muestras de audio. El dispositivo controlador está compuesto por varios micrófonos piezoeléctricos dispuestos en unas superficies que simulan las membranas de un instrumento percusivo, estos envían la señal a un microcontrolador que ha sido programado para detectar de donde provino la ejecución percusiva, la fuerza con que se excitó y el número de nota con el que se configuró cada pad. Este paquete de datos mediante comunicación serial asincrónica ingresa al programa, el cual es capaz de interpretar esta información, disparando muestras de audio grabadas previamente, teniendo en cuenta las variables con las cuales se ha provisto al sistema de control. Tanto el hardware como el software son configurables desde un teclado matricial y un menú que puede ser visualizado en una pantalla LCD, los cambios hechos allí se representan en las muestra disparadas por el software.

Page 2: A225-PÉREZ PEREIRA Diseño controlador MIDI · El circuito implementado en un filtro activo pasa altas de orden uno, o de 20 dB/década. Los cálculos que se realizaron para la escogencia

VI Congreso Iberoamericano de Acústica - FIA 2008 FIA2008-A225

2

3

21

84

U1:A

LM358LS1

MICPIEZOELECTRICO

C1

104

R139k

R2100k

C210uF

R31k

RA0/AN02

RA1/AN13

RA2/AN2/VREF-4

RA4/T0CKI6

RA5/AN4/SS7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP2 16

RC2/CCP1 17

RC3/SCK/SCL 18

RD0/PSP0 19

RD1/PSP1 20

RB7/PGD 40RB6/PGC 39RB5 38RB4 37RB3/PGM 36RB2 35RB1 34RB0/INT 33

RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21

RC7/RX/DT 26RC6/TX/CK 25RC5/SDO 24RC4/SDI/SDA 23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI 15

MCLR/Vpp/THV1

U2

PIC16F877R41k

1

5

3

2

4E J1

DIN5

R5220

R7220

1 Introducción La implementación de dispositivos en audio, se está volviendo cada día más común por

el auge, aceptación y estandarización que ha tenido el protocolo de comunicación MIDI. Son cada vez más los dispositivos adaptables a cada una de las necesidades tanto de músicos como de productores. Este proyecto es el claro ejemplo de cómo un instrumento acústico de percusión, es modificado en su comportamiento convencional para ser ejecutado en la misma manera, pero la generación de audio no dependerá de sus características acústicas, sino de las muestras de audio grabadas previamente, que serán disparadas en un programa desde la ejecución en el controlador.

2 Desarrollo del Controlador MIDI de Percusión

2.1 Electrónica En el desarrollo electrónico de este proyecto se implementaron componentes de fácil

adquisición en el mercado y de bajo costo, ya que uno de los principales objetivos de este proyecto es tratar de obtener un dispositivo de bajo costo y de altas prestaciones musicales. Dentro de la electrónica se pueden considerar dos subdivisiones, los circuitos electrónicos y la programación del Microcontrolador.

2.2 Circuitos Electrónicos Para esta etapa se diseñó un circuito bastante sencillo, que cumple con su objetivo

perfectamente, el circuito implementado se muestra en la figura 1.

Figura 1. Esquema Electrónico Eléctrico General

El plano anterior, solo contiene una de las seis entradas del circuito final. La construcción de las cinco entradas faltantes es exactamente igual, y van a los canales restantes

Page 3: A225-PÉREZ PEREIRA Diseño controlador MIDI · El circuito implementado en un filtro activo pasa altas de orden uno, o de 20 dB/década. Los cálculos que se realizaron para la escogencia

VI Congreso Iberoamericano de Acústica - FIA 2008 FIA2008-A225

3

3

21

84

U1:A

LM358LS1

MICPIEZOELECTRICO

C1

104

R139k

R2100k

C210uF

R31k

del conversor ADC1 del microcontrolador, además por el pin 25 se muestra un interruptor perteneciente al pedal de Hi-Hat, el cual dependiendo de su estado, enviará una nota perteneciente a este instrumento abierto ó cerrado.

2.2.1 Circuito de acondicionamiento de señal La señal que se muestra en la figura 2, es la producida por el micrófono piezoeléctrico

que se muestra en la figura 3, se nota claramente que por su propiedades (Amplitud, Frecuencia y Voltajes negativos), es imposibles que un microcontrolador las lea2 .

Figura 2. Respuesta Micrófono Piezoeléctrico Figura 3. Despiece Pad Se observa claramente en la grafica, que la señal procedente del micrófono, tiene un alto

contenido de frecuencias bajas, además tiene presencias de voltajes negativos. Debido a esto se implemento el circuito de acondicionamiento de señal mostrado continuación.

Figura 4. Circuito De Acondicionamiento De Señal

1 ADC: conversor análogo digital, el microcontrolador PIC16F877, posee un ADC con 10 canales de entrada 2 El canal ADC de un PIC solo soporta señales que van com

Page 4: A225-PÉREZ PEREIRA Diseño controlador MIDI · El circuito implementado en un filtro activo pasa altas de orden uno, o de 20 dB/década. Los cálculos que se realizaron para la escogencia

VI Congreso Iberoamericano de Acústica - FIA 2008 FIA2008-A225

4

El circuito implementado en un filtro activo pasa altas de orden uno, o de 20 dB/década. Los cálculos que se realizaron para la escogencia de la resistencia R1 fueron. Fc=40Hz R1= 1 / (2*pi*Fc*C1) = 39 kΩ C1= 100nf

Note también que el amplificador operacional solo está polarizado con voltaje positivo

(5Vdc), esto evita que en la salida se presente la parte negativa de la onda (ver figura 5).

Figura 5. Señal de salida del circuito de acondicionamiento de señal

2.3 Programación del Microcontrolador Uno de los principales problemas que se presentó en esta etapa, fue la velocidad del

protocolo MIDI la cual es de 31250 kbps y esta es atípica para cualquier dispositivo. Debido a esto, se implementó un cristal de cuarzo de 20 MHz en lugar de uno de 4 MHz y se programó el integrado en el copilador PICC, dicho software permite programar los microcontroladores de la familia Microchip en lenguaje C adquiriendo las ventajas de este lenguaje (facilidad, robustez y confiabilidad).

2.3.1.1 Adquisición de datos por el canal 0 del ADC Debido a que la señal que entra al microcontrolador es análoga, y además proporcional

a la fuerza de la ejecución percusiva, se puede implementar un algoritmo que reconozca esta fuerza y envíe la trama de información MIDI3 necesaria para la ejecución del instrumento. La figura 6 se muestra un aparte del código general implementado. El código configura el canal cero del ADC del microcontrolador y toma las medidas pertinentes de la señal de entrada, el algoritmo solo entrega en el registro valor0 el máximo valor del voltaje medido de la señal de entrada. Este subprograma es la pieza fundamental del algoritmo ya que es el que determina el valor de Velocidad4 (dato MIDI) o fuerza de ejecución.

3 La trama de información MIDI contiene 3 BYTE (Canal, Nota y velocidad). 4 Los valores de velocidad en una secuencia MIDI estan entre 0 y 127

Page 5: A225-PÉREZ PEREIRA Diseño controlador MIDI · El circuito implementado en un filtro activo pasa altas de orden uno, o de 20 dB/década. Los cálculos que se realizaron para la escogencia

VI Congreso Iberoamericano de Acústica - FIA 2008 FIA2008-A225

5

toma_adc0(); if (valor0!= 0) { output_b(valor0); fputc(144,mic); fputc(38,mic); if(valor0>0 && valor0<30) { fputc(32,mic); } if(valor0>30 && valor0<64) { fputc(64,mic); } if(valor0>64 && valor0<100) { fputc(100,mic);

}

void toma_adc0(void) { valor0=0; b=0; // Lectura del canal 0 set_adc_channel(0); delay_us(50); valor0=read_adc(); while(valor0>=5 && valor0>=b) { b=valor0; valor0=read_adc(); } valor0=b; } Figura 9: Subprograma que toma datos del ADC

Figura 6. Subprograma que toma datos del ADC

2.3.2 Programación del Microcontrolador La figura 10 muestra el segmento del programa principal, el cual verifica si el dato

tomado por el ADC es diferente de cero, y si es diferente de cero envía el dato como tercer byte de la trama de control MIDI. Se verifica la fuerza de ejecución y se envía uno de cuatro niveles de fuerza disponible; este algoritmo se repetirá para tantos canales de ejecución tenga el instrumento de percusión a emular.

Figura 7. Programa principal de envío de datos MIDI

Page 6: A225-PÉREZ PEREIRA Diseño controlador MIDI · El circuito implementado en un filtro activo pasa altas de orden uno, o de 20 dB/década. Los cálculos que se realizaron para la escogencia

VI Congreso Iberoamericano de Acústica - FIA 2008 FIA2008-A225

6

3 Implementación del Software de Reproducción de Muestras de audio percusivas

El desarrollo del dispositivo virtual que se encargará de tomar la información proveniente del controlador MIDI de percusión y disparar muestras de audio grabadas previamente, estará construido en una plataforma de síntesis modular de la empresa Native Instruments llamado Reaktor, el cual permite la creación de diferentes elementos útiles en el contexto de Producción Musical tales como: desarrollo de sintetizadores, procesadores en tiempo y amplitud, y diferentes herramientas asociadas a este entorno.

Cualquier algoritmo puede ser representado a través de unas estructuras primarias conocidas como “módulos” que permitirán la generación y procesamiento de audio según las necesidades del programador.

La función del programa relativo a este proyecto es la de disparar muestras de percusión que envuelven variables propias del instrumento convencional y que han sido tenidas en cuenta en la electrónica del controlador MIDI descrito anteriormente. La sensibilidad es un factor determinante en la música ya que genera tensión, relajación y esta dinámica de interpretación fue tenida en cuenta en el momento de capturar el instrumento acústico a través de cuatro golpes con diferente nivel de presión sonora, los cuales serán interpretados a través del algoritmo haciendo dependiente la muestra a reproducir de la palabra MIDI enviada desde el controlador.

El entorno de la plataforma en la cual se desarrolla el programa posee dos ventanas principales, Un panel donde se encuentran contenidos todos los elementos de control del dispositivo desarrollado y una ventana de estructura, donde a partir de módulos se genera el algoritmo de la herramienta aplicativa. Esta ventana tiene una conexión directa tanto con la entrada como la salida de la Tarjeta de Audio, pero en la implementación de este programa la entrada no es necesaria, debido a que las muestras de audio de instrumentos percusivos se encuentran almacenadas en el disco duro de la computadora y la información entrante será el lenguaje de comunicación digital conocido como MIDI.

El instrumento donde se desarrolla el algoritmo, es un módulo que cuenta con dos canales de salida para una reproducción estereofónica.

Figura 8. Estructura del reproductor de muestras

Page 7: A225-PÉREZ PEREIRA Diseño controlador MIDI · El circuito implementado en un filtro activo pasa altas de orden uno, o de 20 dB/década. Los cálculos que se realizaron para la escogencia

VI Congreso Iberoamericano de Acústica - FIA 2008 FIA2008-A225

7

MIDI cuenta con una serie de mensajes que permitirán el control de diferentes dispositivos, y específicamente para este proyecto se hace necesario utilizar un mensaje multibyte conocido como Activación de Nota, este permite el envío a través del primer byte de la codificación del mensaje y el canal de transmisión, en el segundo byte estará dispuesto el valor de la nota MIDI, que será un número que representa cada una de las notas musicales presentes en la octava y a todas las octavas en un registro musical, y por último, el tercer byte, el cual contiene el valor de la velocidad, que indicará la fuerza con la que fue ejecutado el golpe en el controlador MIDI.5

Figura 9. Software de diagnóstico mostrando la activación de notas MIDI Se hacen necesario entonces, módulos que puedan relacionar las variables mencionadas

anteriormente, con el mecanismo que permitirá la reproducción de las muestras grabadas previamente. El primer módulo cargado en la plataforma es “Note Pitch”, el cual se encargará de identificar el valor de la nota MIDI provisto en el segundo byte del mensaje de activación de nota, para que dependiendo de esta, sea ejecutado determinado elemento dentro del instrumento percusivo. El segundo módulo añadido es el “Gate MIDI” el cual se encargará de relacionar la velocidad en la ejecución del golpe sobre el controlador MIDI con el nivel de amplitud de salida de la muestra de audio, aparte de esto, el módulo proporcionará un mecanismo de compuerta para activar la envolvente, la cual controlará la amplitud de la señal de audio en función del tiempo.

Figura 10. Note Pitch y Gate Figura 11. Envolvente para control de Amplitud Un módulo fundamental en la estructura del algoritmo es el “sampler”, este ubicará la

ruta en disco duro, donde está almacenada cada una de las muestras de audio grabadas con anterioridad y recibirá un valor de nota específico, para reproducir congruentemente el audio de acuerdo con este valor y la velocidad relacionada a la ejecución. Se dispusieron un número de seis módulos “sampler” dónde cada uno representa a un elemento dentro del instrumento 5 Penfold, R.A.; (1992) Advanced MIDI, User´s Guide; First Edition; p. 19

Page 8: A225-PÉREZ PEREIRA Diseño controlador MIDI · El circuito implementado en un filtro activo pasa altas de orden uno, o de 20 dB/década. Los cálculos que se realizaron para la escogencia

VI Congreso Iberoamericano de Acústica - FIA 2008 FIA2008-A225

8

percusivo, debido al número de entradas utilizadas en el microcontrolador tanto analógicas como la digital. Cada uno de estos módulos fue cargado con cuatro muestras de audio del mismo instrumento, las cuales fueron dispuestas en un valor de nota MIDI específico, y se relacionó con un rango de velocidades dependientes de la variación en el nivel de presión sonora en cada uno de ellas.

En la figura 12 se muestra la ubicación de un “bombo” en la nota “Do” de la octava “1”, esta se reproducirá cuando la palabra MIDI tenga un valor de 36, y dependiendo del tercer byte de la activación de la nota (Velocidad), se disparará una de las cuatro muestras de este instrumento que fueron grabadas con diferentes niveles de presión sonora, teniendo en cuenta que el contenido armónico de la señal varía dependiendo de la dinámica de ejecución.

Figura 12. Módulo Reproductor de Muestras

La señal de salida del Reproductor de muestras se ha decidido enviar a un multifiltro de dos polos, para que el usuario pueda tener un mayor control de la señal para atenuar ó amplificar ciertas frecuencias de la muestra grabada. Este módulo de filtrado cuenta con una entrada para el control lineal de la frecuencia, resonancia y la entrada de la señal; También incorpora una entrada para el seguimiento de nota, en caso de contar con una frecuencia de corte que no permita la audición de la misma, existirá un corrimiento en Fc. A la salida se encuentra conectado a un Interruptor donde se podrá elegir el comportamiento del filtro desde el panel de control

Figura 13. Filtrado de la Señal

Page 9: A225-PÉREZ PEREIRA Diseño controlador MIDI · El circuito implementado en un filtro activo pasa altas de orden uno, o de 20 dB/década. Los cálculos que se realizaron para la escogencia

VI Congreso Iberoamericano de Acústica - FIA 2008 FIA2008-A225

9

Luego la señal entrará a un mezclador, donde tendrá un control para el nivel de amplitud de cada uno de los instrumentos percusivos y para la ubicación en el espacio estereofónico. Se dispuso un número de entradas del mezclador, de acuerdo a los instrumentos que incorporará el programa.

Figura 14. Mezclador Estereofónico

A Continuación se observa la estructura para un instrumento y el flujo de señal desde

que es recibido el mensaje de activación de nota, el disparo y procesamiento hasta la reproducción a través de la tarjeta de audio. Los demás instrumentos tendrán la misma configuración y convergerán en el mezclador estereofónico.

Figura 15. Estructura de un instrumento

Ahora la señal se dirige a la salida de la tarjeta de audio para que pueda ser audicionada, todos los controles creados dentro de la estructura deben organizarse en el panel de control, y comprobar que la información proveniente del dispositivo electrónico a través del Protocolo MIDI dispara las muestras, tal como se ve en la figura 16.

Figura 16. Comprobación de reproducción de la muestra

Page 10: A225-PÉREZ PEREIRA Diseño controlador MIDI · El circuito implementado en un filtro activo pasa altas de orden uno, o de 20 dB/década. Los cálculos que se realizaron para la escogencia

VI Congreso Iberoamericano de Acústica - FIA 2008 FIA2008-A225

10

Después de organizar la estructura para cada uno de los instrumentos se proceden a

hacer pruebas ejecutando cada uno de los pads de manera independiente, con el fin de determinar la respuesta del programa a las palabras enviadas desde el microcontrolador, este opera de manera correcta respondiendo a las dinámicas de ejecución de acuerdo a lo esperado desde la programación. En el reproductor de muestras existe un óptimo desempeño en ejecuciones donde existe interpretación de varios archivos simultáneos y se considera el uso de mayor número de muestras por instrumento para que no existan diferencias sustanciales entre los niveles de las muestras. Referencias Penfold, R.A, (1992). “Advanced MIDI, User´s Guide”. RA-MA, Wilmington, EUA Trubitt David, (1993). “Making music with your computer”. Hal Leonard Corporation, Winona, EUA Rona Jeffrey, (1994). “The MIDI Companion”. Hal Leonard Corporation, Milwaukee, EUA