Cómo hacer un controlador MIDI con un Arduino

Cómo hacer un controlador MIDI con un Arduino

Como músico que ha acumulado una colección de instrumentos musicales y cajas de ruido, el humilde Arduino es la herramienta perfecta para crear un controlador MIDI personalizado. Si bien la Raspberry Pi puede haberse llevado la corona para los proyectos de Internet de las cosas (IoT), un Arduino Uno simple (¿cuáles son los diferentes tipos de Arduino?) Tiene potencia más que suficiente para este proyecto.





¿Primera vez usando un Arduino? No se preocupe, tenemos un completo Guía para principiantes de Arduino para leer antes de abordar este proyecto.





¿Qué es MIDI?

MIDI son las siglas de Musical Instrument Digital Interface. Describe una forma estándar para que los dispositivos musicales se comuniquen entre sí. Si posee un teclado electrónico, probablemente tenga una interfaz MIDI. Si bien hay algunos detalles técnicos involucrados en la implementación de MIDI, es importante recordar que MIDI no es audio. Los datos MIDI son un conjunto simple de instrucciones (una instrucción se llama 'mensaje') que otro dispositivo puede implementar para producir diferentes sonidos o parámetros de control.





MIDI admite 16 canales. Esto significa que cada cable puede admitir 16 dispositivos diferentes que se comunican de forma independiente entre sí. Los dispositivos se conectan mediante un cable DIN de 5 pines. DIN significa 'Instituto Alemán de Normalización' y es simplemente un cable con cinco pines dentro del conector. A menudo se usa USB en lugar de DIN de 5 pines, o se puede usar una interfaz USB-MIDI.

MIDI-Cable-Macho



Cambio de control y cambio de programa

Hay dos tipos principales de mensajes MIDI: Cambio de control y Cambio de programa.

Los mensajes de cambio de control (CC) contienen un número de controlador y un valor entre 0 y 127. Los mensajes CC se utilizan a menudo para cambiar configuraciones como el volumen o el tono. Los dispositivos que aceptan MIDI deben venir con un manual que explique qué canales y mensajes están configurados de forma predeterminada y cómo cambiarlos (conocido como mapeo MIDI).





Los mensajes de cambio de programa (PC) son más simples que los mensajes CC. Los mensajes de PC constan de un solo número y se utilizan para cambiar el ajuste preestablecido o parche en un dispositivo. Los mensajes de PC a veces se conocen como 'Cambio de parche'. De manera similar a los mensajes CC, los fabricantes deben proporcionar un documento que describa qué ajustes preestablecidos se modifican mediante un mensaje en particular.

Que necesitarás

  • Arduino
  • Conector hembra DIN de 5 pines
  • 2 resistencias de 220 ohmios
  • 2 resistencias de 10 k ohmios
  • 2 x interruptores momentáneos
  • Cables de conexión
  • Tablero de circuitos
  • Cable MIDI
  • Dispositivo MIDI o interfaz USB
Agua y madera 5 piezas DIN 5 pines Montaje en PCB enchufes hembra para teclado de PC COMPRE AHORA EN AMAZON

Plan de construcción

Este proyecto será bastante sencillo. Por supuesto, puede agregar más botones o hardware para satisfacer sus necesidades. Casi cualquier Arduino será adecuado; solo se necesitan tres pines para este ejemplo. Este proyecto consta de dos botones para controlar el programa, un puerto MIDI para enviar los datos y un dispositivo para recibir los mensajes. Este circuito se ha construido en una placa de pruebas aquí, sin embargo, es posible transferirlo a una caja de proyecto y conectores soldados para una solución robusta.





Asamblea de circuito

Circuito controlador Arduino-Midi

Conexión MIDI

Pinout MIDI

Conecte su toma MIDI de la siguiente manera:

  • Pin MIDI 5 a Arduino Transmit (TX) 1 a través de una resistencia de 220 ohmios
  • Pin MIDI 4 a Arduino + 5V a través de una resistencia de 220 ohmios
  • Pin MIDI 2 a tierra Arduino

Conexión de botón

Los botones funcionan cambiando la resistencia que 've' el Arduino. El pin de Arduino pasa a través del interruptor directamente a tierra ( BAJO ) a través de una resistencia de 10k ohmios (una resistencia de 'bajada', lo que garantiza que el valor se mantenga bajo). Cuando se presiona el botón, el valor visto por el circuito cambia a + 5v sin una resistencia ( ELEVADO ). El Arduino puede detectar este cambio usando el digitalRead (pin) mando. Conecte los botones a los pines 6 y 7 en la entrada / salida digital (E / S) de Arduino. Conecte ambos botones:

  • Lado izquierdo del botón a + 5V
  • Lado derecho del botón a Arduino Ground a través de una resistencia de 10k ohmios
  • Lado derecho del botón al pin Arduino (6 o 7)

Prueba MIDI

