Realizzazione di un basso "Automatico"

Realizzazione di un basso "Automatico"
In un mondo quindi dominato dall'elettronica e dal campionamento dei segnali, quest'idea potrebbe parere un po' antidiluviana, ma in essa si ritrova (a parere ovviamente di chi scrive) tutto il fascino delle opere artigiane che nei secoli scorsi meravigliavano e stupivano le corti e la borghesia di tutte le nazioni.

La costruzione degli strumenti musicali automatici è purtroppo sempre stata un'arte mai confortata da dignità scientifica o artistica. Lo scopo di questo lavoro è stato quindi quello di mostrare come l'intento di creare questa "scopa di Topolino" (cit. da Fantasia di Walt Disney), magicamente animata da volontà propria, è il frutto di complessi progetti che attingono da nozioni di fisica acustica, automatica, elettronica e dalle discipline ingegneristiche in generale.

Il basso automatico


In primo luogo il lettore deve pensare alla realizzazione di questo progetto come lo studio di un prototipo, in quanto la complessità del programma, la spesa necessaria per l'acquisto di tutti i componenti ed il tempo da impiegare nel voler costruire un vero e proprio strumento musicale automatico con caratteristiche di esecuzione prossime a quelle umane, sarebbero state proibitive ed avrebbero richiesto sforzi molto superiori a quelli sostenibili da un semplice tesista in ingegneria informatica.
Comunque sia, lo strumento realizzato, pur non aspirando a competere con l'uomo sia a livello di "tocco", sia a livello di esecuzione, funziona e si dimostra molto preciso per ciò che concerne la frequenza dei segnali in uscita.
L'idea di voler simulare le tecniche di esecuzione strumentali umane si è rivelata molto utile in fase di progettazione. Il musicista affida infatti l'esecuzione di una determinata melodia a due "sensori" naturali: l'occhio e l'orecchio. Prova ne sia il fatto che soltanto gli strumentisti più esperti riescono a suonare il proprio basso elettrico senza gettare uno sguardo sul manico per "controllare" la posizione delle proprie dita e quasi nessuno riesce a suonare bene senza ascoltare sé stesso.
Abbiamo quindi cercato di trarre il massimo profitto da questa osservazione, realizzando un sistema in grado di "vedere" la posizione delle sue dita sul manico e di "sentire" le note suonate.
La tecnica simulata è il pizzicato, in cui si ottiene il suono premendo la corda sul manico con una mano e pizzicando la stessa con il plettro. Per fare ciò abbiamo avuto bisogno di due sottosistemi: il sottosistema "dito", appunto, ed il "plettro".

Lo strumento brutalizzato per l'esperimento è un "Fender Precision Bass" del 1972. Per chi fosse rimasto scandalizzato teniamo a precisare che solo le caratteristiche di sustain un basso meraviglioso come questo ci hanno permesso di poter implementare un controllo efficace delle frequenze emesse.

Fender Precision Bass


Per il sistema "plettro" sono stati impiegati i seguenti elementi:

Un motore in corrente continua "Pittman" da 12V
Un plettro
Una struttura di ancoraggio del plettro all'asse del motore
Una struttura di alloggiamento del motore posta in sospensione sulla corda
Un Encoder incrementale
Il sistema plettro


L'asse del motore, ruotando, porta a ruotare con sé anche il plettro, il quale, posto perpendicolarmente ad esso, è in grado di pizzicare la corda.
I due stop posti a 15° e -15° (prendendo come punto di riferimento la perpendicolare all'asse del motore in direzione dei magneti) hanno il duplice compito di implementare una funzione di HOME (tramite la quale si fissa un punto di partenza che sia sempre lo stesso) e di realizzare lo stoppato e le "ghost".

Schema progettuale del sistema plettro


L'Encoder è il sensore che misura la posizione e la velocità di rotazione dell'asse del motore ed è posto all'interno della struttura comprendente il motore ed il riduttore. Esso invia al calcolatore un segnale che vale un impulso corrispondente al bit logico "1" ogni volta che la rotazione dell'asse compie un grado.
L'asse del motore ruota più o meno velocemente a seconda della tensione che gli si applica. Tale tensione, chiamata anche voltaggio di controllo, viene fornita da un hardware dedicato che prende il nome di "unità di potenza", collegata all'elaboratore tramite una scheda PSI (quella utilizzata è la Keyleigh DDA-06).

Il sottositema "dito" è invece comprensivo delle seguenti parti:
Un motore a passo da 88N
Un'asta filettata parallela al manico che rappresenta un'estensione dell'asse di rotazione del motore a passo
Una sbarra di metallo controfilettata ed avvitata all'asse di rotazione
Un sensore di finecorsa meccanico
Un sistema di cuscinetti a sfera posto all'altra estremità dell'asta filettata
Il 'Dito'


Il "dito" vero e proprio realizza una sorta di "Slide" sulle corde. La rotazione dell'asse del motore a passo produce un'avvitamento sulla sbarra e, conseguentemente, uno spostamento lineare sul manico. E' così possibile far variare la lunghezza della corda in vibrazione ed ottenere tutte le note delle ottave raggiungibili con i limiti imposti dalla lunghezza del manico.
La rimozione dei tasti sul manico si è resa necessaria per non creare ostacoli allo scorrimento del "dito" e si è rivelata utile in fase di esperimenti sulla precisione delle frequenze emesse.

Tenendo sempre presente il fatto che un segnale audio è l'interpretazione di un'onda sonora, esso conserverà tutte le caratteristiche dell'onda in questione. Avrà quindi un certo timbro dovuto alle differenti forme d'onda emissibili, una altezza che permetta la distinzione tra suoni grevi ed acuti, una intensità misurata in decibel, ma soprattutto una frequenza fondamentale f0.
In fisica la f0 è la componente frequenziale caratterizzata dal valore più alto in decibel e più basso in Hertz. Le altre componenti frequenziali sono multipli della f0 e sono anche chiamate Armoniche superiori.
Talvolta ci si riferisce alla frequenza fondamentale con il nome di Prima Armonica. A seconda del valore assunto dalla f0 avremo differenti note.

Si dimostra che la relazione che lega la lunghezza della corda metallica posta in vibrazione alla f0 emessa è
Relazione tra f0 e lunghezza della corda

in cui L rappresenta la lunghezza della corda espressa in cm, P è la trazione della corda espressa in Newton, m è la densità del materiale attraverso il quale vengono trasmesse le vibrazioni ed S è la sezione della corda.
Affermando che il termine sotto radice quadrata si mantiene grosso modo costante per tempi abbastanza lunghi, abbiamo stimato questo termine essere pari circa a 22000 N*m/Kg.
Ottenuto questo parametro si sono stimate le posizioni sul manico a cui, con un'accordatura perfetta, corrisponderebbero le note raggiungibili dal dito.

Il motore a passo rappresenta un particolare tipo di attuatore che non viene pilotato attraverso una tensione in ingresso, come è il caso del "plettro" prima descritto, ma il suo spostamento di velocità angolare risulta proporzionale alla frequenza di un treno di impulsi tramite un parametro K misurato in Hz/V che nel caso in questione vale 33,96. Ricordiamo che il controllo è stato effettuato utilizzando un'unità di potenza, uno strumento quindi in grado soltanto di emettere tensioni. Si è quindi resa necessaria la realizzazione di un convertitore tensione/frequenza.

Cliccate sull'immagine per ingrandirla



Il convertitore è stato realizzato su basetta a fotoincisione KF-Board. Il segnale di controllo diventa così un treno di impulsi che, transitando nella scheda per lo switching delle fasi del motore (che è unipolare), ne comanda il movimento. Il motore a passo è collegato a sua volta ad un Encoder HP5700 da pannello solidale all'asse di rotazione.

Gli Encoder rappresentano "l'occhio" del sistema e sono utilizzati per implementare appunto una "retroazione" di posizione, ovvero un confronto tra la posizione richiesta e quella effettivamente misurata con relativa correzione.
Per controllare il tempo di esecuzione abbiamo avuto bisogno anche di informazioni sulla velocità di spostamento del dito. Purtroppo, non disponendo di sensori per la misura diretta di velocità come ad esempio una dinamo tachimetrica, abbiamo dovuto fare affidamento su una stima quanto più precisa possibile della velocità tramite un osservatore asintotico dello stato. E' questo un particolare algoritmo che implementa una misura della velocità a partire dalle posizioni raggiunte in un intervallo di tempo noto.
Il "controllore" utilizzato è implementato in linguaggio Turbo C ed è un controllore standard proporzionale-derivativo. Proporzionale in quanto per correggere l'errore fornisce un voltaggio proporzionale appunto all'errore moltiplicato per una certa costante chiamata Kp. Derivativo in quanto è in grado di correggere anche eventuali errori dovuti alla differenza tra il profilo di velocità richiesta e quella effettivamente misurata.
Ricordiamo che la velocità è, per definizione, la derivata rispetto al tempo della posizione.

"L'orecchio" del sistema è rappresentato da un sensore per la precisione delle note. In realtà si tratta di un misuratore delle frequenze del segnale di uscita, costruito attraverso alcuni accorgimenti. Consta di differenti parti:
Un accordatore cromatico (il korg DT-3)
Un circuito di correzione ed amplificazione dei segnali provenienti dall'accordatore
Un circuito di codifica dei segnali
Un connettore parallelo
Un decodificatore (software implementato in C)
Tramite un risuonatore ed un integrato posto nel suo interno, il Korg DT-3 fornisce un segnale ai vari LED di precisione.
Grazie ad un oscilloscopio abbiamo misurato i vari segnali e studiato le loro caratteristiche. La presenza di disturbi sottoforma di coppie di impulsi posti ad una frequenza costante di 40Hz ha reso necessaria la costruzione di un circuito per la loro eliminazione. In più si è scelto di manipolare i segnali per renderli TTL compatibili e poterli così trasmettere, tramite la porta parallela, all'elaboratore.
I segnali in uscita dall'accordatore sono però 20 in numero e, disponendo di soli 8 bit di trasmissione con la porta parallela si è resa così necessaria un'operazione di codifica del segnale tramite un codificatore 8-a-3, ovvero in grado di codificare 8 bit in 3.

Il sensore realizzato


Il dato in ingresso al calcolatore è un numero intero che rappresenta la nota misurata in uscita dal basso elettrico.
Tramite una retroazione di frequenza (ovvero un confronto con un intero che indica la nota richiesta dall'utente), il sistema è così in grado di "udire" ciò che sta suonando (indipendentemente dalla posizione delle mani) e di correggere in tempo reale la propria esecuzione.
Un po' come un bassista che si trovi alle prese con uno strumento scordato e faccia un bending "correttivo" sulla corda che preme.

Il sistema è chiaramente un po' obsoleto, ma perfettamente funzionante. Abbiamo pensato ad alcune modifiche che potrebbero apportare sensibili miglioramenti al sistema, come l'utilizzo di un motore più veloce di un semplice passo-passo, la realizzazione di strutture per lo spostamento lineare su microcuscinetti a sfera (o su cuscinetto d'aria), un controllo robusto su modello matematico, l'uso di tecnologia FIREWIRE come protocollo per la comunicazione dei dati e l'analisi delle armoniche.

Per qualsiasi domanda o chiarimento non esitate a postare le vostre perplessità sul Forum di MusicOff ^__^