Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Arduino MIDI Arpeggiator

Componentes e suprimentos

Arduino Nano R3
× 1
Potenciômetro rotativo (genérico)
× 7
SparkFun Botão de pressão 12 mm
× 7
Porta MIDI
× 1
Resistor 221 ohm
× 4
LED (genérico)
× 2

Sobre este projeto





Atualização 11.03.2019


Olá, criei um novo firmware para o arpejador, o código-fonte foi totalmente reescrito. Agora, a estrutura modular permite que você execute os arpejos em diferentes plataformas, não apenas no Arduino. Também são adicionados novos recursos interessantes como rimas euclidianas. Voltarei com a descrição detalhada mais tarde!

https://github.com/raszhivin/arpeggio2

A parte de hardware permanece semelhante, as novas fontes são compatíveis com o esboço franzido de baixo.





Atualização 25.06.2019


Novo hardware é construído por mim, confira o novo vídeo:






Introdução


Música eletrônica é meu hobby e me divirto muito tocando minhas Korg Volca Keys. Há algum tempo, conheci o aplicativo da web chamado “Chord Progression Arpeggiator” e fiquei impressionado com o poder e a simplicidade dos algoritmos musicais. Gaste alguns minutos no aplicativo e você entenderá por que fiquei tão inspirado pela ideia de gerar arpejos no meu Korg. O vídeo “Korg Volca Keys beautiful arps! (e sequência de 128 notas) ”mostra as notas de arpejo inseridas manualmente, mas é muito complicado e inflexível inserir todas as notas manualmente.

Como sou desenvolvedor de software, decidi criar o dispositivo baseado em Arduino, que gera arpejos na forma de mensagens MIDI e envia as mensagens pela porta DIN (MIDI). O arpejador pode ser usado junto com outro hardware ou sintetizadores de software, é claro, mas eu não tem outro um.





Teoria musical básica


(O texto abaixo é retirado de reddit, muito obrigado ao usuário kmmeerts)

Portanto, há todo um espectro de ruídos. Acontece que cada um desses ruídos tem uma frequência fundamental, a velocidade com que o ar se agita. Uma frequência mais baixa soa, bem, uma frequência mais baixa e mais alta que discernimos como um tom mais alto. Dois instrumentos diferentes tocando ao mesmo tempo podem soar muito diferentes, mas ainda assim parecerão para nós como a mesma nota. Essa diferença é chamada de timbre e é como você pode diferenciar entre flauta e violoncelos tocando a mesma nota. Isso permite que instrumentos muito diferentes toquem harmoniosamente juntos.

No nível mais alto, esse espectro é dividido em oitavas. Uma oitava é um intervalo entre uma nota e outra com o dobro da frequência. Esta é a subdivisão mais básica da música. Notas que diferem em um número de oitavas (ou seja, onde as frequências estão relacionadas entre si por uma potência de dois) recebem o mesmo nome:um piano e um violino podem tocar um C, mas um muito mais baixo que o outro. porque nós fazemos isso? Bem, porque eles soam harmoniosamente juntos, como até mesmo a pessoa mais surda pode ouvir.

A oitava em si é subdividida em 12 notas, que chamamos de:

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

Estas são as notas mais básicas da música ocidental e correspondem às teclas brancas e pretas do piano. Você pode ver que a cada 12 teclas, o padrão se repete. Por que 12? É complicado e tem uma longa história, mas a essência é que soa melhor. Os intervalos mais agradáveis ​​são bem representados pelo sistema de 12 teclas, de uma forma que não fariam com mais ou menos teclas (embora as pessoas tentem).

Destas 12 escalas de notas são formadas. Uma escala é uma coleção de notas que, bem ..., soam bem juntas. Meu arpejador possui apenas escalas diatônicas heptatônicas, chamadas de modos. Heptatônico significa que cada escala tem 7 notas e praticamente toda a música ocidental é construída sobre isso. Diatônico está relacionado à ordem dos intervalos entre as notas. Por exemplo, a escala de Dó maior são apenas as notas sem sinais sustenidos começando em Dó:[Dó D E F G A B]. Cada escala é gerada a partir de uma nota fundamental. Há também uma escala principal enraizada em D:[D E F # G A B C #]. As escalas são definidas por padrões de quais notas devem ser ignoradas. A escala maior é [W W H W W W H], onde W significa "tome uma nota e pule uma" e H significa "tome uma nota". Os outros modos têm outros padrões de fazer e pular notas.

Para cada uma dessas sete notas, há um monte de acordes. Os acordes usados ​​aqui são simples:começando de uma nota, faça três notas, cada vez pulando uma na escala que estamos usando. Então, em nossa escala simples de Dó maior (CDEFGAB), o acorde V (V =cinco, então na quinta nota) seria G (pula A) B (volta, pula C) D, então GBD. Este padrão pode ser repetido, subindo uma oitava (6 notas:GBDGBD). Um arpejo ("quebrado" em italiano) é simplesmente tocar essas notas uma por uma, em vez de todas juntas.

O que define uma música é principalmente a progressão de acordes. O compositor escolhe um modo, escolhe uma nota fundamental e, a seguir, escolhe 8 (ou mais ou menos) acordes da tonalidade definida por essa nota fundamental. Existem algumas regras para quais acordes escolher, é claro, mas ainda é uma arte. Em uma música real, neste acorde o resto é construído, pode haver todos os tipos de desvios dessa estrutura, claro, todos os tipos de ornamentações, mas muitas vezes você ainda será capaz de reconhecer os acordes nessa ordem.





Esquemas


O esquema do meu arpejador é bastante simples, consiste em 7 potenciômetros, 7 botões, porta MIDI, 2 LEDs e 4 resistores. Ele pode ser facilmente montado em uma placa de ensaio, conforme mostrado abaixo, mas se você for um novato no mundo do arduino, seria muito melhor se você começar com os seguintes tutoriais:

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:
  • Oitava da nota tônica (0..7)
  • Oitava do acorde (0..7)
  • Atraso entre as notas na progressão (batidas por minuto)
  • Tônica / nota raiz (C ... B)
  • Etapas de arpejo (1 ... 5)
  • Modo de música (jônico, dórico ...)
  • Estilo de arpejo (crescente, decrescente, crescente + decrescente, aleatório)

Botões:pressionando um botão, a progressão de acordes correspondente é reproduzida.





Demonstração


No primeiro vídeo, descrevo a funcionalidade do dispositivo e seus controles:

O segundo vídeo mostra a pequena jam com o arpejador:





Sincronização


Você pode sincronizar o tempo dos arpejos com o Korg Volca:conecte o conector de áudio do arpejador ao "SYNC OUT" do sintetizador. Certifique-se de configurar o código-fonte da maneira certa em arpeggiator.ino :

// Sincronização:escolha uma das duas opções possíveis:

#define EXT_SYNC

// # define INT_SYNC

Remova o comentário EXT_SYNC para sincronização através de SYNC IN ou INT_SYNC para controle de tempo por meio de poti.

Terei todo o prazer em cada feedback e comentário, se você tiver uma ideia de como melhorar o dispositivo - por favor, deixe o comentário.

Divirta-se e boa sorte!

Código

Código-fonte
https://github.com/raszhivin/arpeggiator

Esquemas

para Fritzing arpeggiator_LICtzK2a2Q.fzz

Processo de manufatura

  1. Dados digitais Arduino
  2. Unopad - Controlador Arduino MIDI com Ableton
  3. Homem de Ferro
  4. Encontre-me
  5. Adaptadores MIDI USB-BLE sem fio
  6. Arduino 3D-Printed Robotic Arm
  7. Controle do umidificador Arduino
  8. Porta de monitoramento de temperatura sem contato
  9. NeoMatrix Arduino Pong
  10. Joystick Arduino