Panama Hitek Logo
Panama Hitek Logo

Batería electrónica MIDI con Pro Tools 10 y EZ Drummer

¡Bienvenido a mi post sobre cómo construir nuestra propia batería electrónica MIDI! En este tutorial, aprenderemos a utilizar la placa arduino uno para crear una batería física que se comunicará con el software «Pro Tools 10» a través del puerto USB.

Para lograr esto, utilizaremos el «Plugin» EZ Drummer, que nos permitirá reproducir sonidos reales de batería y crear nuestras propias bases o temas. Debido a la complejidad del proyecto, lo dividiré en dos partes: la parte hardware y la parte software.

La parte hardware se refiere a la construcción de los pads y pedales que accionaremos para simular la batería física. La parte software se refiere a la instalación de los programas necesarios y al código que tendremos que cargar en nuestro arduino uno para que con cada golpe en los pads o cada vez que pisemos los pedales suenen los tambores, platos y el bombo de la batería virtual del EZ Drummer.

¡Sin más demora, comencemos con este emocionante desafío!

Hardware

La construcción de los pads es esencial en este proyecto. Es donde golpearemos para generar una señal que estimulará nuestro arduino para ejecutar sonidos mediante el software. Para lograr esto, utilizaremos sensores piezoeléctricos como sensores de golpe. Cada vez que golpeemos los pads, estos sensores generarán una señal eléctrica que nuestro arduino podrá leer a través de sus entradas analógicas.

Sensor piezoeléctrico

Es importante conectar correctamente los sensores piezoeléctricos en nuestro Arduino. Estos sensores están polarizados, por lo que es crucial conectar el terminal positivo correctamente. Este terminal se encuentra soldado en la parte central del piezo y debe conectarse a la entrada analógica correspondiente del Arduino.

Por otro lado, el terminal negativo, soldado en la parte exterior del piezo, siempre debe conectarse a la masa (GND) del Arduino. Además, entre los dos terminales del piezo es necesario conectar una resistencia de 1 MΩ en paralelo para limitar el voltaje y corriente generados por el sensor y proteger así la entrada analógica del Arduino. A continuación se muestra cómo se deben instalar correctamente estos sensores piezoeléctricos en nuestro Arduino.

Diagrama de conexión de los sensores piezoeléctricos

El Arduino Uno solo tiene 6 entradas analógicas, por lo que solo se pueden conectar un máximo de 6 pads para la batería virtual. Esto limita el número de tambores y platos que se pueden simular en el software EZ Drummer. Para tener una estructura más compacta y golpear los sensores piezoeléctricos, se recomienda pegarlos con cola de contacto en una superficie circular de mayor tamaño que también vibre al ser golpeada. Una opción es utilizar un tupperware circular de plástico, pero esta parte es a elección de cada uno.

Además, para darle un aspecto más atractivo a los pads, se pueden añadir 6 LEDS alrededor de cada tupperware que se iluminarán cada vez que se golpee en el pad correspondiente. Estos LEDS deben conectarse en serie, es decir, la patilla más corta de cada LED se conecta a masa (GND) a través de una resistencia de 220Ω para limitar la corriente que lo atraviesa y evitar quemarlo.

La otra patilla, más larga, se conecta al pin digital del Arduino programado para encender y apagar los LEDS del pad correspondiente. Se conectan 6 LEDS por cada pad debido a que el Arduino tiene suficiente corriente en un pin digital para encender todos al mismo tiempo cada vez que se golpee en el pad correspondiente sin problemas de alimentación. Es importante tener en cuenta que el pad 1 se compone del piezo 1 y del grupo de LEDS 1 dentro del tupperware de plástico.

Diagrama de conexión de los LEDs para cada PAD

Para finalizar y amortiguar el sonido de «plástico» al golpear la tapa, se agregó una pieza de goma EVA en la parte superior de cada pad. Al final del proceso, todo debe estar integrado dentro de cada tupperware, dando como resultado tres salidas o cables por cada pad. Uno de estos cables se conectará a la masa del Arduino (GND), ya que la masa para el piezoeléctrico y los LEDs es la misma.

Otro cable se conectará a la entrada analógica del Arduino correspondiente y el tercero se conectará al pin digital que controla los LEDs de cada pad. A continuación se muestra cómo quedaría cada uno de los 6 pads.

PAD correctamente finalizado

Para finalizar la creación de la batería virtual, se deben crear y conectar dos pedales: uno para el bombo y otro para el plato Charles. Además, se agrega un pulsador para controlar el «doble bombo» y dos LEDS para indicar el estado de cada uno de los pedales en todo momento. La construcción de los pedales se realiza utilizando un pulsador de timbre convencional, un trozo de madera como base y cable para conectarlos al Arduino.

