Índice:

Arduino MIDI Chiptune Synthesizer: 7 etapas (com imagens)
Arduino MIDI Chiptune Synthesizer: 7 etapas (com imagens)

Vídeo: Arduino MIDI Chiptune Synthesizer: 7 etapas (com imagens)

Vídeo: Arduino MIDI Chiptune Synthesizer: 7 etapas (com imagens)
Vídeo: The 5 BEST ARDUINOS for Building a MIDI CONTROLLER 2024, Novembro
Anonim
Arduino MIDI Chiptune Synthesizer
Arduino MIDI Chiptune Synthesizer

Reviva a diversão da música dos primeiros jogos de computador com um autêntico sintetizador chiptune de 8 bits, que você pode controlar por MIDI do conforto de qualquer software DAW moderno.

Este circuito simples usa um Arduino para acionar um chip gerador de som programável AY-3-8910 (ou um de seus muitos clones) para recriar o som dos anos 80. Ao contrário de muitos designs que precisam de um software especializado para editar música, este se parece com um dispositivo MIDI USB padrão. O sintetizador tem um algoritmo inteligente que tenta manter as notas musicais mais relevantes tocando; em muitos casos, você pode jogar arquivos MIDI não editados diretamente nele e a melodia sai na hora. O custo total deve ser de cerca de £ 20.

Etapa 1: Coisas que você precisa

Coisas que você precisa
Coisas que você precisa
Coisas que você precisa
Coisas que você precisa
Coisas que você precisa
Coisas que você precisa

A lista completa de peças para isso, como você pode ver nas fotos, é a seguinte:

  • Clone Sparkfun Pro Micro (opção 5V, 16 MHz). Eu usei este na Amazon.
  • Chip PSG Yamaha YM2149F. Eu peguei o meu no eBay.
  • 2 x capacitores de cerâmica 100nF
  • 1 cada um dos resistores de 75R, 1K e 100K (classificação de 1/4 watt é adequada).
  • Capacitor de disco de cerâmica 4.7nF
  • Capacitor eletrolítico de 1uF (classificação de tensão> 5 V).
  • Soquete DIP IC 40 pinos 0,6"
  • Cabeçalhos 2 x 12 vias de 0,1 "(este do CPC)
  • Placa de prototipagem, 3 "por 2" aprox. Comprei um pacote desses, novamente na Amazon.
  • Soquete phono de montagem PCB
  • Fio de núcleo sólido em miniatura (como este).

Você também precisará de um ferro de solda, solda, alicate, alicate e descascador de fios.

Etapa 2: peças alternativas

Peças alternativas
Peças alternativas
Peças alternativas
Peças alternativas
Peças alternativas
Peças alternativas

Chips geradores de som programáveis alternativos

O YM2149 que usei é um clone do original General Instruments AY-3-8910 IC. (O primeiro protótipo usou um AY-3-8910 que comprei no eBay, mas descobri que o gerador de ruído branco não estava funcionando. Rosto triste). Você pode usar qualquer um para este projeto sem quaisquer alterações.

A General Instruments também fez variantes AY-3-8912 e AY-3-8913, que era o mesmo silício dentro de pacotes menores, sem alguns pinos de E / S extras. Esses pinos não são necessários para fins de áudio e este projeto não os usa. Você pode usar um AY-3-8912 ou -8913, basta seguir as pinagens mostradas acima.

Arduinos alternativos

O "Pro Micro" que usei é uma cópia da placa Pro Micro do Sparkfun. Se você não está confiante com o código do Arduino, é melhor continuar com isso; se estiver satisfeito em adaptar o design, você precisará das seguintes especificações

  • Dispositivo ATmega 16u4 ou 32u4 (necessário para funcionar como um dispositivo USB MIDI; o ATmega 168 ou 328 não pode fazer isso).
  • Operação de 5 V (o AY-3-8910 funciona a 5 V) e velocidade de clock de 16 MHz.
  • Pelo menos 13 linhas de E / S digitais.

    O pino da porta PB5 deve ser conectado (é usado para gerar um sinal de clock de 1 MHz). No Pro Micro, ele é usado como pino de E / S D9

As placas Arduino Leonardo e Micro se encaixam no projeto, embora eu não as tenha experimentado.

Outros componentes

Os resistores e capacitores usados aqui não são particularmente especiais. Quaisquer partes (aproximadamente) do valor correto devem funcionar.

Etapa 3: Layout da placa de circuito

Disposição da placa de circuito
Disposição da placa de circuito

Para construir o circuito, é melhor começar posicionando os soquetes e, em seguida, adicionar os resistores e capacitores. Abordaremos a conexão deles na próxima etapa.

Usando a imagem acima como guia, posicione o soquete IC de 40 pinos, vire a placa e solde primeiro os dois pinos de canto opostos. Se o soquete não estiver bem apoiado na placa, é fácil consertar resoldando um ou outro pino. Quando estiver OK, solde o resto.

Posicione os dois soquetes de 12 pinos e insira o Arduino neles para mantê-los na vertical e estável durante a soldagem. Novamente, soldar dois pinos em cada extremidade primeiro permitirá uma verificação antes da soldagem final.

Para o soquete de saída de áudio, usei uma pequena furadeira para ampliar os orifícios do PCB, já que as etiquetas de montagem são bastante grandes.

Etapa 4: Fiação

Fiação
Fiação
Fiação
Fiação

Assim que os componentes principais estiverem posicionados, eles podem ser conectados na parte traseira da placa, seguindo o circuito acima.

Os componentes de saída de áudio (R2, R3, C2, C3) e os capacitores de desacoplamento (C1, C4) podem ser conectados com fio de núcleo sólido (ou cortes dos fios do componente). As conexões de aterramento e alimentação do Arduino ao chip PSG (fios vermelho e preto, na imagem) agora podem ser feitas.

As várias saídas do Pro Micro são conectadas ao AY-3-8910 da seguinte forma (consulte o guia de conexão para as atribuições dos pinos):

Sinal do pino Arduino AY-3-8910

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 CLOCK D9 22 (via R1, 75 ohm)

Etapa 5: Programação usando o IDE do Arduino

Programação usando o IDE Arduino
Programação usando o IDE Arduino

Se você é novo no Arduino, recomendo fortemente tentar um dos muitos tutoriais sobre o básico. O guia de conexão do Sparkfun fornece detalhes completos. Você pode verificar se a programação básica está funcionando seguindo o tutorial "Blinkies". Arduinos pode ser um pouco complicado de persuadir no modo 'bootloader' (onde você pode carregar novos esboços), então um pouco de prática com um exemplo simples é útil.

Quando estiver satisfeito, baixe o arquivo chiptunes.ino anexado a esta página, crie e carregue-o. (Descobri que usar o tipo de placa "Arduino / Genuino Micro" está certo para este esboço, se você quiser pular a instalação do suporte para placa Sparkfun).

Além disso, observe que se você estiver em um Mac, a configuração de "Porta" precisará ser alterada assim que você carregar o esboço pela primeira vez. Com um Arduino 'em branco' (ou usando o esboço do Blinky), ele aparecerá como algo como /dev/cu.usbmodemXXXX, conforme mostrado na imagem acima. Quando o dispositivo USB MIDI estiver ativo (conforme usado pelo esboço chiptunes.ino), ele será /dev/cu.usbmodemMID1.

Etapa 6: teste e uso do sintetizador

Testando e usando o Synth
Testando e usando o Synth
Testando e usando o Synth
Testando e usando o Synth
Testando e usando o Synth
Testando e usando o Synth

Depois que o Arduino estiver programado, sua estação de trabalho deve reconhecê-lo automaticamente como um dispositivo USB MIDI. Ele aparecerá com o nome 'Arduino Micro' - você deve ser capaz de ver isso no Gerenciador de dispositivos no Windows ou no aplicativo "Informações do sistema" no Mac OS.

Em um Mac, você pode usar o aplicativo Audio MIDI Setup para executar um teste básico. Inicie o aplicativo e escolha Janela -> Mostrar Estúdio MIDI. Isso abrirá a janela MIDI Studio - todas as suas interfaces MIDI aparecerão em um arranjo ligeiramente aleatório - que esperançosamente incluirá o dispositivo 'Arduino Micro'. Se você clicar no ícone 'Test Setup' na barra de ferramentas e, em seguida, clicar na seta para baixo (veja a imagem) no dispositivo Arduino Micro, o aplicativo enviará notas MIDI para o sintetizador. (Eles não são particularmente afinados!) O sintetizador deve fazer alguns sons aleatórios neste ponto.

Você pode então adicionar 'Arduino Micro' como um dispositivo de saída para a configuração MIDI de sua estação de trabalho de áudio digital e começar a jogar!

  • O sintetizador responde nos canais MIDI 1 a 4. Cada canal tem um som diferente (bem, um envelope de volume diferente).
  • São aceitas notas MIDI entre 24 e 96 (C1-C7); notas fora deste intervalo são ignoradas.
  • O canal MIDI 10 reproduz sons de bateria. Números de nota entre 35 e 50 (ver

    www.midi.org/specifications-old/item/gm-level-1-sound-set) são aceitos.

  • Existem três canais de voz no AY-3-8910. O firmware do sintetizador tenta tocar a nota enviada mais recentemente, enquanto mantém as notas mais altas e mais baixas solicitadas atualmente em execução. Outras notas (geralmente as notas médias em um acorde) são cortadas, se necessário.

E é só isso. Divirta-se!

Etapa 7: notas de rodapé

Sobre a melodia de demonstração

A melodia demo - a famosa ária Queen Of The Night de Mozart - foi criada com razoável rapidez a partir de um arquivo MIDI que encontrei na Internet (https://www.midiworld.com/mozart.htm). Alguém fez todo o trabalho duro!

Estou usando o Presonus Studio One em um Mac e o arquivo MIDI foi importado para quatro trilhas separadas. Foi necessária uma pequena quantidade de edição onde as notas de acompanhamento são mais altas do que a melodia principal e para remover algumas das falhas mais questionáveis entre as notas.

O áudio que você ouve no clipe vem direto do sintetizador, com apenas um toque de equalização e saturação para dar um toque de baixa-fi a uma 'máquina de arcade'.

Recomendado: