Tabla de contenido:

Cómo enviar música MIDI al Spielatron: 10 pasos (con imágenes)
Cómo enviar música MIDI al Spielatron: 10 pasos (con imágenes)

Video: Cómo enviar música MIDI al Spielatron: 10 pasos (con imágenes)

Video: Cómo enviar música MIDI al Spielatron: 10 pasos (con imágenes)
Video: Enviar Midi desde Ableton a Arduino y Leds 2024, Noviembre
Anonim
Cómo enviar música MIDI al Spielatron
Cómo enviar música MIDI al Spielatron

Este Instructable cubre las herramientas de software que usamos para tomar fácilmente la notación musical estándar, convertirla en un archivo MIDI y reproducirla en el Spielatron.

Paso 1: software libre

Image
Image

Siempre que sea posible, utilizamos software gratuito y de código abierto (FOSS) que se ejecuta en una computadora con Linux, en este caso con Ubuntu Mate.

Paso 2: organizar o componer música para reproducir

Exportar un archivo MIDI
Exportar un archivo MIDI

Como nuestras habilidades musicales son limitadas, componer no es una opción real, y para evitar problemas de derechos de autor, nos gusta organizar viejos clásicos en piezas de una sola línea adecuadas para el Spielatron. Básicamente, debe mantener la música monofónica, es decir, una sola nota y dentro del rango de notas G5 a G7 del Spielatron. Para este propósito utilizamos Musescore, que nos ha parecido increíble para este propósito y para crear partituras musicales a partir de las cuales tocar.

Usamos la imagen de la aplicación Linux de 64 bits disponible en

musescore.org/en/download/musescore-x86_64…

Un truco que usamos para mantener las notas en el pentagrama considerando el registro alto del Spielatron es usar la opción Treble Clef 8va de Clef Pallette, tenga en cuenta el pequeño 8 sobre la clave de sol.

Una de las mejores cosas de Musescore es la increíble comunidad que brinda ayuda, tutoriales, ejemplos y muchos archivos Musescore para descargar.

Paso 3: exportar un archivo MIDI

Una vez que esté satisfecho con su composición musical en Musescore, debe exportarla como un archivo MIDI. Esto está en Archivo - Exportar y seleccione el formato de archivo Standard Midi.

Paso 4: Conexión del Spielatron a los programas MIDI de ALSA

Conexión del Spielatron a programas MIDI ALSA
Conexión del Spielatron a programas MIDI ALSA

Como ahora deseamos enviar nuestro archivo MIDI al Arduino en el Spielatron, necesitamos una conexión entre un dispositivo USB, por ejemplo. ttyUSB0 y software MIDI, por ejemplo. Programas ALSA. Además, esta conexión se realiza a una velocidad en baudios de computadora en lugar de la velocidad en baudios MIDI estándar de 31250.

Afortunadamente, alguien más ya ha escrito un programa controlador para realizar esta tarea llamado ttymidi.

ttymidi está disponible desde aquí:

www.varal.org/ttymidi/

www.varal.org/ttymidi/ttymidi.tar.gz

Este programa solo se suministra como código fuente con un archivo make. Cuando ejecutamos el archivo make recibimos un error del vinculador y tuvimos que modificar el archivo make de la siguiente manera.

Línea de comando original que dio los errores.

gcc src / ttymidi.c -o ttymidi -lasound

línea de comando modificada que funcionó

gcc src / ttymidi.c -o ttymidi -lasound -lpthread

Al final, no ejecutamos el archivo make y solo lo compilamos con la línea de comando anterior, por lo que no está instalado en nuestro sistema. Cuando deseamos ejecutar ttymidi, abrimos una ventana de terminal, cambiamos el directorio al directorio ttymidi y ejecutamos el programa como se muestra en la imagen de arriba. Sin interruptores, ttymidi tiene una velocidad de 115200 baudios que coincide con el código que proporcionamos para el Spielatron. Tenga en cuenta que una vez que se ejecuta ttymidi, la ventana de la terminal no regresa al símbolo del sistema hasta que se ingresa "control c" que sale del programa.

Paso 5: Configuración de un nombre de dispositivo MIDI y un puerto USB

Configuración de un nombre de dispositivo MIDI y un puerto USB
Configuración de un nombre de dispositivo MIDI y un puerto USB

