Tabla de contenido:

Sintetizador Micro Midi: 5 pasos (con imágenes)
Sintetizador Micro Midi: 5 pasos (con imágenes)

Video: Sintetizador Micro Midi: 5 pasos (con imágenes)

Video: Sintetizador Micro Midi: 5 pasos (con imágenes)
Video: Cómo tocar en VIVO usando tu teclado como Controlador MIDI | Instalación, Conexión y PRUEBAS 2024, Noviembre
Anonim
Sintetizador Micro Midi
Sintetizador Micro Midi
Sintetizador Micro Midi
Sintetizador Micro Midi
Sintetizador Micro Midi
Sintetizador Micro Midi

Este instructivo demuestra el uso del chip VLSI VS1053b Audio y Midi DSP en su modo Midi en tiempo real. En este modo actúa como un sintetizador Midi GM (General Midi) polifónico de 64 voces. Un micro independiente Arduino Uno controla una pantalla OLED, tres botones (Selección de función y Arriba o Abajo, y pasa el flujo de datos Midi al DSP de audio. La placa de música elegida fue la placa de conexión de códec Adafruit VS1053, pero una placa de conexión de música Sparkfun También se probó con éxito Las bibliotecas Adafruit VS1053b se utilizaron en lugar de la biblioteca SFEMP3 mucho más grande (recomendada por Sparkfun aunque también tienen su propio conjunto de bibliotecas), porque encontré el código de Adafruit más fácil de entender.

La mayor parte del código utilizado para controlar el DSP de audio / midi se desarrolló utilizando un Arduino Uno conectado a la placa de conexión de audio / midi a través de una placa de pruebas. Después de que se encontró que las funciones funcionaban satisfactoriamente, el Uno se usó como programador para un ATmega 328 independiente que luego se colocó en una placa Veroboard pequeña de tamaño 30x20 junto con el IC optoaislador 6N139 requerido en el zócalo de entrada Midi (un DIN de 5 pines). También se conectó un pequeño protector OLED (64x48), tres botones, un LED de actividad Midi y un conector de barril de +5 voltios para la alimentación y el conector de salida de audio estéreo agregado. Los requisitos de energía son muy modestos, alrededor de 20 mA a 5 voltios.

Paso 1: Lista de piezas

ATmega328 Micro 28 pines DIP + zócalo DIP de 28 pines 6N138 o 6N139 optoaislador + zócalo DIP de 4 pines Wemos 64x48 I2C Pantalla OLED o similar Adafruit VS1053b Placa de conexión de códec 3 pulsadores miniatura 5 pines DIN Midi zócalo de montaje en PCB preferido LED pequeño de cualquier color Toma de corriente tipo barril para la fuente de audio de 5v Toma para conectar a un amplificador o auriculares Resistores: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Condensadores: 0.1uF 50v plástico, 10uf 25v electrolítico, 2 x 27 pF cerámica Pequeñas piezas de Veroboard (30 tiras por 20 columnas y 4 tiras por 16 columnas), carcasa de plástico ABS de unos 85x55x25mm, cableado y unos tornillos, tuercas y arandelas.

Paso 2: construcción

Construcción
Construcción
Construcción
Construcción
Construcción
Construcción

La tapa del gabinete alberga la pantalla OLED, los tres botones que están montados en otra pequeña pieza de Veroboard y el conector de alimentación del barril. La placa de circuito principal de Vero tiene dos orificios para fijar la placa de conexión de música sobre el ATmega328. Para obtener detalles sobre la conexión, consulte el diagrama de la placa de banda Fritzing.

El ATmega328 programado (consulte la siguiente sección para obtener el código) se inserta en su enchufe seguido del 6N139 y todo está conectado.

El LED se utiliza como indicador de actividad Midi y se montó en la parte frontal del gabinete. Está conectado a la salida D2 del ATmega328 a través de una resistencia de 470 ohmios.

La pantalla OLED usa la salida de 3.3 voltios de la placa Adafruit para obtener energía; requiere menos de 20 mA.

Intente intercambiar las dos conexiones Midi Din si no escucha ningún audio cuando usa el sintetizador por primera vez.

Paso 3: software

Los detalles del boceto que debe cargarse en el ATmega328 se dan en MidA.ino. Hay siete funciones disponibles:

Opción P: Cambiar programa - cambia el instrumento GM Midi de 1 a 128 (yo usé 0 a 127) como un sonido de piano o sintetizador. Opción B: Cambia el banco de instrumentos entre melódico (banco 0) y percusión (banco 1). Opción V: Ajuste el volumen de 1 a 10. Opción C: Cambie el canal Midi al que responderá el Sintetizador. Las opciones son Canal 0, canal 1, canal 9 (percusión), canal 0 y 9, y canal 1 y 9. Opción R: Activar o desactivar el efecto de reverberación Opción S: Guardar los parámetros actuales en la memoria Eeprom (Arriba) o Leerlo (bajarlo) de la memoria Eeprom. Esto se debe a que, de lo contrario, la configuración no se guarda al apagar. Opción X: Enviar un mensaje de desactivación de todas las notas (Midi Reset).

Una octava opción aún no está implementada: esto omitirá el ATmega como un filtro Midi y conectará la salida del optoaislador directamente al pin Rx de la placa DSP.

Tenga en cuenta que el VS1053b arranca en un modo Midi en tiempo real cargando un parche comprimido de 1039 bytes durante el arranque; esto también aumenta el tamaño del búfer Midi y filtra los bytes de datos Midi exclusivos del sistema. Los detalles de este parche se pueden encontrar en el sitio web de VLSI.

Se ha utilizado una versión ligeramente modificada de la biblioteca de gráficos Adafruit para satisfacer la resolución de 64x48 píxeles de la pantalla OLED; consulte los enlaces que se encuentran al final para Mr Mcauser. Se proporciona una lista de las bibliotecas necesarias en el código de croquis.

Es importante destacar que cuando el boceto se ejecuta por primera vez en el ATmega328, ya sea en un Uno o de forma independiente, el código cargará los ajustes preestablecidos de parámetros del ATmega328 Eeprom que pueden no ser válidos. En ese caso, puede escribir todos los ceros en la Eeprom usando la opción X con el botón hacia abajo, o comentar la línea en la función de configuración vacía que carga los valores de la Eeprom cuando se inicia por primera vez, ajustar sus instrumentos, etc. a su me gusta y luego guarde sus ajustes preestablecidos con la opción S botón Arriba.

Se da crédito a todas las personas y entidades mencionadas por su código y bibliotecas.

Paso 4: enlaces

VLSI:

Adafruit:

Github VS1053b:

Gráficos Github:

Oled:

Sparkfun:

Paso 5: usar el tablero Sparkfun con las bibliotecas Adafruit

Usando el tablero Sparkfun con las bibliotecas Adafruit
Usando el tablero Sparkfun con las bibliotecas Adafruit

La tabla de la imagen explica cómo conectar Adafruit o Sparkfun Music Boards para usar otra biblioteca.

Recomendado: