Instrumento de treinamento para processamento de sinal digital compatível com Arduino
Um artigo de Mitch Altman, o inventor que inventou o controle remoto universal para desligar as televisões B-Gone Gone e o organizador de conferências de hackersQuando criança, fui atraído pela música e fiquei impressionado com os sons do
sintetizador Moog do álbum de 1968
Switched-On Bach . Eu precisava aprender como fazer esses sons! Assim começou o treinamento e a fabricação de sintetizadores ao longo da vida, paralelos à minha
entrada no setor de tecnologia , onde acabei criando o
TV-B-Gone , um dispositivo que permite desligar quase todas as TVs com controle remoto. Desde que ganhei popularidade na TV-B-Gone, fiz muitos kits para divertir dispositivos externos que apresento em todo o mundo em
conferências DIY . Neles, os iniciantes aprendem a soldar, a caminho do mundo da eletrônica e dos microcontroladores. Lembrando da minha juventude, eu queria fornecer a eles um conjunto,
fácil de montar e usar, mas ao mesmo tempo ser um sintetizador musical completo.
Foi assim que
surgiu o
ArduTouch, no valor de US $ 30. Este projeto inclui uma placa, teclado sensível ao toque, ATMega328P (o mesmo processador usado no Arduino Uno) e um amplificador de áudio com um alto-falante. Ele também possui uma biblioteca de software que pode servir como um ponto de entrada no mundo do processamento de sinal digital.
A maior dificuldade no desenvolvimento da placa foi o número limitado de pinos de E / S no ATMega328P. Usei 12 pinos para o teclado para realizar toda
a escala
cromática da música como um todo. O teclado é semelhante ao
Stylophone - um dos meus sintetizadores analógicos favoritos do final da década de 1960 - e usa um sensor capacitivo para reconhecimento. Mais dois pinos são usados para saída de som estéreo e os outros dois são para transferência serial de dados (o ArduTouch pode ser programado usando
ferramentas de desenvolvimento padrão para o Arduino, embora seja necessário cabo FTDI para conectar-se a um computador). Os contatos restantes foram suficientes para dois botões e dois potenciômetros controlando o sintetizador.
Para que uma pessoa possa obter imediatamente resultados audíveis após a solda, coloquei o chip e o alto-falante do amplificador LM386 na placa (o amplificador ignora ao conectar uma tomada de áudio). Os chips DAC são caros, então usei
a modulação por largura de pulso para codificar os canais de áudio estéreo que saem do ATMega328P.
Os filtros passa-baixo para cada canal, consistindo em um resistor e um capacitor, convertem PWM em áudio.
Engenheiros eletrônicos experientes entenderão que o circuito ArduTouch é simples. A base do projeto é uma sofisticada biblioteca de software de síntese de áudio usada para programar o ATMega328P.
É bem simples fazer o microcontrolador emitir as notas mais simples. Simplesmente conecte o alto-falante aos contatos e alterne entre ligar e desligar, enviando uma onda quadrada em diferentes frequências (essa tecnologia foi usada pelo próprio Alan Turing no computador
Manchester Mark II ). Mas o resultado é um som nítido, longe da rica paleta do sintetizador Moog.
Para melhorar o som, eu precisava recorrer a sintetizadores digitais. Eles estão envolvidos na criação de representações binárias de ondas de áudio, na distorção e na conversão desses números em sinais analógicos. Isso pode ser feito de várias maneiras diferentes, e tenho o prazer de observar que o ArduTouch suporta várias técnicas diferentes, incluindo o uso de tabelas de ondas (usando amostras armazenadas na memória) e gerando sons (contando áudio em tempo real).
Depois de criar as representações binárias básicas do som, passamos ao estágio crítico de sua “distorção”. Se você não toca com o som, geralmente ele é fino e estéril. Sons legais são obtidos após manipulação dinâmica. O ArduTouch é capaz de aplicar muitas funções e efeitos dinâmicos digitais, incluindo tremolo, vibrato, portamento, bem como filtros de baixa e alta frequência.

O ArduTouch usa relativamente poucos componentes
Até os iniciantes podem colecioná-loE embora conceitualmente todas as opções acima não sejam algo difícil de aprender e entender, a programação em si é bastante complicada. A biblioteca ArduTouch, criada por mim junto com meu amigo Bill Alessi, realiza todos os cálculos de baixo nível - e levamos dois anos para criá-lo.
A biblioteca foi projetada para ser flexível e permitir que usuários inexperientes criem novos sintetizadores que produzam sons diferentes. O sintetizador Grosso que combina quatro ondas de dente de serra vem com o kit, e outros sintetizadores
podem ser baixados separadamente . Usuários experientes podem aprender a criar sintetizadores do zero, invocando funções de alto nível. Espero que as pessoas que gostem do projeto criem novos sintetizadores e compartilhem seu código comigo, para que eu possa compartilhá-lo com outras pessoas.
Mas, mesmo ao usar o sintetizador padrão, o som é inesperadamente bom para um microcontrolador de baixa potência (suportando uma frequência de amostragem de apenas 15 kHz) e equipamentos baratos. Você pode ouvir muitas demos no meu
canal do YouTube .
Para desenvolver o projeto no futuro, continuarei aprimorando a biblioteca do ArduTouch para Arduino e disponibilizando sintetizadores adicionais já prontos. Também estou trabalhando na criação de uma versão mais poderosa do ArduTouch, adequada para performances. Não será mais um kit, mas continuará sendo compatível com o Arduino. Ele terá um microcontrolador de 32 bits com muitos pinos de E / S, um DAC, um monte de memória (que permite
MIDI ), uma pequena tela LCD, vários botões e potenciômetros e indicadores LED - e, é claro, som aprimorado.