Midi2SamplerSynth es una aplicación web que convierte archivos MIDI en instrucciones compatibles con Arduino y la librería samplerSynth (https://github.com/habuenav/samplerSynth) , permitiendo la reproducción de archivos MIDI en la placa ESP32 utilizando las características de la librería samplerSynth. fue desarrollada usando la libreria Tone.js para javascript.
- Conversión de archivos MIDI: Convierte archivos MIDI en instrucciones Arduino.
- Compatibilidad con samplerSynth: Genera código compatible con la librería samplerSynth para ESP32.
- Interfaz amigable: Interfaz web intuitiva para cargar archivos MIDI y configurar las opciones de conversión.
- Reproducción de MIDI: Reproduce archivos MIDI directamente desde la aplicación web utilizando Tone.js.
- Navegador web moderno (Google Chrome, Mozilla Firefox, etc.)
- Placa ESP32
- Librería samplerSynth instalada en el entorno Arduino
- Abre el archivo index.html en tu navegador.
- Arrastra y suelta el archivo MIDI en el área designada o usa el botón de carga.
- Tipo de código: Selecciona si deseas generar un Sketch completo o solo una Función.
- Nombre de la función: Si seleccionas Función, proporciona un nombre para la función.
- Instrumento: Elige el instrumento que deseas usar para la reproducción.
- Volumen: Ajusta el volumen de la reproducción.
- Poly: Establece el número máximo de notas que pueden sonar simultáneamente.
- Por ultimo Carga tu archivo MIDI.
El código Arduino generado aparecerá en el área de resultados. Copia el código y pégalo en tu entorno de desarrollo Arduino. Sube el código a tu ESP32: Conecta tu ESP32 a tu computadora, sube el código generado y si todos esta bien configurado y conectado este empezara a sonar.
Usa la aplicación web para reproducir el archivo MIDI y verificar cómo sonará en tu ESP32.
#include <samplerSynth.h>
void Riff() {
notaOn(67, 91, 166);
delay(333);notaOn(67, 93, 83);
delay(166);notaOn(62, 86, 166);
delay(333);notaOn(62, 98, 83);
delay(166);notaOn(67, 110, 166);
delay(333);notaOn(67, 98, 83);
delay(166);notaOn(62, 91, 166);
delay(333);notaOn(62, 94, 83);
delay(166);notaOn(63, 100, 166);
delay(333);notaOn(63, 95, 83);
delay(166);notaOn(63, 94, 166);
delay(166);notaOn(65, 108, 166);
delay(166);notaOn(63, 91, 166);
delay(166);notaOn(62, 90, 499);
}
void setup() {
Serial.begin(115200);
initSynth();
setVolumen(40);
setMaxNotas(8);
setInstrumento(0);
delay(1000);
Riff();
}
void loop() {}
Este proyecto fue desarrollado por Holman Buenaventura en 2024. La idea surgió de la querer ampliar la utilidad de la libreria samplerSynth y lo que se buscaba era reproducir archivos MIDI en la placa ESP32 gracias a la librería samplerSynth, proporcionando una forma fácil y accesible de convertir y generar el código necesario para tal fin.
¡Las contribuciones son bienvenidas! Si tienes sugerencias, encuentra un error o deseas agregar una nueva característica, por favor abre un issue o envía un pull request.
Si te gusto este proyecto o simplemente te sientes generoso, considera invitarme una cerveza. ¡Salud! 🍻
¡Tu apoyo es invaluable!