En este ejemplo, hemos usado ttymidi sin interruptores, que por defecto usa ttyUSB0 y 115200 baudios. Si por alguna razón necesita cambiarlos, por ejemplo. tenía más de un dispositivo ttyUSB conectado a su computadora, puede usar los interruptores como se muestra en la imagen de arriba.

Paso 6: uso de LMMS

Usando LMMS
Usando LMMS

LMMS (anteriormente Linux MultiMedia Studio) es un programa de aplicación de estación de trabajo de audio digital que es otro programa totalmente asombroso que solo somos principiantes en el uso. LMMS está disponible en el Centro de software de Ubuntu o aquí

Aunque para este propósito no estamos usando LMMS para reproducir el archivo MIDI desde la computadora, LMMS todavía espera que haya una fuente de sonido disponible para usar al importar archivos MIDI. Por lo tanto, estamos usando la fuente de sonido Unison que está disponible aquí:

ftp://ftp.personalcopy.net/pub/Unison.sf2.gz

www.personalcopy.com/linuxfiles.htm

Para usar la fuente de sonido, todo lo que necesita hacer es extraer el archivo en un directorio que va a mantener y luego en LMMS ir a Editar - Configuración - Carpetas para establecer Unison como la fuente de sonido predeterminada, como se muestra en la imagen de arriba.

Paso 7: Importe su archivo MIDI a LMMS

Importa tu archivo MIDI a LMMS
Importa tu archivo MIDI a LMMS

Importe el archivo MIDI que creó con Musescore (o desde cualquier otra fuente) a LMMS. Utilice Archivo - Importar como se muestra en la imagen de arriba.

Paso 8: Establezca la salida LMMS en TtyUSB0

Establezca la salida LMMS en TtyUSB0
Establezca la salida LMMS en TtyUSB0

Una vez que se importa el archivo MIDI, aparecerá en la ventana del editor de canciones como una pista Unison. Vaya al símbolo de la rueda dentada en el extremo izquierdo de la pista. Haga clic izquierdo en la rueda dentada, seleccione Midi y luego Salida y debería ver un dispositivo llamado ttymidi (o el nombre que proporcionó con el interruptor -n al iniciar ttymidi) como se muestra en la imagen de arriba. Seleccione este dispositivo y debería ver una marca de verificación a su lado.

Paso 9: Detenga la salida de sonido de la computadora

Detener la salida de sonido de la computadora
Detener la salida de sonido de la computadora

Si reproduce la pista en este punto, LMMS enviará el archivo MIDI tanto a ttyUSB0 (el Spielatron) como a la tarjeta de sonido de la computadora. Como el software Spielatron tiene un retardo de 200ms para permitir que los sevos rotatorios viajen, la música del Spielatron se retrasa en esta cantidad que no estará sincronizada con la salida de la tarjeta de sonido de la computadora. Esto se puede solucionar bajando el volumen de la pista Unison como se muestra en la imagen de arriba.

Paso 10: ¡Presiona Reproducir, siéntate y disfruta de la música

¡Presiona Reproducir, siéntate y disfruta de la música!
¡Presiona Reproducir, siéntate y disfruta de la música!

Presione el botón de reproducción como se muestra en la imagen de arriba y el Spielatron o cualquier otro sintetizador de música Arduino reproducirá su pieza MIDI. En el ejemplo al final del video de apertura, el Spielatron en el lugar reproduce la conocida canción folclórica del inglés antiguo Greensleeves.

Aparte de la necesidad de que la música sea monofónica y dentro del rango de G5 a G7, obviamente existe una limitación impuesta por el tiempo de respuesta de los servos. Esto significa que su música está limitada por la brevedad si se usa la nota o por los latidos por minuto (BPM) usados. es decir. si tiene un BPM alto, no podrá utilizar notas muy cortas o viceversa.

Ejemplo:

120 BPM a 4/4 tiempos (4 tiempos por compás) dan 30 compases en 1 minuto.

60 segundos divididos entre 30 dan 2 segundos por barra.

Por lo tanto, un crotchet tendrá 500ms cada uno (fácilmente dentro del tiempo de retardo del servo).

Una corchea tendrá 250 ms (justo en el tiempo que permite 200 ms para la rotación y 40 ms para el recorrido del martillo).

Una semicorchea simplemente no está encendida sin reducir el BPM.

Recomendado: