Laboratorio di Misure Elettroniche Elaborato di Laurea in Ingegneria Elettronica Misura dell’altezza di note musicali mediante algoritmi numerici. Candidato: Luigi D’Acunto Matr Università degli Studi di Salerno Facoltà di Ingegneria Anno Accademico 2008/2009 Relatore: Ing. Alfredo Paolillo
Nome e Cognome – Titolo dell’elaborato 2 Analisi di note musicali L’obiettivo che questo elaborato si prefigge è la valutazione dell’applicabilità ai segnali musicali delle tecniche di interpolazione usate nella stima dei parametri spettrali. Le informazioni possedute da una nota musicale sono: Altezza : è legata al modo in cui l’orecchio percepisce i suoni e spesso corrisponde alla posizione in frequenza dell’armonica fondamentale (es. LA, SI, etc.) Timbro : caratterizza il tipo di strumento che ha prodotto la nota e dipende dall’intensità delle armoniche secondarie Intensità: rappresenta la potenza dell’onda sonora convogliata nell’orecchio interno. Spesso è misurata in db. Durata: è l’estensione temporale della nota, durante la quale possono essere individuati i periodi di attack, decay, sustain e release. Caratterizza il tipo di nota (es. semiminima, semibreve, etc.) in relazione ai bpm del brano.
Nome e Cognome – Titolo dell’elaborato Analisi di note musicali Dalla figura si può notare la profonda differenza di timbro tra due strumenti diversi. Quello che, tuttavia, ogni nota ha in comune è la sua natura di onda periodica modulata da un particolare inviluppo. Un segnale musicale, infatti, può essere approssimato, nel dominio del tempo, come una somma di note e quindi di sinusoidi con un particolare inviluppo: 3 Ogni nota, pertanto, può essere analizzata, nel dominio del tempo e della frequenza, con gli algoritmi di calcolo a disposizione per i segnali periodici.
Nome e Cognome – Titolo dell’elaborato Analisi tempo-frequenza La sola DFT non è in grado di fornire informazioni sulla collocazione temporale delle componenti spettrali. E’ necessaria una analisi tempo frequenza come la STFT (Short Time Fourier Transform). Lo stesso pentagramma può essere considerato come una rappresentazione tempo-frequenza. 4
Nome e Cognome – Titolo dell’elaborato Finestratura Come per il calcolo della DFT mediante FFT, anche con l’STFT è possibile scegliere il segnale finestra ritenuto più opportuno. Qualunque segnale finestra altera lo spettro del segnale ed introduce i fenomeni di spectral leakage e di interferenza armonica. 5
Nome e Cognome – Titolo dell’elaborato Finestratura Nel seguito è stata scelta la finestra di Hanning perché 1. Ha un buon roll-off dei lobi secondari. 2. Consente l’applicazione diretta delle tecniche di interpolazione introdotte nel seguito. 6 Larghezza lobo principale: 2.00 Massima altezza lobi laterali: -32dbu Roll off rate: 60db per decade
Nome e Cognome – Titolo dell’elaborato Parziale sovrapposizione L’effetto della finestra nel dominio del tempo è quello di portare gradualmente a zero il segnale in corrispondenza degli estremi dell’intervallo di tempo analizzato. Se analizzo il segnale prendendo sequenze di N punti disgiunte (giustapposte, ma non sovrapposte), in corrispondenza degli estremi il contenuto del segnale è cancellato e non c’è modo di recuperarlo. Per evitare che questo avvenga occorre sovrapporre parzialmente due intervalli di analisi successivi. 7
Nome e Cognome – Titolo dell’elaborato Parziale sovrapposizione 8 Senza sovrapposizione Con sovrapposizione
Nome e Cognome – Titolo dell’elaborato Principio di indeterminazione Il problema principale dello studio effettuato con l’STFT è che, allo stringersi dell’intervallo temporale sotto analisi, mentre la risoluzione temporale diminuisce, poiché direttamente proporzionale al numero di campioni della porzione di segnale considerata, quella spettrale, al contrario, aumenta. 9 La conseguenza di questo problema è che la capacità di associare le componenti armoniche a dei precisi istanti temporali si paga con la massima indeterminazione sulla loro localizzazione spettrale.
Nome e Cognome – Titolo dell’elaborato IFFT (FFT Interpolata) Un modo per ridurre la risoluzione spettrale nell’analisi del segnale, senza aumentare la risoluzione temporale, è stato valutato l’algoritmo di “FFT interpolata”. L’algoritmo di IFFT, se applicato alla STFT, consente di “ricostruire” il ampiezza, frequenza e fase dell’armonica analizzata. L’IFFT basata su due punti determina il valore dell’armonica utilizzando il campione che precede il k-esimo massimo relativo, e quello che lo segue. 10
Nome e Cognome – Titolo dell’elaborato Interpolazione L’iesima armonica è determinata in questo modo: 11 In questa figura l’iesimo k rappresenta il massimo relativo. Delta, epsilon e alfa sono i coefficienti utilizzati per l’interpolazione
Nome e Cognome – Titolo dell’elaborato Campionamento asincrono Se la frequenza dell’armonica fondamentale è un multiplo della risoluzione spettrale Δf (campionamento sincrono), allora i risultati ottenuti senza interpolazione saranno esatti al 100%. La frequenza dell’ iesima armonica è infatti calcolata: 12 Poiché, in generale, la probabilità che si verifichi un campionamento sincrono è nulla, l’interpolazione risulta necessaria.
Nome e Cognome – Titolo dell’elaborato Esperimenti con l’STFT interpolata I primi test effettuati sull’algoritmo, che ne hanno verificato la correttezza, sono stati fatti su una sinusoide generata da Matlab in caso di campionamento sincrono e asincrono, su una nota suonata da un pianoforte virtuale e su una nota suonata da un pianoforte reale accordato. I risultati ottenuti confrontando i valori attesi delle varie armoniche con quelli riscontrati hanno evidenziato un errore relativo percentuale massimo pari a 0.2% e decisamente minore se paragonato alla risoluzione in frequenza. 13
Nome e Cognome – Titolo dell’elaborato Confronto tra STFT e STFT interpolata Il test più significativo mette a confronto, in caso di campionamento asincrono, l’STFT e l’STFT interpolata. La nota di questo esperimento è il FA a Hz (semiminima a 120 bpm); la risoluzione spettrale è pari a 44.1 Hz, la frequenza di campionamento 44.1 kHz. N=1000.Overlap=N/2. W=Hann(N). M= (campioni estratti dal segnale). Obiettivo: Questo test ha lo scopo di quantificare i miglioramenti introdotti dall’algoritmo di interpolazione. 14
Nome e Cognome – Titolo dell’elaborato Confronto tra STFT e STFT interpolata 15 STFT interpolataSTFT La STFT attribuisce in media alla prima armonica il valore Hz = Δf*8 La STFT interpolata attribuisce in media alla prima armonica il valore Hz La frequenza vera della fondamentale in realtà si trova a f= Hz Nel primo caso l’errore assoluto commesso è pari a 3.57 Hz, nel secondo, invece, soltanto a Hz.
Nome e Cognome – Titolo dell’elaborato Confronto tra STFT e STFT interpolata 16 STFT interpolataSTFT Da questi grafici si evince l’errore assoluto commesso rispetto al valore di frequenza atteso sulle prime due armoniche. L’STFT interpolata commette un errore relativo percentuale (nel caso della prima armonica) pari a 0.015%, contro quello della STFT semplice che è pari a 1.02%, ma che nel worst case, a Δf costante, può arrivare fino al 6%!!
Nome e Cognome – Titolo dell’elaborato Confronto tra STFT e STFT interpolata 17 In questo grafico è ancora più evidente come l’errore assoluto commesso sulle prime due armoniche dalla STFT interpolata (BLU) sia mediamente al di sotto di quello della STFT semplice (ROSSO). Di conseguenza, per la sua accuratezza, l’STFT interpolata può essere utilizzata anche in applicazioni ad elevata precisione.
Nome e Cognome – Titolo dell’elaborato Verso il riconoscimento di note L’elaborato ha verificato che l’uso dell’interpolazione migliora il compromesso tra risoluzione spettrale e temporale. Un secondo passo verso il riconoscimento è stato identificare le armoniche fondamentali nel caso di una sequenza di note eseguite da un solo strumento e mai contemporaneamente. ALGORITMO: 1. Discriminazione dell’evento ‘nota musicale’. 2. Individuazione dell’armonica fondamentale. 3. Confronto con le fondamentali note 18
Nome e Cognome – Titolo dell’elaborato Analisi di una sequenza di note 19 Discriminazione nota Determinazione fondamentale
Nome e Cognome – Titolo dell’elaborato Sviluppi futuri Sull’argomento di IFFT sono già stati scritti centinaia di articoli scientifici. L’idea alla base dell’elaborato, invece, è che l’interpolazione applicata alla STFT potrebbe essere lo strato di basso livello di sistemi di riconoscimento di note già sviluppati che si basano sulla STFT tradizionale. Tra i possibili sviluppi c’è l’estensione dell’analisi fatta su una sequenza di note ad una serie di accordi. Occorre, inoltre, riuscire a distinguere gli strumenti tra loro in base al contenuto armonico delle note che suonano. Queste migliorie rappresentano il naturale percorso dell’algoritmo verso l’analisi polifonica. 20