Ahora que todo el hardware está terminado, es hora de probarlo. Necesitará una interfaz USB-MIDI (muchas interfaces de audio pueden hacer esto) y un cable MIDI. El puerto MIDI conectado a la placa de pruebas está enviando datos, por lo que es la salida. Su computadora está recibiendo los datos, por lo tanto, es la entrada. Este proyecto utiliza el excelente Arduino Biblioteca MIDI v4.2 por cuarenta y siete efectos. Una vez que haya instalado la biblioteca, puede incluirla en su código yendo a Boceto> Incluir biblioteca> MIDI .

También necesitará un programa para monitorear los datos MIDI entrantes:

Conecte el Arduino a su computadora y cargue el siguiente código de prueba (no olvide seleccionar la placa y el puerto correctos del Herramientas> Tablero y Herramientas> Puerto menús).

|_+_|

Este código enviará un mensaje CC, esperará 1 segundo, enviará un mensaje de PC y luego esperará 1 segundo indefinidamente. Si todo funciona correctamente, debería aparecer un mensaje en su monitor MIDI.

Si no pasa nada, ¡que no cunda el pánico! Intente solucionar problemas:

  • Asegúrese de que todas las conexiones sean correctas
  • Verifique que el puerto MIDI esté cableado correctamente; debe haber 2 pines de repuesto en los bordes exteriores
  • Verifique que el circuito sea correcto
  • Verifique que el circuito esté conectado a una interfaz USB-MIDI con un cable MIDI
  • Compruebe que su cable MIDI esté conectado al aporte en su interfaz USB-MIDI
  • Asegúrate de que el Arduino tenga energía
  • Instale el controlador correcto para su interfaz USB-MIDI

Si usted es todavía teniendo problemas, podría valer la pena revisar su protoboard. Los tableros baratos a veces pueden ser muy inconsistentes y de baja calidad; me sucedió mientras trabajaba en este proyecto.

Prueba de botones

Ahora es el momento de probar que los botones funcionan correctamente. Sube el siguiente código de prueba. No es necesario conectar MIDI para probar esta parte.

|_+_|

Ejecute este código (pero mantenga el cable USB conectado) y abra Serial Monitor ( Arriba a la derecha> Monitor en serie ). Cuando presione un botón, debería ver '¡El botón uno funciona!' o '¡El botón dos funciona!' dependiendo del botón que presionó.

Hay una nota importante que se debe extraer de este ejemplo: el software de rebote. Este es un simple retardo de 10 milisegundos (ms) entre la verificación del botón y luego la verificación del botón nuevamente. Esto aumenta la precisión de la pulsación del botón y ayuda a evitar que el ruido active el Arduino. No tiene que hacer esto, aunque se recomienda.

Creando el controlador

Ahora que todo está cableado y funcionando, es hora de montar el controlador completo.

Este ejemplo enviará un mensaje CC diferente para cada botón que se presione. Estoy usando esto para controlar Ableton Live 9.6 en OS X. El código es similar a los dos ejemplos de prueba anteriores.

|_+_|

Nota: no podrá utilizar Serial.println () con salida MIDI.

Si desea enviar un mensaje de PC en lugar de un CC, simplemente reemplace:

|_+_|

Con:

|_+_|

En acción

A continuación se muestra una demostración como controlador para Ableton en Directo ( El mejor software de DJ para cada presupuesto ). La parte superior derecha muestra los medidores de audio y la parte superior central muestra los mensajes midi entrantes (a través de Monitor MIDI en OS X).

cómo hacer un gif tu fondo

¿Has hecho un controlador MIDI?

Hay muchos usos prácticos para un controlador MIDI personalizado. Podría construir una gran unidad controlada con el pie o un elegante controlador de estudio. Y si está interesado en comprar uno, aquí están los mejores controladores MIDI USB que puede comprar.

Credito de imagen: Keith Gentry a través de Shutterstock.com

¡Esperamos que le gusten los artículos que recomendamos y discutimos! MUO tiene asociaciones afiliadas y patrocinadas, por lo que recibimos una parte de los ingresos de algunas de sus compras. Esto no afectará el precio que paga y nos ayuda a ofrecer las mejores recomendaciones de productos.

Cuota Cuota Pío Correo electrónico ¿Vale la pena actualizar a Windows 11?

Windows ha sido rediseñado. Pero, ¿es eso suficiente para convencerte de cambiar de Windows 10 a Windows 11?

Leer siguiente
Temas relacionados
  • Bricolaje
  • Software de DJ
  • Arduino
  • Electrónica
  • MEDIODÍA
Sobre el Autor Joe Coburn(136 Artículos publicados)

Joe es licenciado en Ciencias de la Computación por la Universidad de Lincoln, Reino Unido. Es un desarrollador de software profesional, y cuando no está volando drones o escribiendo música, a menudo se le puede encontrar tomando fotos o produciendo videos.

Más de Joe Coburn

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse