Fare musica ad 8 bit con un microcontrollore
Oramai sono sempre di più i ragazzi appassionati di elettronica che ci provano: utilizzare i microcontrollori in applicazioni per le quali non sono stati progettati, come appunto fare musica, e il più delle volte con risultati davvero strabilianti!!
E’ difatti possibile programmare un microcontrollore per fargli generare onde quadre con le frequenze che desideriamo, è arduo invece programmarlo per fargli eseguire una musica soprattutto se composta da più voci.
In tali casi si lavora con routine scritte in assembler e si sfruttano gli interrupt in maniera massiccia per poter sincronizzare gli strumenti.
Tra i tanti video che ho avuto occasione di vedere in rete, quello che mi ha colpito di più, per la bontà della musica, nonchè per l’esigua componentistica utilizzata nella realizzazione del progetto, e soprattutto per la disponibilità di schema elettrico e sorgenti, è questo:
Tutto quello che sentite nel video è generato unicamente da un microcontrollore AVR (un ATMega88) funzionante ad 8MHz con soli 8Kb di memoria programma e 2Kb di memoria ram! Con tali caratteristiche, che possono far ridere chi non è abituato a lavorare con tali dispositivi, si riesce a creare ciò che sentite nel video: tutto sta unicamente nella bravura del programmatore, capace di sfruttare fino all’osso le caratteristiche hardware del dispositivo, riuscendo a fargli fare cose impensabili (e in questo caso ha dovuto ovviamente comporre anche la musica, oltre a progettare lo schema elettrico e scrivere i software!).
Gli unici componenti attivi del circuito sono appunto il microcontrollore, il regolatore di tensione 7805 (per abbassare la tensione della pila 9V) e un integrato LMC662 contenente una coppia di amplificatori operazionali ad alto guadagno capaci di funzionare anche con alimentazione singola. Il segnale in uscita dal microcontrollore viene portato a livello linea da un convertitore A/D passivo e dai due operazionali.
Il segnale audio in uscita è composto da ben 4 voci! (ovvero sentite suonare 4 strumenti contemporaneamente, e vi assicuro che non è una cosa da poco per questi dispositivi!) e l’autore ha anche scritto un tracker ad-hoc su linux per comporre la musica.
Il ragazzo, svedese, si chiama Linus Åkesson e tutta la documentazione del suo fantastico progetto (schema elettrico e sorgenti del codice da caricare nell’AVR) si trova sul sito ufficiale : http://www.linusakesson.net/hardware/chiptune.php