Tabla de contenido:

Sintetizador Arduino MIDI Chiptune: 7 pasos (con imágenes)
Sintetizador Arduino MIDI Chiptune: 7 pasos (con imágenes)

Video: Sintetizador Arduino MIDI Chiptune: 7 pasos (con imágenes)

Video: Sintetizador Arduino MIDI Chiptune: 7 pasos (con imágenes)
Video: Lección 2 Curso Arduino Musical por Daniel Marcial, Aprende a construir controladores MIDI 2024, Mes de julio
Anonim
Sintetizador Arduino MIDI Chiptune
Sintetizador Arduino MIDI Chiptune

Revive la diversión de la música de los primeros juegos de ordenador con un auténtico sintetizador chiptune de 8 bits, que puedes controlar a través de MIDI desde la comodidad de cualquier software DAW moderno.

Este circuito simple usa un Arduino para manejar un chip generador de sonido programable AY-3-8910 (o uno de sus muchos clones) para recrear ese sonido de los 80. A diferencia de los muchos diseños que necesitan software especializado para editar música, este parece un dispositivo MIDI USB estándar. El sintetizador tiene un algoritmo inteligente que intenta mantener tocando las notas más relevantes musicalmente; en muchos casos, puede lanzar archivos MIDI sin editar directamente y la melodía sale bien. El costo total debe ser de aproximadamente £ 20.

Paso 1: Cosas que necesitará

Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
Cosas que necesitará

La lista completa de piezas para esto, como se ve en las imágenes, es la siguiente:

  • Sparkfun Pro Micro clon (opción 5V, 16MHz). Usé este en Amazon.
  • Chip Yamaha YM2149F PSG. Conseguí el mío en eBay.
  • Condensadores cerámicos 2 x 100nF
  • 1 de cada una de las resistencias de 75R, 1K y 100K (la clasificación de 1/4 vatio está bien).
  • Condensador de disco cerámico 4.7nF
  • Condensador electrolítico de 1uF (tensión nominal> 5V).
  • Toma IC DIP de 40 pines y 0,6"
  • 2 encabezados de 12 vías de 0,1 "(este de CPC)
  • Tablero de prototipos, 3 "por 2" aprox. Compré un paquete a granel de estos, nuevamente en Amazon.
  • Toma de fono para montaje en PCB
  • Alambre de núcleo sólido en miniatura (como este).

También necesitará un soldador, soldador, alicates, alicates y un pelacables.

Paso 2: Piezas alternativas

Partes alternativas
Partes alternativas
Partes alternativas
Partes alternativas
Partes alternativas
Partes alternativas

Chips generadores de sonido programables alternativos

El YM2149 que utilicé es un clon del IC original de General Instruments AY-3-8910. (El primer prototipo usó un AY-3-8910 que compré en eBay, pero resultó que el generador de ruido blanco no funcionaba. Cara triste). Puede utilizar cualquiera de los dos para este proyecto sin ningún cambio.

General Instruments también fabricó las variantes AY-3-8912 y AY-3-8913, que era el mismo silicio dentro de paquetes más pequeños, sin algunos pines de E / S adicionales. Estos pines no son necesarios para ningún propósito de audio y este proyecto no los usa. Puede usar un AY-3-8912 o -8913, simplemente siga los pines que se muestran arriba.

Arduinos alternativos

El "Pro Micro" que utilicé es una copia de la placa Pro Micro de Sparkfun. Si no está seguro con el código Arduino, es mejor seguir con esto; si está contento de adaptar el diseño, necesitará las siguientes especificaciones

  • Dispositivo ATmega 16u4 o 32u4 (necesario para actuar como un dispositivo MIDI USB; el ATmega 168 o 328 no puede hacer esto).
  • Funcionamiento a 5 V (el AY-3-8910 funciona a 5 V) y velocidad de reloj de 16 MHz.
  • Al menos 13 líneas de E / S digitales.

    El pin del puerto PB5 debe estar conectado (se usa para generar una señal de reloj de 1MHz). En el Pro Micro, esto se usa como el pin de E / S D9

Las placas Arduino Leonardo y Micro encajan perfectamente, aunque no las he probado.

Otros componentes

Las resistencias y los condensadores que se utilizan aquí no son particularmente especiales. Cualquier parte de (aproximadamente) el valor correcto debería funcionar.

Paso 3: disposición de la placa de circuito

Disposición de la placa de circuito
Disposición de la placa de circuito

Para construir el circuito, es mejor comenzar colocando los enchufes, luego agregue las resistencias y los capacitores. Cubriremos el cableado de estos juntos en el siguiente paso.

Usando la imagen de arriba como guía, coloque el zócalo IC de 40 pines, dé la vuelta a la placa y solo suelde primero en dos pines de las esquinas opuestas. Si el zócalo no está apoyado contra la placa, es fácil de arreglar soldando uno u otro pin. Cuando esté bien, suelde el resto.

Coloque los dos enchufes de 12 pines, luego inserte el Arduino en ellos para mantenerlos verticales y firmes durante la soldadura. Nuevamente, soldar dos pines en cada extremo primero permitirá una verificación antes de la soldadura final.

Para la toma de salida de audio, utilicé un pequeño taladro para agrandar los orificios de la PCB, ya que las etiquetas de montaje son bastante grandes.

Paso 4: cableado

Cableado
Cableado
Cableado
Cableado