A continuación se presenta el resultado final de cómo deben quedar cada uno de los pedales.

Pedal para Charles y para Bombo

Para finalizar la fabricación e instalación de la parte física de la batería (HARDWARE), vamos a crear y conectar los dos pedales necesarios (Charles y bombo), además de conectar un pulsador para el control del “doble bombo” y dos LEDs para indicar el estado tanto del bombo como del plato Charles en cada momento.

La construcción de los pedales se hará con un pulsador de timbre convencional que cortaremos en ángulo de 30 grados para acomodarlo a la base, un trozo de madera que utilizaremos como base del pedal, donde fijaremos el pulsador de timbre para su correcta sujeción cuando lo apoyemos en el suelo y por supuesto cable para su conexión a nuestro Arduino.

También remarcar que tanto el pedal del plato Charles como el del bombo son idénticos en su estructura física, además ambos irán conectados a entradas digitales de Arduino mediante conexión pull-down con una resistencia de 10KΩ, pero dentro de la programación van a tener tareas distintas.

Además, tendremos que conectar también un pulsador, de la misma manera que los pedales (pull-down con resistencia de 10KΩ), a uno de los pines digitales de Arduino, que cuando sea presionado será el encargado de cambiar la función de “bombo simple” a “doble bombo” del pedal del bombo. Para saber en todo momento en que MODO de los dos nos encontramos, se encenderá un LED conectado a través de una resistencia de 220Ω, para limitar la corriente que lo atraviesa, a otro pin digital de Arduino cuando estemos en “doble bombo” permaneciendo apagado cuando ejecutemos el “bombo simple”.

En esta parte también tenemos otro LED conectado a un nuevo pin digital de Arduino, limitado en corriente mediante una resistencia de 220Ω, para indicarnos cuando estamos pisando (LED encendido) o no (LED apagado) el pedal del Charles en cada momento para que, mediante programación y software, suene a “Charles cerrado” cuando pisamos el pedal o a “Charles abierto” cuando el pedal se encuentra en reposo. A continuación os muestro todo el diagrama de conexión de todos estos últimos periféricos que vamos a añadir a nuestra batería.

Diagrama de conexión de los pedales y señalización de FUNCIONES

Para asegurarnos de no olvidar las conexiones de la batería con Arduino, a continuación se presenta una tabla detallada de las conexiones. Además, se incluye una imagen de cómo deben quedar los 6 pads de la batería una vez conectados. Es recomendable utilizar una protoboard o crear nuestra propia placa de circuito impreso (PCB) para conectar la batería de manera «plug and play», de esta manera evitaremos tener que montarlo todo desde cero cada vez que usemos la batería electrónica y evitaremos contactos falsos entre los componentes.

Tabla de conexiones del HARDWARE de la batería electrónica
A continuación os muestro la imagen final de cómo nos debe de quedar nuestra batería electrónica si nos decidimos a utilizar los tupperware redondos como pads.
Batería electrónica MIDI completa
Software

La programación es más compleja que la configuración del hardware, pero no hay que preocuparse ya que no se abordará en profundidad. El objetivo es simplemente instalar el software necesario para hacer sonar la batería y cargar el programa en Arduino para que actúe como interfaz entre el hardware y el software. Primero, se instalará el programa «Pro Tools 10.3.7» y luego se agregará el plugin «EZ Drummer». Este software es compatible con Windows 7 y versiones posteriores, los usuarios de MAC OS o LINUX tendrán que buscar una manera de obtener el software.

A continuación se proporcionan los enlaces para descargar el software, que incluye todos los archivos y las instrucciones necesarias para la instalación correcta.

Una vez instalado el Pro Tools y el plugin EZ Drummer, el siguiente paso será instalar LoopBe1 Monitor. Este es un dispositivo MIDI interno que nos permite transferir datos MIDI entre programas de computadora. LoopBe1 actúa como un «cable invisible» conectando la salida MIDI de una aplicación a la entrada MIDI de otra, y en nuestro caso servirá como enlace entre la salida del conversor Serie a MIDI y la entrada MIDI de Pro Tools. LoopBe1 se ejecutará en segundo plano una vez instalado y estará siempre activo a menos que sea silenciado (MUTE).

Puedes descargar esta aplicación en el siguiente enlace.

Descarga del Puerto MIDI Virtual – LoopBe1 Monitor

Una vez que todo el hardware esté conectado correctamente a nuestro Arduino, el siguiente paso será conectarlo al PC a través del USB. Luego, cargaremos el programa llamado «Bateria_MIDI.ino», que se encuentra disponible para descargar al final de este post. Si aún no tienen el IDE de Arduino y los drivers de la placa instalados, les recomendamos revisar un post anterior donde se detalla cómo hacerlo. Además, si quieren aprender a cargar correctamente un programa (sketch) en su Arduino, hay un post adicional que explica cómo hacerlo.

El siguiente paso será descargar y ejecutar el conversor serie a MIDI según se indica a continuación.

Con el conversor en ejecución, la primera prueba que tenemos que hacer para comprobar que nuestro ARDUINO envía correctamente los mensajes MIDI al golpear los PADS o pisar el pedal del bombo es configurarlo como se muestra en la siguiente imagen.

Después de seleccionar la velocidad de comunicación, que en nuestro caso es siempre 57600 bps (baudios), y por último seleccionar tanto el puerto MIDI de entrada como el de salida. Todas las opciones de los menús se seleccionan pulsando las letras del teclado del PC que hay entre corchetes antes de cada opción.

Si hemos configurado correctamente el conversor, al golpear cualquiera de los pads o pisar el pedal del bombo sonarán las notas MIDI en piano que tengamos asignadas mediante programación para el pad o el pedal del bombo, además de encenderse los LEDS del pad que estemos golpeando y por supuesto el cuadrado del Serial RX se tiene que poner de color verde.

Esto todavía no tiene mayor relevancia puesto que es solamente para comprobar que todo va bien hasta el momento y que existe una buena comunicación MIDI con el PC, sino fuese así, tendríamos que revisar todo para ver que hemos hecho mal o que se nos ha olvidado hacer. Una vez corroborado todo esto pasamos a configurar definitivamente el conversor de la misma manera que lo acabamos de hacer, para que se comunique con “PRO TOOLS”.

Configuración serie a MIDI del conversor para Pro Tools

Lo que hace el conversor ahora es enviar el MIDI por la salida «LoopBE Internal MIDI» y no directamente al «sintetizador de Microsoft» como hemos hecho en el caso anterior, para posteriormente poder enlazar esa salida MIDI directamente a una entrada MIDI de Pro Tools y a su vez asignar ese MIDI a los platos, tambores y el bombo del «Plugin» EZ Drummer.

Siempre que queramos cargar nuevamente un programa en nuestro arduino, tenemos que cerrar el conversor puesto que ocupa la comunicación USB y el IDE quedaría sin posible comunicación con nuestro arduino (Nos tocaría volver a ejecutar y configurar el conversor cada vez que nos comuniquemos con el IDE). Ya nos estamos acercando al resultado final de nuestra batería electrónica, solo nos queda configurar la entrada MIDI en Pro Tools, asignar el «plugin» EZ Drummer a una pista MIDI que crearemos y además crear una pista de audio por si queremos ir grabando nuestros primeros temas y compases.

Para configurar nuestra batería electrónica con Arduino y Pro Tools, primero debemos descomprimir y abrir la carpeta descargada. Luego, ejecutamos el archivo «Arduino.ptx» para abrir Pro Tools con todas las pistas necesarias para trabajar. Es importante tener en cuenta que siempre que ejecutemos el EZ Drummer, debemos ingresar el código de autorización. Para obtenerlo, vamos a la carpeta EZ Drummer descargada y ejecutamos el «KeyGen.exe». Copiamos el «Computer ID» de la pantalla del EZ Drummer y lo pegamos en el KeyGen, luego damos al botón «Generate» para obtener nuestro código de autorización. Una vez autorizado, el programa tarda unos segundos en cargarse completamente.

Finalmente, vamos a la pestaña del Pro Tools «Configuración» -> «Periféricos» -> «Controladores MIDI» y configuramos el canal 8 seleccionado, ya que es el canal que se utiliza para enviar el MIDI desde Arduino.

Configuración de la entrada MIDI en Pro Tools 10

Ahora solamente nos queda de revisar que la entrada MIDI esté correctamente activado, para ello nos vamos a la pestaña de Pro Tools: “Configuración” à “MIDI” à Dispositivos de entrada… y nos cercioramos de que la casilla “LoopBe Internal MIDI” esté activada.

Para finalizar la configuración del software tenemos que revisar la configuración del “Plugin” EZ Drummer para que suene correctamente nuestra batería para ello tenemos que configurar las pistas de la siguiente manera:

Configuración de las pistas en Pro Tools 10

Para que suene la batería solamente nos queda activar el botón “REC” de la pista de “Audio 1”, además para grabar nuestros temas tenemos que activar los botones “REC” y “PLAY” generales de Pro Tools (Arriba a la derecha de la pantalla principal), y comenzar a tocar.  A continuación os dejo un video donde podréis seguir paso a paso la configuración de todo lo anteriormente explicado.

El programa «Bateria_MIDI.ino» se carga en el Arduino y su función es enviar mensajes MIDI al PC a través del puerto USB cada vez que se golpea un PAD o se presiona el pedal del bombo. Estos mensajes MIDI están compuestos por el estado de la nota (ON/OFF), el canal MIDI utilizado para la transmisión, el tono de la nota y la velocidad de reproducción. Utilizamos la función «void MIDI_TX(unsigned char MENSAJE, unsigned char TONO, unsigned char VELOCIDAD)» para lograr esto. Además, el programa también permite configurar funciones adicionales para personalizar la batería electrónica.

  • #define canal 7: Canal MIDI del 0 a 15 (+1 en el «mundo real»). Utilizo el 8 porque es el que utilizo dentro de Pro Tools 10.
  • unsigned char Nota[6] = {11,69,50,47,43,58}: contiene las notas MIDI que enviamos al presionar los PADS (del 1 al 6). Estas notas MIDI, dependiendo el SOTWARE que estemos utilizando, pueden ser unas u otras (de 0 a 127), aunque en este caso están configuradas para el “Plugin” EZ Drummer  dentro de Pro Tools 10 (Charles, caja, TOM 1, TOM 2, TOM de suelo y platillos).
  • int Nota_pedal = 36: Nota MIDI que enviamos cuando pisamos el pedal del Bombo, también configurada para el “Plugin” ES Drummer (Bombo). Mediante el pulsador denominando “pulsador_bombo”, conectado mediante PULL DOWN a la entrada digital 10 de Arduino, podremos cambiar el MODO del pedal del Bombo de “Bombo simple” a “Doble Bombo” al accionarle.
PADS relacionados y notas MIDI dentro de EZ Drummer
  • int Sensibilidad_golpeo[6] = {400,400,400,400,400,400}: Es el valor de la sensibilidad de golpeo de los PADS (valor máximo 1023). A mayor valor menor sensibilidad, es decir, más golpe tendremos que dar en el PAD para que se reproduzca el sonido correspondiente.

  • int Respuesta[6] = {70,70,70,70,70,70}: Es el tiempo mínimo de espera o respuesta entre golpes (en milisegundos). A mayor valor menor respuesta de la batería, es decir, tendremos que esperar más tiempo para poder golpear nuevamente un PAD y que tenga respuesta dentro del “plugin” EZ Drummer.
  • int Velocidad_pedal = 120: Velocidad del pedal entre 0 y 127 (elegir la que más os guste).
  • int Tiempo_maximo = 70: Tiempo mínimo de espera que tiene que transcurrir hasta que se permite pisar una segunda vez el pedal y que suene el Bombo (respuesta del pedal).

Para finalizar os dejo el “Keyboard Layout” de las notas MIDI que relacionan directamente el teclado del editor MIDI de Pro Tools con los respectivos sonidos de batería del “plugin” EZ Drummer.

Lista de Materiales
    • ARDUINO UNO Rev.3
    • Cable USB tipo A-B
    • 6 Sensores piezoeléctricos
    • 6 Resistencias de 1MΩ
    • 38 LEDS de 3mm (de distintos colores)
    • 8 Resistencias de 220Ω
    • 1 Pulsador
    • 2 Interruptores de timbre
    • 2 Trozos de madera (base pedales)
    • 4 Tirafondos
    • 3 Resistencias de 10KΩ
    • 6 Tupperware redondos de plástico
    • Plancha de Goma EVA
    • Cola de contacto
    • Soldador de 30W y estaño
    • Protoboard o en su defecto fabricar PCB
    • Cables de conexión
Código del programa

Descarga del programa “Bateria_MIDI.ino”
Video
Conclusiones

En resumen, se ha presentado un proyecto para construir una batería electrónica utilizando un Arduino Uno y varios sensores piezoeléctricos. El programa «Bateria_MIDI.ino» se carga en el Arduino y su función es enviar mensajes MIDI al PC a través del puerto USB cada vez que se golpea un PAD o se presiona el pedal del bombo. Además, el programa permite configurar funciones adicionales para personalizar la batería electrónica. Se ha detallado la lista de materiales necesarios y las características de las notas MIDI utilizadas en el proyecto.

En conclusión, este proyecto es una excelente oportunidad para los amantes de la música y la tecnología para crear su propia batería electrónica y experimentar con diferentes configuraciones y sonidos. Agradecemos al lector por su tiempo y esperamos que haya disfrutado del post.  Agradecemos a los lectores por su atención y los invitamos a comentar sus dudas o preguntas.

Posts relacionados

1 COMENTARIO

  1. Es lamentable que tan importante proyecto no se pueda realizar ya que eliminaron los archivos y programas importantes que permiten realizar este interesante proyecto. Solamente queda el mensaje escrito, pero de ahí no se puede seguir, solamente leerlo y ya.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Post relacionados