Tempo fa, avevo annunciato di voler creare un auto tabulatore per la chitarra.
È passato un po’ di tempo, però alla fine qualcosa ho fatto, e ne è uscito un bel proof of concept.
Come algoritmo alla fine ho scelto l’auto correlazione, quindi un’analisi nel dominio del tempo. Avevo fatto delle prove con la trasformata di Fourier, ma ottenevo dei risultati effettivamente peggiori, come riportato anche su degli studi su IEEEXplore e su vari siti. Inoltre per Fourier in C esistono delle librerie ma sono più difficili da usare dell’autocorrelazione.
L’autocorrelazione permetterebbe anche di determinare il punto su cui la nota è stata suonata, cosa che con l’assunzione che si suoni più o meno sopra i pickup, permetterebbe anche di trovare in quale corda è stata suonata la nota. Però questa è un’assunzione forte e spesso c’erano risultati non proprio corretti.
Quindi ho preferito mostrare tutte le posizioni in cui una nota può essere suonata e non consente di salvare i risultati ottenuti.
Mi spiace dover rilasciare sotto la GNU GPL v3, rilascerei volentieri sotto una licenza più leggera, come la MIT, però ho usato RSVG (da GNOME) per mostrare l’immagine del manico della chitarra. Se qualcuno riuscisse a togliere questa dipendenza potrebbe considerare tranquillamente il codice rilasciato sotto licenza MIT, e magari potrebbe farmi un pull su GitHub 😊 .
Il software è stato scritto senza prediligere una piattaforma, però per il momento l’ho testato solo su Debian.
Inoltre mancano numerose funzionalità, una su tutte la possibilità di scegliere l’accordatura dello strumento, sebbene io l’abbia realizzata in modo parametrico.
Detto tutto ciò, su GitHub potete trovare tutto il codice sorgente.
Invece in esclusiva per il sito, pubblico la relazione sul progeto per l’esame.