Una vez que se colocan los componentes principales, se pueden conectar en la parte posterior de la placa, siguiendo el circuito anterior.

Los componentes de salida de audio (R2, R3, C2, C3) y los condensadores de desacoplamiento (C1, C4) se pueden conectar con cable de núcleo sólido (o cortes de cables de componentes). Ahora se pueden realizar las conexiones a tierra y de alimentación del Arduino al chip PSG (cables rojo y negro, en la imagen).

Las diversas salidas del Pro Micro están conectadas al AY-3-8910 de la siguiente manera (consulte la guía de conexión para las asignaciones de pines):

Señal Arduino AY-3-8910 pin

DA0 D2 37 DA1 D3 36 DA2 D4 35 DA3 D5 34 DA4 D6 33 DA5 D7 32 DA6 D8 31 DA7 A0 / D18 30 BC1 D10 29 BC2 MOSI / D16 28 BDIR MISO / D14 27 RESET # SCLK / D15 23 RELOJ D9 22 (vía R1, 75 ohmios)

Paso 5: Programación usando el IDE de Arduino

Programación usando el IDE de Arduino
Programación usando el IDE de Arduino

Si es nuevo en Arduino, le recomiendo encarecidamente que pruebe uno de los muchos tutoriales sobre los conceptos básicos. La guía de conexión de Sparkfun brinda todos los detalles. Puedes comprobar que la programación básica funciona siguiendo el tutorial "Blinkies". Arduinos puede ser un poco complicado de persuadir en el modo 'cargador de arranque' (donde puede cargar nuevos bocetos), por lo que un poco de práctica con un ejemplo simple es útil.

Una vez que esté satisfecho, descargue el archivo chiptunes.ino adjunto a esta página, compílelo y cárguelo. (Descubrí que usar el tipo de placa "Arduino / Genuino Micro" está bien para este boceto, si desea omitir la instalación del soporte de la placa Sparkfun).

Además, tenga en cuenta que si está en una Mac, la configuración de "Puerto" deberá cambiarse una vez que haya cargado el boceto por primera vez. Con un Arduino 'en blanco' (o usando el boceto de Blinky), aparecerá como /dev/cu.usbmodemXXXX, como se muestra en la imagen de arriba. Cuando el dispositivo USB MIDI esté activo (como lo usa el esquema chiptunes.ino) será /dev/cu.usbmodemMID1.

Paso 6: Prueba y uso del sintetizador

Prueba y uso del sintetizador
Prueba y uso del sintetizador
Prueba y uso del sintetizador
Prueba y uso del sintetizador
Prueba y uso del sintetizador
Prueba y uso del sintetizador

Una vez programado el Arduino, su estación de trabajo debería reconocerlo automáticamente como un dispositivo MIDI USB. Aparecerá con el nombre 'Arduino Micro'; debería poder ver esto en el Administrador de dispositivos en Windows, o en la aplicación "Información del sistema" en Mac OS.

En una Mac, puede usar la aplicación Configuración de Audio MIDI para ejecutar una prueba básica. Inicie la aplicación, luego elija Ventana -> Mostrar estudio MIDI. Esto abrirá la ventana MIDI Studio (todas sus interfaces MIDI aparecerán en una disposición ligeramente aleatoria) que, con suerte, incluirá el dispositivo 'Arduino Micro'. Si hace clic en el icono 'Configuración de prueba' en la barra de herramientas, y luego hace clic en la flecha hacia abajo (ver imagen) en el dispositivo Arduino Micro, la aplicación enviará notas MIDI al sintetizador. (¡Estos no son particularmente melodiosos!) El sintetizador debería hacer algunos sonidos aleatorios en este punto.

Luego puede agregar 'Arduino Micro' como un dispositivo de salida a la configuración MIDI de su estación de trabajo de audio digital, ¡y comenzar a jugar!

  • El sintetizador responde en los canales MIDI 1 a 4. Cada canal tiene un sonido diferente (bueno, una envolvente de volumen diferente).
  • Se aceptan notas MIDI entre 24 y 96 (C1-C7); las notas fuera de este rango se ignoran.
  • El canal MIDI 10 reproduce sonidos de batería. Tenga en cuenta los números entre 35 y 50 (consulte

    www.midi.org/specifications-old/item/gm-level-1-sound-set) son aceptadas.

  • Hay tres canales de voz en el AY-3-8910. El firmware del sintetizador intenta reproducir la nota enviada más recientemente, mientras mantiene las notas más altas y más bajas solicitadas actualmente. Otras notas (generalmente las notas medias de un acorde) se cortan si es necesario.

Y eso es todo. ¡Divertirse!

Paso 7: notas a pie de página

Acerca de la melodía de demostración

La melodía de demostración, el famoso aria Queen Of The Night de Mozart, se creó razonablemente rápido a partir de un archivo MIDI que encontré en Internet (https://www.midiworld.com/mozart.htm). ¡Alguien más hizo todo el trabajo duro!

Estoy usando Presonus Studio One en una Mac y el archivo MIDI se importó a cuatro pistas separadas. Se necesitó una pequeña cantidad de edición donde las notas de acompañamiento son más altas que la melodía principal, y para eliminar algunos de los fallos más objetables entre las notas.

El audio que escuchas en el clip proviene directamente del sintetizador, con solo un toque de ecualizador y saturación para darle una sensación de baja fidelidad como una 'máquina recreativa'.

Recomendado: