Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Arpegiador MIDI Arduino

Componentes y suministros

Arduino Nano R3
× 1
Potenciómetro giratorio (genérico)
× 7
Interruptor de botón SparkFun de 12 mm
× 7
puerto MIDI
× 1
Resistencia 221 ohm
× 4
LED (genérico)
× 2

Acerca de este proyecto

Actualización 11.03.2019

Hola, creé un nuevo firmware para el arpegiador, el código fuente está completamente reescrito. Ahora, la estructura modular le permite ejecutar los arpegios en diferentes plataformas, no solo en Arduino. También se añaden nuevas características interesantes como las rimas euclidianas. ¡Volveré con la descripción detallada más tarde!

https://github.com/raszhivin/arpeggio2

La parte del hardware sigue siendo similar, las nuevas fuentes son compatibles con el boceto fritzting de abajo.

Actualización 25.06.2019

Construí nuevo hardware, mira el nuevo video:

Introducción

La música electrónica es mi hobby y me divierto mucho jugando con mis Korg Volca Keys. Hace algún tiempo conocí la aplicación web llamada "Arpegiador de progresión de acordes" y me impresionó el poder y la simplicidad de los algoritmos musicales. Dedique un par de minutos a la aplicación y comprenderá por qué me inspiró tanto la idea de generar arpegios en mi Korg. El video “¡Korg Volca Keys hermosos arps! (y secuencia de 128 notas) ”muestra notas de arpegio ingresadas manualmente, pero es demasiado complicado e inflexible ingresar todas las notas con las manos.

Como soy un desarrollador de software, decidí crear el dispositivo basado en Arduino, que genera arpegios en forma de mensajes MIDI y envía los mensajes a través del puerto DIN (MIDI). El arpegiador se puede usar junto con otro sintetizador de hardware o software, por supuesto, pero yo no tomar otro uno.

Teoría musical básica

(El texto a continuación se tomó de reddit, muchas gracias al usuario kmmeerts)

Entonces hay un espectro completo de ruidos. Resulta que cada uno de esos ruidos tiene una frecuencia fundamental, qué tan rápido se mueve el aire. Suena una frecuencia más baja, bueno, más baja y una frecuencia más alta que discernimos como un tono más alto. Dos instrumentos diferentes tocando al mismo tiempo pueden sonar muy diferentes, pero aún nos parecerán la misma nota. Esta diferencia se llama timbre y es la forma de diferenciar entre flauta y violonchelos tocando la misma nota. Esto permite que instrumentos muy diferentes toquen armoniosamente juntos.

En el nivel más alto, este espectro se divide en octavas. Una octava es un intervalo entre una nota y otra al doble de frecuencia. Esta es la subdivisión más básica de la música. Las notas que difieren en un número de octavas (es decir, donde las frecuencias están relacionadas entre sí por una potencia de dos) reciben el mismo nombre:un piano y un violín pueden tocar una C, pero una mucho más baja que la otra. ¿Por qué hacemos esto? Bueno, porque suenan armoniosamente juntos, como puede oír incluso la persona más sorda.

La octava en sí está subdividida en 12 notas, que hemos nombrado:

