Arduino – Gestire audio in modo più dinamico #1

Arduino audio musicale tastiera

Impariamo ad utilizzare le funzioni audio di Arduino per trasformarlo in uno strumento musicale.

Dietro ogni mente brillante si nasconde un artista. Dietro ogni brano musicale si riconosce la matematica.

Archimede lo aveva percepito, mentre Johann Sebastian Bach aveva messo in pratica il concetto. Dietro ad un passaggio musicale eufonico si nasconde una espressione matematica elegante.

In questo modo, chiunque sia attratto da elettronica e musica non può fare a meno di apprezzare l’edificio matematico ad essi sotteso. Il problema dell’elettronica (e in genere dell’Ingegneria tout-court) è una certa qual mancanza di flessibilità nello sviluppo dei progetti, che apparentemente confligge con l’arte ad ampio respiro. E tuttavia…

Theremin… Chi era costui?

Lev Sergeyevich Termen (15 o 28 August 1896 – 3 November 1993), o Léon Theremin negli Stati Uniti, fu un inventore russo divenuto famoso per l’invenzione del theremin, uno dei primi strumenti musicali elettronici ed il primo sviluppato per la produzione di massa. Tra le altre invenzioni, sviluppò anche le prime tecniche di interlacciamento, migliorando la qualita di un segnale video.

Il theremin o eterofono, è uno strumento musicale elettronico controllato a distanza, senza il bisogno di contattto fisico dell’esecutore, La sua sezione di controllo consiste solitamente in due antenne metalliche che riconoscono la posizione relativa delle mani del thereminista. Una mano controlla gli oscillatori della frequenza, mentre l’altra si occupa dell’ampiezza (volume di esecuzione). I segnali elettrici del theremin vengono poi amplificati e inviati agli altoparlanti.

Il concetto è lineare, e il risultato finale sicuramente d’effetto.

Arduino e il suono

Chi ci segue da qualche tempo sul blog o sul nostro canale YouTubesa benissimo che Arduino è perfettamente in grado di gestire i suoni attraverso la opportuna programmazione di un buzzer passivo. In tal modo è possibile trascrivere interi spartiti (monofonici) nel programma e farli eseguire al nostro eroe.

Si tratta però di un utilizzo come sequencer elettronico, che riproduce pedissequamente quanto l’artista aveva previsto di suonare, ma senza alcuna emotività doguta a tensioni e pause dinamiche. Tutto questo non aiuta di certo il tentativo di rendere “artistica” l’esecuzione, e il n-ostro ingegnere si trova nuovamente con le mani legate. Ma solo temporaneamente,

Arduino dispone infatti di una serie di pin analogici che consentono di variare i parametri di elaborazione in modo dinamico: basterà associare il valore del pin A0 in ingresso mappandolo sulla frequenza desiderata, per ottenere l’ottava o le ottave necessarie per suonare.

Progetti in musica

Occorre quindi trovare un modo diretto e semplice per interagire con il controllo della frequenza (pre il volume occorre una sezione di amplificazione audio che Arduino non può sfruttare in questi progetti). Presenteremo di seguito tre semplici progetti per risolvere il problema e rendere più dinamico e personalizzabile l’utilizzo di Arduino come sintetizzatore musicale.

Come creare una tastiera musicale

Arduino audio musicale tastiera

In questo esempio estendiamo il concetto di pilotaggio audio attraverso i pin A0, A1 e A2, ciascuno relativo ad una ben definita frequenza audio.

Appare evidente la possibilità di estendere la tastiera utilizzando gli ulteriori ingressi analogici presenti sulla scheda. Arduino 2560MEGA offre 16 input analogici, consentendo di creare una ottava e mezza completa su 16 semitoni. Il suono è rappresentato da un’onda quadra, ma è ora possibile eseguire melodie complete, magari con un secondo arduino da utilizzare come sequencer in background.

Nota: se si utilizza un buzzer passivo, il resistore da 100 Ω non è necessario.

Elenco componenti:

  • 1 x Arduino Uno R3
  • 1 x Resistore100 Ω
  • 1 x Buzzer piezo o altoparlante 8 Ω
  • 3 x Pulsante
  • 3 x Resistore 10 kΩ

Come creare un minimoog

Arduino audio musica potenziometro

Questo progetto sostituisce alla tastiera del precedente, definita da una serie di resistenze fisse, ed una frequenza selezionata dalla pressione di un tasto, con un potenziometro, ovvero un resistore variabile, collegato al piedino A0 (input analogico) di Arduino. Con questo progetto è possibile eseguire uno sweep di frequenze audio senza soluzione di continuità, e giocare con i parametri descritti nei commenti per modificare l’estensione musicale dello strumento. Teoricamente si potrebbero creare toni da 32 Hz in poi, sino a 8 MHz, secondo Brett Hagman. In realtà l’utilzzo di interi con segno limita drastcamente la frequenza raggiungibile a 32 kHz a causa dell’implementazione della funzione utilizzata. Si tratta comunque di una bella estensione, che potrebbe rendere interessante l’utilizzo di un potenziometro logaritmico mutigiri per una intonazione più fine.

Elenco componenti:

  • 1 x Arduino Uno R3
  • 1 x Resistore100 Ω
  • 1 x Buzzer piezo o altoparlante 8 Ω
  • 1 x Resistore variabile o trimmer da 10 kΩ

Come creare un mini theremin

arduino audio musica theremin

Ed eccoci finalmente al nostro mini-Theremin! Con questo circuito non avremo più bisogno di tastiere o manopole per comporre la nostra musica spaziale. Utilizzeremo invece un fotoresistore posto in serie ad un resistore classico da 4.7 kΩ. Il partitore consentirà al segnale di restare comunque all’interno dei parametri di utilizzo sicuri, offrendo una maggiore estensione allo strumento.

Sarà sufficiente coprire parte della luce che raggiunge il fotoresistore per ottenere diverse note senza soluzione di continuità.

Analizzando il listato sarà possibile evidenziare i tre parametri che ci consentiranno di modificare ulteriormente il suono del nostro theremin.

Elenco componenti:

  • 1 x Arduino Uno R3
  • 1 x Resistore100 Ω
  • 1 x Buzzer piezo o altoparlante 8 Ω
  • 1 x Resistore 4.7 kΩ
  • 1 Fotoresistore

Il codice è identico a quello utilizzato nell’esempio precedente.

E anche per oggi abbiamo terminato. Siamo riusciti ad approfondire le funzioni audio di Arduino per renderlo simile ad uno strumento musicale

Nel prossimo articolo spiegheremo come applicare le nozioni apprese per costruirci un MiniMoog basato su Arduino.

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.