construir sobre o simplenZAR, um step sequencer para arduino

Depois de usar vários programas diferentes para criar música, desde uma conjugação de programas diferentes ligados pelo jack, a alguns DAW mais ou menos complexos (neil modular tracker foi o que usei mais tempo), queria montar um sistema baseado em hardware totalmente focado na improvisação.

Para começar a juntar o material para este projeto, queria começar por montar um sintetizador, e foi o que fiz há algumas semanas com um kit meeblip micro. A montagem foi pacífica, e como não tinha ainda forma de tocá-lo, andei à procura ou de um interface para usar com algum software, ou de uma forma de o tocar com outra solução de hardware. Encontrei nessa altura o simplenZAR, e decidi tornar o projeto seguinte a montagem de um clone do simplenZAR.

Não correu como esperava, dado que o código era para uma versão anterior do IDE do arduino, e precisou de alguns retoques. Depois parecia que nunca conseguia comunicar com o meeblip por MIDI, ou não havia comunicação, ou o som que saía não era o que esperava. Aprendi que carregar o sketch no arduino com o pin 1 ligado ao MIDI do meeblip era uma má ideia, e causava com que o meeblip ficasse com os parâmetros errados, e daí o som sair diferente do esperado! 😛

Depois deste processo todo e de ter o simplenZAR montado e a funcionar (e de ter que fazer o flash do meeblip algumas vezes), comecei a modificá-lo para o tornar mais próximo do que procurava.

Atualmente mantém os modos de 8 passos, 16 passos, ou 8 passos mais 8 passos de slide para as notas todas. Adicionei-lhe mais 2 botões para poder ligar e desligar nota a nota sem entrar no menu, e definir o pitch da nota também sem entrar no menu, e o tempo de espera (ou a velocidade com que avança para o passo seguinte) também é definido sem entrar em nenhum menu.
Mudei o modo de espera do delay original para a utilização da função millis(), que deixa mais espaço para fazer mais coisas.

Algumas coisas que quero implementar de seguida:

  1. mudar a direcção do sequenciador
  2. tempo variável (alguns modos de tempo variável para os passos)
  3. arpeggios

Outras possibilidades:

  1. tap tempo e/ou
  2. midi sync
  3. passar os leds para o shift register e passar para 16 passos
  4. outras coisas que me lembre entretanto 🙂

Assim que tenha possibilidade coloco o código num repositório qualquer para ser mais fácil manter atualizado com o que for alterando.

O meu avançando centro de controlo num pedaço de cartão 😉 :

Depois tiro mais fotografias decentes ao que tenho feito até agora.

O código que tenho até ao momento blueSTEP.

O nome deve mudar um destes dias. Assim que chegue a uma versão do código mais estável, ou assim que faça um shield para o arduino com o circuito final (espero já ter atualizado o circuito para usar shift registers nessa altura).