Tabla de contenido:
- Paso 1: Cosas que necesitará
- Paso 2: Piezas alternativas
- Paso 3: disposición de la placa de circuito
- Paso 4: cableado
- Paso 5: Programación usando el IDE de Arduino
- Paso 6: Prueba y uso del sintetizador
- Paso 7: notas a pie de página
Video: Sintetizador Arduino MIDI Chiptune: 7 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
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á
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
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
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
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
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
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:
Sintetizador de agua con MakeyMakey y Scratch: 6 pasos (con imágenes)
Sintetizador de agua con MakeyMakey y Scratch: Usar MakeyMakey para transformar diferentes materiales en interruptores o botones y, por lo tanto, activar movimientos o sonidos en la computadora es un asunto fascinante. Uno aprende qué material conduce el impulso de corriente débil y puede inventar y experimentar con i
Construyamos un sintetizador MIDI USB SN76489 con Arduino Nano: 7 pasos
Construyamos un sintetizador MIDI USB SN76489 con Arduino Nano: ¿Alguna vez quisiste construir tu propio sintetizador basado en viejos chip-tunes de los 80? ¿Reproducir melodías polifónicas simples que suenan exactamente como sonaban estos viejos videojuegos de Sega Master System y Megadrive? Tengo, entonces, pedí algunos chips SN76489 de eb
El sintetizador Arduino: 20 pasos (con imágenes)
El sintetizador Arduino: El Arduino puede generar sonido a través de una biblioteca que se ha desarrollado llamada Biblioteca de tonos. Al crear una interfaz y un programa que puede llamar a ciertos valores para que se envíen a una salida de audio, el sintetizador Arduino es una herramienta robusta para
Controlador de tira de luces LED MIDI 5V para Spielatron u otro sintetizador MIDI: 7 pasos (con imágenes)
Controlador de tira de luces LED MIDI 5V para Spielatron u otro sintetizador MIDI: este controlador destella tiras de luces LED de tres colores por 50mS por nota. Azul para G5 a D # 6, rojo para E6 a B6 y verde para C7 a G7. El controlador es un dispositivo MIDI ALSA, por lo que el software MIDI puede emitir a los LED al mismo tiempo que un dispositivo de sintetizador MIDI
Sintetizador Micro Midi: 5 pasos (con imágenes)
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