[A, A #, B, C, C #, D, D #, E, F, F #, G, G #]

Estas son las notas más básicas de la música occidental y corresponden a las teclas blancas y negras del piano. Puede ver que después de cada 12 teclas, el patrón se repite. ¿Por qué 12? Es complicado y tiene una larga historia, pero la esencia es que suena mejor. Los intervalos más agradables están bien representados por el sistema de 12 teclas, de una manera que no lo harían con más o menos teclas (aunque la gente lo intenta).

A partir de estas 12 notas se forman escalas. Una escala es una colección de notas que, bueno ..., suenan bien juntas. Mi arpegiador solo tiene escalas diatónicas heptatónicas, llamadas modos. Heptatónica significa que cada escala tiene 7 notas, y prácticamente toda la música occidental se basa en esto. La diatónica está relacionada con el orden de los intervalos entre notas. Por ejemplo, la escala de C mayor son solo las notas sin signos agudos que comienzan en C:[C D E F G A B]. Cada escala se engendra a partir de una nota fundamental. También hay una escala mayor enraizada en D:[D E F # G A B C #]. Las escalas están definidas por patrones de las notas que se deben omitir. La escala principal es [W W H W W W H], donde W significa "tomar una nota y omitir una" y H significa "tomar una nota". Los otros modos tienen otros patrones de tomar y saltar notas.

Para cada una de esas siete notas hay un montón de acordes. Los acordes que se utilizan aquí son simples:a partir de una nota, tome tres notas, cada vez salte una en la escala que estamos usando. Entonces, en nuestra escala simple de C mayor (CDEFGAB), el acorde de V (V =cinco, entonces en la quinta nota) sería G (saltar A) B (bucle, saltar C) D, entonces GBD. Este patrón se puede repetir subiendo una octava (6 notas:GBDGBD). Un arpegio (italiano para 'roto') es simplemente tocar esas notas una por una, en lugar de todas juntas.

Lo que define una canción es principalmente la progresión de acordes. El compositor elige un modo, elige una nota fundamental y luego elige 8 (o más o menos) acordes de la clave definida por esa nota fundamental. Hay algunas reglas sobre qué acordes elegir, por supuesto, pero sigue siendo un arte. En una canción real, en este acorde se construye el resto, puede haber todo tipo de desviaciones de esta estructura, por supuesto, todo tipo de ornamentaciones, pero a menudo aún podrás reconocer los acordes en ese orden.

Esquemas

El esquema de mi arpegiador es bastante simple, consta de 7 potenciómetros, 7 botones, puerto MIDI, 2 LED y 4 resistencias. Se puede ensamblar fácilmente en una placa de pruebas como se muestra a continuación, pero si es un novato en el mundo de arduino, sería mucho mejor si comenzara primero con los siguientes tutoriales:

https://www.arduino.cc/en/main/howto

https://www.arduino.cc/en/Tutorial/Blink

https://www.arduino.cc/en/Tutorial/InputPullupSerial

https://www.arduino.cc/en/tutorial/potentiometer

https://www.arduino.cc/en/Tutorial/Midi

Controles

Potenciómetros:

  • Octava de la nota tónica (0..7)
  • Octava del acorde (0..7)
  • Retraso entre las notas en la progresión (pulsaciones por minuto)
  • Tónica / nota fundamental (C ... B)
  • Pasos de arpegio (1 ... 5)
  • Modo de música (jónico, dórico ...)
  • Estilo de arpegio (ascendente, descendente, ascendente + descendente, aleatorio)

Botones:al presionar un botón se reproduce la progresión de acordes correspondiente.

Demostración

En el primer video describo la funcionalidad del dispositivo y sus controles:

El segundo video muestra el pequeño jam con el arpegiador:

Sincronización

Puede sincronizar el tempo de los arpegios con Korg Volca:conecte el conector de audio del arpegiador al "SYNC OUT" del sintetizador. Asegúrese de configurar el código fuente de la forma correcta en arpeggiator.ino :

// Sincronización:elija una de las dos opciones posibles:

#define EXT_SYNC

// # define INT_SYNC

Descomentar EXT_SYNC para la sincronización a través de SYNC IN o INT_SYNC para control de tempo a través de poti.

Estaré encantado por cada comentario y comentario, si tiene una idea de cómo mejorar el dispositivo, deje el comentario.

¡Diviértete y buena suerte!

Código

Código fuente
https://github.com/raszhivin/arpeggiator

Esquemas

para Fritzing arpeggiator_LICtzK2a2Q.fzz

Proceso de manufactura

  1. Dados digitales Arduino
  2. Unopad - Controlador MIDI Arduino con Ableton
  3. Iron Man
  4. Encuéntrame
  5. Adaptadores MIDI inalámbricos USB-BLE
  6. Brazo robótico Arduino impreso en 3D
  7. Control del humidificador Arduino
  8. Puerta de control de temperatura sin contacto
  9. NeoMatrix Arduino Pong
  10. Joystick de Arduino
  11. Receptor de radio FM Arduino TEA5767