audio information retrieval e nuovi plugin audio digitali

Transcript

audio information retrieval e nuovi plugin audio digitali
Università degli studi di Milano
Facoltà di scienze Matematiche, Fisiche e Naturali
Dipartimento di Informatica e Comunicazione
Corso di Laurea in Scienze e Tecnologie della Comunicazione Musicale
AUDIO INFORMATION
RETRIEVAL E NUOVI PLUGIN
AUDIO DIGITALI
Relatore: Prof. Goffredo HAUS
Correlatore: Vasco BONI
Elaborato finale di:
Mattia Carlo CELLOTTO
Matricola: 722087
Anno Accademico 2010-2011
INDICE:
1 INTRODUZIONE
…………………………………………………………..… 1
1.1 Audio digitale, DAW ed elaborazione del suono
……………………………… 1
1.2 Plugin audio digitali e audio information retrieval
……………………………… 2
2 VOCALIGN
…………………………………………………………………… 3
2.1 Presentazione del plugin
………………………………………………………..3
2.1.1 Utilizzo di Vocalign in studio
………………………………………………… 3
2.2 Vocalign e audio information retrieval …………………………………………... 4
2.3 Obiettivi della fase di test del plugin
…………………………………………... 4
3 TEST CON MATERIALE SINTETIZZATO
………………………... 5
3.1 Test 1: pattern ritmici dequantizzati a nota costante ……………………………… 6
3.1.1 Analisi dei risultati
……………………………………………………………... 6
3.2 Test 2: pattern ritmici a BPM diversi e nota costante ……………………………… 8
3.2.1 Analisi dei risultati
……………………………………………………………... 8
3.3 Test 3: aggiunta di pitch randomize
3.3.1 Analisi dei risultati
…………………………………………... 9
…………………………………………………………….. 9
3.3.2 Raffinamenti ed ulteriori conclusioni
…………………………………………... 10
3.4 Test 4: intervalli reiterati a valore costante
3.4.1 Analisi dei risultati
……………………………………. 10
…………………………………………………………….. 11
3.5 Test 5: pattern ritmici diversi con suoni polifonici
3.5.1 Analisi dei risultati
……………………………………………………………... 12
3.6 Test 6: tracce con automazione di volume
3.6.1 Analisi dei risultati
……………………………… 11
……………………………………. 13
……………………………………………………………... 14
3.7 Test 7: intervalli armonici in due ottave …………………………………………... 15
3.7.1 Analisi dei risultati
……………………………………………………………... 16
3.8 Test 8: diversi tempi di pitch-bend per stesse note
3.8.1 Analisi dei risultati
……………………………… 17
……………………………………………………………... 18
3.9 Test 9: note con fade-in e fade-out ………………………………………………… 19
3.9.1 Analisi dei risultati
…………………………………………………………….. 20
3.10 Test 10: introduzione di rumore bianco ………………………………………….. 20
3.10.1
Analisi dei risultati
………………………………………………………. 21
I
4 TEST CON CAMPIONI E MATERIALE REGISTRATO
…...… 23
4.1 Test 11: campioni di batteria ………………………………………………………. 23
4.1.1 Analisi dei risultati
……………………………………………….…………….. 23
4.1.2 Raffinamenti ed ulteriori conclusioni
……………………….………………….. 23
4.2 Test 12: voci e linee melodiche variabili …………………….…………………….. 24
4.2.1 Analisi dei risultati
……………………………………………….…………….. 25
4.3 Test 13: sequenze di sillabe …………………………………………………...….. 25
4.3.1 Analisi dei risultati
………………………………………………………….….. 26
4.4 Test 14: materiale registrato in studio e valutazione del prodotto …………………..26
4.4.1 Analisi dei risultati
……………………………………………….…………….. 26
5 VOCALIGN E AUDIO INFORMATION RETRIEVAL …………...… 27
5.1 Definizione dei percorsi di sincronizzazione
……………………………….…… 27
5.2 Confronto del percorso del file dub con quello del file guide
…………….…… 28
5.3 Scelta delle regioni del file a cui applicare time-warping …………………...…… 28
6 MELODYNE
…………………………………………………………………… 30
6.1 Presentazione del plugin
6.1.2 Melodyne in studio
………………………………………………….…… 30
………………………………………………………...…… 30
6.2 Melodyne e audio information retrieval ………………………………...………… 32
6.3 Obiettivi della fase di test del plugin
………………………………...………… 33
7 TEST CON MATERIALE SINTETIZZATO
7.1 Test 1: introduzione di un'onda sinusoidale
7.1.1 Analisi dei risultati
………………………………….… 34
………………………………………………………...…… 35
7.2 Test 2: intervalli armonici circoscritti all'ottava
7.2.1 Analisi dei risultati
……………………………………...…… 38
…………………………………………………...………… 38
7.4 Test 4: intervalli superiori all'ottava
7.4.1 Analisi dei risultati
……………………………… 35
………………………………………………………...…… 35
7.3 Test 3: sinusoidi con diverso volume
7.3.1 Analisi dei risultati
…………………...…… 34
………………………………………...… 39
……………………………………………………...……… 39
7.4.2 Identificazione manuale ed ulteriori conclusioni
……………………………… 40
7.5 Test 5: accordi a voci strette …………………………………………………….… 41
7.5.1 Analisi dei risultati
…………………………………………………………...… 42
7.6 Test 6: Intervalli inferiori al semitono
7.6.1 Analisi dei risultati
…………………………………...……… 43
…………………………………………………………...… 44
II
7.6.2 Identificazione manuale ed ulteriori conclusioni
7.6.3 Raffinamenti
……………………………… 45
…………………………………………………………………… 45
7.7 Test 7: impiego di intervalli uguali con durata decrescente ……………………...… 46
7.7.1 Analisi dei risultati
………………………………………………………...…… 46
7.7.2 Identificazione manuale ed ulteriori conclusioni
7.8 Test 8 inserimento di rumore bianco
7.8.1 Analisi dei risultati
……………………………… 46
…………………………………...……… 48
…………………………………………………………...… 49
7.9 Test 9: Attribuzione delle armoniche …………………………………………..… 50
7.9.1Analisi dei risultati
…………………………………………………..………… 50
8 TEST CON CAMPIONI E MATERIALE REGISTRATO
8.1 Test 10: analisi di intervalli armonici di chitarra acustica
8.1.1Analisi dei risultati
…...… 54
…………………...… 54
……………………………………………………..……… 54
8.2 Test 11: utilizzo generare del plugin in studio ………………………………...……54
8.2.1Analisi dei risultati
……………………………………………………..……… 55
9 MELODYNE E AUDIO INFORMATION RETRIEVAL ……...……… 56
9.1 Analisi spettrale del segnale …………………………………………………….… 56
9.2 Separazione delle componenti spettrali ed assegnazione dell'energia …………...… 56
9.3 Creazione dei blob per il display
10 CONCLUSIONI
………………………………………..…… 57
……………………………………………...…...………… 59
10.1 L’importanza dell’Audio Information Retrieval
10.2 Possibili sviluppi e applicazioni
……………………………... 59
…………………………………………….. 59
10.3 La tecnologia plasma il settore della produzione
….………………………….. 60
BIBLIOGRAFIA ………………………………………………………………..…… 62
III
1 Introduzione
1.1Audio digitale, DAW ed elaborazione del suono
La prima audio workstation digitale vede la propria comparsa alla fine degli anni 70, questa era realizzata su un
minicomputer PDP-11 della Digital Equipment Corporation, una delle prime macchine a montare
microprocessori con capacità computazionali sufficienti all'elaborazione di materiale audio. Tramite comandi di
tre lettere ciascuno era possibile l'aggiunta di effetti al segnale originale, un oscilloscopio forniva un supporto
all'ascolto mostrando la forma d'onda del segnale.
Nel 1981 Roger Nichols costruisce una DAW (Digital Audio Workstation) su un computer basato su bus S-100,
uno dei primi standard derivati dall'avvento dei microcomputer. In questo sistema un hard disk Micropolis da 32
MB veniva utilizzato per modificare il segnale in uscita da un registratore a nastro.
In questo periodo in cui la potenza computazionale delle macchine digitali ha ancora da svilupparsi, i tentativi di
implementare workstation su computer risultavano essere più che altro sperimentazioni, gli effetti applicabili
erano emulazioni di outboard analogico e non potevano presentare molti vantaggi rispetto agli originali.
Nella seconda metà degli anni 80 il progresso tecnologico porta alla commercializzazione di prodotti come
Apple Macintosh o Commodore Amiga, abbastanza potenti da poter gestire processi di editing di audio digitale.
Negli anni seguenti i programmi per l'editing audio si moltiplicano, nel 1986 Macromedia introduce Soundedit,
nel 1987 Digidesign diventa leader del settore con Sound Tools, precursore dell'attuale Pro Tools, uno degli
standard più affermati nel settore degli studi di registrazione.
Gli investimenti fatti nel settore delle DAW o, più generalmente, nel settore dell'audio digitale, erano favoriti dai
numerosi vantaggi offerti dall'hard disk recording, tra questi se ne citano i più rilevanti per quanto riguarda la
proliferazione di tali sistemi:
-Possibilità di gestire file audio di grandi dimensioni. La registrazione su hard disk è spesso limitata soltanto
dalla capacità dell'hard disk stesso.
-Editing ad accesso casuale. La grande innovazione portata dall'audio digitale, la possibilità di accedere al file in
ogni sua parte senza l'obbligo di ascolto sequenziale.
-Editing non distruttivi. Questo procedimento permette di posizionare segmenti audio (detti regioni) in
qualunque contesto o ordine in un programma, senza andare a modificare in nessun modo il file audio
originariamente registrato. Una volta create le regioni, queste possono essere editate indipendentemente l'una
dall'altra, anche se derivanti dal medesimo file, al fine di creare un unico brano musicale.
-DSP. L'elaborazione del segnale digitale può essere attuata su un segmento o su un intero file, sia in real-time
che in non-real-time (oramai quasi sempre in maniera non distruttiva).
Ai vantaggi generali derivati dall’operabilità nel dominio digitale si sommino quelli introdotti dalle DAW,
finalizzati a supportare il fonico in tutte le fasi del lavoro in studio di registrazione con o senza outboard
analogico:
-Funzionalità avanzate di registrazione multitraccia. Editing e mixaggio.
-Funzionalità di programmazione di sequenze, editing e scrittura in ambiente MIDI.
-Supporto alle funzioni di elaborazione del segnale integrato o di tipo plugin.
-Supporto per l'integrazione di software plugin per l'emulazione di strumenti musicale (VSTi) e programmi
1
musicali esterni (ReWire).
Per ultima ma non meno importante, una caratteristica che ha permesso al digitale di affermarsi nel corso degli
anni riguarda il costo delle apparecchiature. Se negli anni 80 il digitale presentava prestazioni inferiori
all'analogico, ad oggi, con il progresso tecnologico, non solo si è raggiunto un incremento della potenza
computazionale e della qualità ma anche i prezzi delle componenti hardware risultano essere scesi sensibilmente.
1.2 Plugin audio digitali e Audio Information Retrieval
Con il termine plugin si intende generalmente una componente aggiuntiva sfruttata da un software principale,
audio, video o di altro genere, il termine “plug” indica appunto l'inserimento o attivazione del plugin mediante il
programma preso in considerazione, trattasi nel caso considerato di un software per registrazione ed editing in
multitraccia.
L'ambito digitale incorpora un requisito fondamentale per operare determinate modifiche sul segnale audio: la
possibilità di lavorare in non-real-time.
Quando si opera in ambito analogico il segnale è un flusso di corrente elettrica, può essere riprodotto o
modificato nell'istante in cui il circuito incontra componenti atte appunto alla riproduzione o all'alterazione
dell'informazione in esso presente.
Equalizzatori, compressori, distorsori e o riverberi sono tutti effetti applicabili in real-time, anche strumenti (non
propriamente definibili come effetti) come gli analizzatori di spettro possono lavorare in tempo reale sebbene in
questo caso sia necessario operare un cambio di dominio (dal tempo alle frequenze). Il limite imposto dal realtime è l'impossibilità di operare Audio Information Retrieval di alto livello; per una analisi semanticamente
complessa (identificazione di serie di note, click o altri elementi) è spesso necessario avere a disposizione l'intero
file registrato ed accessibile.
Con la possibilità di operare estrazione dell'informazione si possono quindi generare nuovi plugin con diversi
scopi: identificazione del ritornello all'interno di un file
[19]
, separazione di materiale polifonico ed
identificazione delle singole note al suo interno (Capitolo 7), sincronizzazione di tracce con contenuto
informativo simile (Capitolo 2), riconoscimento di particolari forme d'onda (es.
speech recognition),
identificazione dei punti degradati del file e o ricostruzione dell'informazione.
Il grande vantaggio del digitale nell'ambito dell'Audio Information Retrieval è quindi la possibilità di
immagazzinare una traccia audio nella propria integrità. Tramite lo store è possibile accedere al file audio
casualmente (da qualsiasi suo punto), analizzare e comparare parti del file con altre parti del medesimo o con
quelle di altre registrazioni.
I recenti sviluppi commerciali incentivano la ricerca di nuove metodologie volte all'Audio Information Retrieval,
elemento sempre più sfruttato nell'ambito musicale, dalla produzione in studio al lato consumer (Shazam,
Midomi, Soundhound ed altri programmi per il riconoscimento di canzoni riprodotte o cantate). Le esperienze
svolte in studio hanno avuto come scopo l'identificazione della componente di Audio Information Retrieval
all'interno dei plugin utilizzati durante il periodo di stage, la loro valutazione ed una riflessione finale su come
queste tecnologie potrebbero svilupparsi ed influire ulteriormente nel futuro nel settore.
2
2 Vocalign
2.1 Presentazione del plugin
Vocalign è un plugin per la sincronizzazione (allineamento come suggerito dal nome) di tracce con contenuto
simile, può essere utilizzato per cori così come per il doubling (doppiaggio) di tracce vocali.
Sviluppato dalla casa Synchroarts, casa inglese fondata nel 1994, Vocalign trova inoltre un impiego nel settore
della post-produzione video, in particolare è utilizzato per il lip-syncing, nella fase di doppiaggio, per facilitare il
matching dell'audio con le immagini del video.
Tra le importanti produzioni in cui è stato sfruttato il plugin si ricordano “Il miglio verde” (“The Green Mile”,
tratto dall'omonimo romanzo di Stephen King) e la saga “Harry Potter” (Scritta da Joanne Rowling ed in seguito
prodotta dalla Warner Bros) per quanto concerne la produzione di film, si citano inoltre le serie televisive degli
anni 90 Friends e Seinfeld.
2.1.1
Utilizzo di Vocalign in studio
Vocalign nasce dall'esigenza sempre maggiore di velocità operazionale all'interno degli studi di registrazione.
Senza l'ultilizzo di questo accessorio, la sincronizzazione di due file vocali per un brano di circa 3 minuti
richiede in media 50 minuti (media calcolata durante lo stage tramite la sincronizzazione di 20 tracce in 10 brani
musicali) in cui il fonico, sfruttando la funzione di split (separazione) della DAW, divide la traccia dub in più
segmenti, manualmente modifica quindi la posizione temporale delle regioni ottenute in base alla traccia guide
ed infine verifica la presenza di fade all'inizio di ogni regione, nel punto di sovrapposizione di due segmenti ed
alla fine di ogni regione.
Un importante fattore da considerare nella synching manuale delle tracce è la necessità di ascolto reiterato delle
modifiche che vengono apportate al file dub. Il tecnico del suono, per procedere nel traslare temporalmente le
singole regioni, si affida infatti quasi esclusivamente alla forma d'onda rappresentata dal programma
multitraccia, ricorrendo all'ascolto solo nella fase di indentificazione dei punti di maggiore discordanza tra
traccia dub e guide. Questo approccio, per quanto valido, perde di efficacia in maniera esponenziale quando si
lavora su tracce in cui la sincronia iniziale è scarsa (il fonico necessita di un riferimento di synch valido tra le
due tracce come punto di partenza, una maggiore discordanza rende più difficile l'identificazione di tale
riferimento), basandosi principalmente sull'osservazione delle forme d'onda, non si dimostra inoltre robusto se
applicato a tracce con scarsi transienti.
Vocalign richiede al fonico un rate di intervento manuale decisamente inferiore, si elencano di seguito i passi
seguiti nella fase di testing del plugin per la sincronizzazione di tracce:
1) aprire il plugin in insert nella traccia dub.
2) mettere in sidechain nel plugin la traccia guide.
3) selezionare il pulsante capture.
4) mandare in play la digital audio workstation.
5) selezione del metodo di sincronizzazione (da alta flessibilità, normale o massima compressione).
6) selezione del pulsante align.
7) selezione del pulsante edit per l'ascolto e la modifica del sync.
3
2.2
Vocalign e Audio Information Retrieval
Lo scopo principale di questo tool è quello di identificare delle corrispondenze tra un file audio principale detto
guida ed uno simile ma non identico detto dub mediante Audio Information Retrieval.
Lo schema (figura 1) presentato nel manuale dell'utente del plugin evidenzia 3 passaggi fondamentali:
1)
analisi spettrale: entrambi i file (dub e guide) vengono processati dal medesimo analizzatore di spettro
al fine da generare “time-varying energy patterns” (pattern di energia tempo-varianti).
2)
algoritmo di allineamento temporale: tramite un'analisi avanzata dei pattern è possibile creare un
percorso di warping ottimale dei picchi energetici del file dub, in questo modo è possibile far coincidere
il secondo file con la guida con la minore degradazione del segnale possibile.
3)
audio editing: la fase di editing consiste nella espansione o nella compressione temporale di parti del
file dub identificate dall'algoritmo di allineamento temporale, questo tipo di editing è conosciuto come
time-warping.
Figura 1: schema a blocchi di Vocalign presentato nel manuale dell'utente.
2.3
Obiettivi della fase di test del plugin
In questo plugin, la fase di Audio Information Retrieval è identificabile nei primi due passaggi; il plugin, prima
di operare sul segnale dub, estrae informazioni da entrambi i file, in seguito definisce il migliore percorso
temporale prima di procedere all'editing con time-warping. Pertanto, nella fase di test del plugin si è riposta
particolare attenzione al tipo di analisi effettuata da Vocalign e al metodo con cui il plugin sceglie il percorso di
modifica o warping temporale del file dub.
4
3 Test con materiale sintetizzato
I test sono stati effettuati con l'utilizzo di Logic Pro 9, i progetti sono stati creati con frequenza di
campionamento pari a 48000 Hz, per il test si è scelto di operare su tracce mono. La sintesi è avvenuta mediante
l'utilizzo del default preset del software instrument EXS24, un'onda sinusoidale, come riferimento per il test con
note ad altezza costante ad intervalli di tempo variabili è stato scelto il La 5 (880 Hz).
Per la dequantizzazione, necessaria al fine di rendere differenti le tracce software instrument, si è scelto di
utilizzare la funzione Humanize presente in logic, i due settaggi principalmente utilizzati (30ms e 60ms) hanno
avuto come scopo quello di permettere l'identificazione di un comportamento variabile nel detecting e nella fase
operativa del plugin.
A partire dalle tracce virtual instrument si sono generati file audio mediante la funzione di bounce (“buttafuori”)
integrata in Logic. Il passaggio è stato chiaramente necessario data la natura del plugin: Vocalign non opera su
segnale MIDI, diversamente la fase di test perderebbe di valore.
Le tracce generate non hanno mai superato la durata di 10 secondi in quanto il Vocalign raccomanda l'impiego
della sincronizzazione su file di lunghezza non eccessiva per un utilizzo ottimale.
Vocalign offre la possibilità di regolare quantità di time warping apportata al file dub, per ottenere risultati
migliori si sono seguite le indicazioni del manuale dell'utente scegliendo di utilizzare il setting “normal
flexibility” (utilizzare i due settings estremi avrebbe ridotto la variabilità dei risultati), l'editing è stato impostato
sulla nella modalità standard “time domain”, più versatile rispetto alla “frequency domain”, indicata come
idonea alla sincronizzazione di materiale con una sola nota. Si è optato inoltre per l'utilizzo del plugin in
modalità avanzata per avere la possibilità di intervenire manualmente nel detecting dei punti di synch. Uno
screenshot delle impostazioni utilizzate durante il testing del plugin è mostrato in figura 2.
Figura 2: impostazioni utilizzate durante la fase di test.
5
3.1 Test 1: pattern ritmici dequantizzati a nota costante
Il primo test effettuato ha avuto come oggetto la sincronizzazione di una sequenza di note di intensità e altezza
costante con una traccia dub contenente la medesima informazione dequantizzata.
Per traslare temporalmente i comandi di note-on, come accennato, si è utilizzata la funzione Humanize di Logic.
Il valore scelto in questo caso per il randomize è stato di 30 ms, pertanto, nella traccia dub si sono venute a
creare divergenze temporali dei comandi di note on per un massimo di 30 ms.
Il compito di Vocalign è stato quello di riportare le note della traccia dub alla posizione originale (quantizzata)
con la minore perdita di informazione possibile.
3.1.1
Analisi dei risultati
Mediante il primo test si sono identificati due principali comportamenti assunti dal plugin:
1) Nel primo caso (figura 3) si denota una traslazione temporale dell'intera nota, il plugin effettua quindi la
compressione o espansione temporale del file dub (la dove è possibile) in punti di assenza di
informazione. Riportando le tracce traslate secondo questo criterio in fase con il dub originale ed in
seguito applicando una phase inversion su di esse l'output risultante dalla riproduzione contemporanea
dei due file è nullo (le due tracce sono identiche). Si deduce quindi da questo primo comportamento che
il plugin effettua preferibilmente time-warping in zone prive di segnale la dove queste sono presenti,
lasciando del tutto inalterato il contenuto informativo delle zone non nulle, senza applicazione di fadein o fade-out.
È importante notare come la sincronizzazione non riporti il file dub precisamente ai punti di
attacco del file guide, le informazioni di fase non sembrano incidere sul output del plugin.
La distanza temporale tra gli attacchi delle note è ridotta ad un range che va da 1 ms a 9 ms, questo
intervallo potrebbe derivare dalla larghezza della funzione di finestratura con la quale il software
analizza il segnale, addizionalmente, istruzioni psicoacustiche in merito alla percezione di segnali
pressoché contemporanei (temporal masking) potrebbero essere sfruttate dal plugin, in modo da limitare
l'intervento in base ai limiti della sensibilità umana (~20 ms di tolleranza prima della percezione distinta
dei due attacchi).
2) Il secondo caso, seppur manifestatosi sporadicamente (2 transienti su 15), evidenzia un comportamento
leggermente diverso dal primo.
In questo caso il plugin ha applicato un fade-in al segnale della durata media di 3 ms (figura 4), senza
modificare il contenuto del segnale nella fase di sostegno e senza applicare un fade-out alla medesima
nota. In entrambi i casi riscontrati il file dub allineato risulta essere (seppur non perfettamente) in fase
6
con il file guide, anche in questo caso il fade-in potrebbe essere conseguenza dei limiti dettati dalla
analisi spettrale del segnale, diversamente, in base alla considerazione fatta riguardo la fase dei due
segnali, il plugin potrebbe scegliere di applicarlo per evitare
il raddoppio della percezione della
intensità nella fase di attacco del suono.
Figura 3: in azzurro il file guide, in verde il file dub, in rosso il file allineato.
Figura 4: in azzurro il file guide, in verde il file dub, in rosso il file allineato.
7
3.2 Test 2: pattern ritmici a BPM diversi e nota costante
Il primo test ha permesso una serie di deduzioni riguardo la fase di analisi del plugin. Per poter osservare un
intervento più completo da parte del software si è deciso di procedere con un' ulteriore modifica del file dub.
Utilizzando la funzione Humanize di Logic, oltre a traslare temporalmente i punti di attacco delle note, è inoltre
possibile assegnare un valore random per la modificarne la durata.
Tramite la generazione di una discordanza di durata delle note, Vocalign ha dovuto riportare le regioni del file
dub presso quelle del file guide, richiamando inoltre la funzione di time warping in modo tale da rendere
nuovamente concordanti le due tracce. Per l'apporto di tali modifiche si sono mantenuti i 30 ms utilizzati come
maximum randomize value (test 1) per quanto riguarda la traslazione dei comandi di note on, si è scelto un
valore di 60 ms per la modifica della durata di tali note. In questo modo si sono create discordanze di un nuovo
genere: regioni di durata inferiore a quella originale con attacco ritardato e rilascio anticipato, regioni con
comandi di note on antecedente quello originale e con comando di note off seguente quello della medesima nota
nel file guide.
3.2.1
Analisi dei risultati
L'analisi dei risultati del secondo test ha evidenziato la validità degli algoritmi utilizzati dal plugin: tutte le 15
note modificate nel file dub sono state correttamente riportate in sincronia con il file guide, le rimanenti
discordanze temporali registrate tra il file originale e quello allineato variano tra i 2 ms ed i 10 ms, sia nella fase
di attacco, sia in quella di rilascio, solo in un caso si è registrato un gap di 15 ms tra due comandi di note on.
Come anticipato, i casi particolari riscontrati si riconducono principalmente a due categorie:
1) Nel primo caso il file dub presentava note di durata superiore a quella originale. In questa eventualità il
plugin ha operato principalmente tagliando una parte del file (avendo lavorato con un'unica sinusoide
non è stato possibile identificare la posizione del taglio), ciò nonostante non si evidenziano
discontinuità nel segnale, pertanto, se il taglio fosse stato eseguito nella fase di sostegno delle note, si
potrebbe ipotizzare che il plugin sfrutti le informazioni di fase e zero-crossing in modo tale da non
alterare la stazionarietà dell'onda. In alcuni casi, fade-in e fade-out (mediamente da 4 a 7 ms) sono stati
applicati al segnale dub; i limiti dettati dall'utilizzo di una sola sinusoide a frequenza costante non
hanno reso possibile definire se questi due comportamenti di manifestino in mutua esclusione o se
questi siano utilizzati parallemente dal software.
2) Nel secondo caso le note nel file dub avevano durata inferiore a quella delle corrispettive nel file guide.
In questo caso il plugin ha restituito in output note di lunghezza superiore a quella iniziale con
frequenza costante e con forma d'onda esente da irregolarità. È possibile che il plugin abbia eseguito
un’azione di copia e incolla interna al file dub, alternativamente si potrebbe considerare la presenza di
una funzione simile a quella di spectral repair di Izotope RX, funzione che studia lo spettro del segnale
prima e dopo i punti di discordanza per mediarne la ricostruzione. Si può escludere l'eventualità
8
secondo la quale il software utilizzerebbe parti del file guide all'interno del file dub; un simile approccio
porterebbe notevoli scompensi quali effetti di chorus e cancellazioni di fase.
3.3 Test 3: aggiunta di pitch randomize
Nel terzo test si è posta particolare attenzione all'algoritmo di analisi spettrale e comparazione della traccia dub
con quella guide. Tramite l'applicazione di un pitch randomize, si sono modificati i valori di altezza delle note
nella traccia dub in modo tale da creare per la prima volta una differenza di contenuto spettrale tra i due file.
La modifica è stata sommata a quella presente nel test 1, è stata apportata con la funzione pitch randomize di
Logic 9 indicando come range di valori l'ottava compresa tra il Do 5 ed il 6 (considerato che fino ad ora si era
lavorato al valore costante di 880 Hz, frequenza corrispondente al La della quinta ottava). Dati i risultati
precedentemente raccolti, questo test ha avuto il compito di stabilire l'entità dell'analisi spettrale effettuata da
vocalign; se il plugin non avesse analizzato il contenuto spettrale dei file, i risultati ottenuti non si sarebbero
allontanati da quelli raccolti dal test 1 in quanto volume e traslazione temporale rimangono invariati.
3.3.1
Analisi dei risultati
Il test ha messo in luce le problematiche da cui il plugin è affetto, queste sono probabilmente derivate dalla
convivenza di informazioni legate ai transienti e di altre legate al contenuto spettrale del segnale.
Nella sequenza dub, come anticipato, le note sono state generate con altezza random compresa tra Do 5 e Do 6, il
file guide presentava invece un intervallo compreso tra Fa 5 e Do# 6, conseguentemente, nella progressione, due
Sol 5 sono venuti a trovarsi ad una distanza di 0,72 s, separati da una nota della sequenza (figura 5). Il plugin ha
sfruttato la potenza del calcolo non-real-time per modificare la lunghezza delle note antecedenti tale incidenza in
modo tale da sincronizzare le due note con stesso pitch. Data la durata variabile delle note, al fine di apportare
tale sincronizzazione il plugin ha eseguito diversi tagli nel file dub, rendendo la sequenza temporalmente più
breve (figura 6).
Figura 5: A) File MIDI da cui è stato generato il file guide. B) File MIDI da cui è stato generato il file dub.
9
Figura 6: in azzurro il file guide, in verde il file dub, in rosso il file allineato. La sincronizzazione del Sol 5 (in
viola) è stata mediata tramite il taglio di un Do 5 (prima nota in giallo) e l'adattamento delle note seguenti a
quelle del file guide.
3.3.2
Raffinamenti ed ulteriori conclusioni
Onde evitare falsi positivi si è ripetuta l'esperienza con la sola modifica dell'altezza del Sol 5 (apparente causa
della serie di modifiche apportate) in La 5.
Il plugin ha esibito un comportamento identico a quello riscontrato nel test precedente, forzando la
sincronizzazione del La 5 con il Sol 5 della traccia guide con gli stessi tagli visti nell’ultimo esperimento.
Le considerazioni precedentemente fatte riguardo l'analisi spettrale vengono quindi a perdere di valore, si è reso
pertanto necessario un test in cui l'analisi spettrale fosse assolutamente necessaria per generare un output
corretto.
3.4 Test 4: intervalli reiterati a valore costante
Dati gli esiti della fase 3 dei test, il test 4 ha avuto il compito di determinare l' effettiva esistenza di una fase di
analisi spettrale nell'algoritmo di Vocalign. Si è quindi generata nella traccia guide una serie di 12 note (Fa e Fa#
alternati) di valore uguale ad un ottavo, separate da pause con medesimo valore. Nella traccia dub la medesima
sequenza ha inizio con un ottavo di ritardo, in questo modo (applicando le funzioni di Humanize sfruttate nel test
1) le probabilità non condizionate di sincronizzare un Fa nel file dub con un Fa o Fa# nel file guide sono
pressochè uguali (50% circa delle possibilità con random Humanize).
10
In caso di assenza di analisi spettrale il plugin avrebbe quindi avuto una probabilità del 50% di sincronizzare
correttamente le note (non considerando altri possibili fattori come influenti nella fase di sincronizzazione), le
due sequenze sono mostrate in figura 7.
Figura 7: A) Sequenza MIDI da cui è stato generato il file guide. B) Sequenza MIDI da cui è stato generato il
file dub.
3.4.1
Analisi dei risultati
Nel file sincronizzato Vocalign ha assegnato correttamente la corrispondenza verticale tra le due note.
Nonostante questo risultato, è possibile che il plugin abbia sincronizzato correttamente la sequenza
semplicemente considerando le prime due note dei due file come corrispondenti. Per verificare questa ipotesi si
è quindi invertita la sequenza di note nel file guide, lasciando invariati tutti i parametri restanti. Anche in questo
caso il plugin ha allineato le prime note delle due sequenze, facendo corrispondere ad un Fa# (nella sequenza
guide) un Fa (nella sequenza dub). Anche in questo test il primo risultato è stato registrato come falso positivo: il
punto di riferimento per la sincronizzazione sembra quindi essere rappresentato dalla forma d'onda dei segnali
nel tempo e non dal loro spettro.
3.5 Test 5: pattern ritmici diversi con suoni polifonici
L'inserimento della componente polifonica ha avuto come scopo principale una migliore identificazione dei
punti di editing del segnale. Per la prima esperienza con materiale polifonico si è deciso di aggiungere al La da
880 Hz utilizzato nei test precedenti il La 2 (110 Hz). Nel file guide i comandi di note on e note off per le due
diverse sinusoidi sono contemporanei, nel file dub l'impiego della funzione di Humanize ha creato uno
spostamento temporale, pertanto, se nel file guide ciò che si manifesta è una forma d'onda complessa costante
nel tempo, nel file dub questa forma d'onda è identificabile nel mezzo di zone che presentano prima e o dopo una
singola sinusoide da 880 o 110 Hz.
11
3.5.1
Analisi dei risultati
L'esperienza svolta conferma (come tutte le esperienze svolte prima di questa) l'efficacia del plugin nel
sincronizzare a meno di 15 ms circa di distanza le note del file dub con quelle del file guide.
Nel test 2 è stata riscontrata una modifica della durata delle note nel file sincronizzato, in tale occasione non è
stato possibile determinare i punti di inizio e fine dell'editing applicato da Vocalign.
I risultati ottenuti da questo test hanno permesso di identificare queste zone di editing:
1) In figura 8 è mostrato l'allineamento con espansione di una nota del file dub. In questo caso la fase di
attacco (880Hz) è lasciata inalterata, invertendo la fase del file dub dopo il riallineamento i due segnali
si annullano. La fase di sostegno presenta contemporaneamente una sinusoide a 880 Hz ed una a 110
Hz, in questo punto il plugin ha ricostruito un periodo (circa 18 ms) in modo tale da sincronizzare il
rilascio del file dub con quello nel file guide. Nella fase finale Vocalign ha nuovamente aggiunto un
periodo al file dub, tuttavia in questo caso la modifica è stata apportata senza apparente motivo in
quanto l'assenza di segnale guide avrebbe portato ad aspettarsi piuttosto un taglio.
Figura 8: in azzurro il file guide, in verde il file dub, in rosso il file allineato.
2) Un'ulteriore conferma del comportamento è evidenziata dalla sincronizzazione presentata in figura 9: in
questo caso la lunghezza della nota nel file dub era maggiore della corrispettiva nel file guide. Il plugin
non ha modificato la fase di attacco né ha editato la regione finale del file, mantenendo per entrambe le
sinusoidi presenti tutti i periodi, il test in controfase conferma l'inalterazione di entrambe le regioni.
12
Nella fase intermedia invece il plugin ha ridotto i periodi dell'onda complessa da 19 a 13, riducendo di
circa 0,05 s la durata di questa regione. In questo caso il plugin sembra aver modificato la zona di
durata superiore alle altre due per fare in modo che i due suoni (dub e guide) finissero
contemporaneamente. Invertendo di fase questa regione (e riducendo la riproduzione alla sua durata) la
riproduzione del file dub e quello allineato non dà somma nulla. Il motivo risiede in un modesto timewarping applicato dal plugin, probabilmente impiegato per permettere la rimozione dei 6 periodi
dell'onda complessa.
Dal test si deduce quindi la tendenza del plugin a non modificare zone di inizio e fine del segnale, agendo invece
su fasi di stazionarietà più estese sia quando lo scopo è quello di estendere la durata del suono, sia quando
l'obiettivo è quello di ridurla. È importante denotare un diverso comportamento nell'editing della durata dei
segnali: nel primo esempio Vocalign allinea le due forme d'onda simili in quanto vicine, non considerando la
coda in eccesso nel file dub, nel secondo caso il plugin preferisce invece applicare un taglio in modo tale da far
coincidere la fine di entrambi i segnali.
Figura 9: in azzurro il file guide, in verde il file dub, in rosso il file allineato.
3.6 Test 6: tracce con automazione di volume
Come spiegato nella presentazione del plugin, Vocalign trova impiego in diversi settori, non necessariamente
legati direttamente alla musica. In quello della post-produzione video sarebbe pressoché inutile avere un plugin
influenzato nelle operazioni dal contenuto spettrale del segnale, in questi casi (e probabilmente anche in quello
musicale) è preferibile lo sfruttamento di informazioni relative ai picchi del segnale.
Per questo test si è quindi deciso di inserire un’automazione di volume nella traccia dub, lasciando inalterati i
13
punti di note on e note off, la durata ed il pitch della traccia da sincronizzare. L'automazione è stata inserita
tramite l'utilizzo dell'apposito comando di Logic, creando rapide variazioni di 6 dB volume (Figura 10) nella
traccia MIDI da cui si è generato il file dub. Nella seconda fase del test si sono quindi invertite le automazioni, in
modo tale da verificare l'influenza della variazione del volume nell'editing apportato da Vocalign.
Figura 10: automation tool di Logic.
3.6.1
Analisi dei risultati
I risultati ottenuti da questo test hanno evidenziato una costante secondo la quale il plugin opera: in tutti i casi
riscontrati Vocalign restituisce note con compressione del segnale in punti di volume inferiore ed espansione
delle zone a volume maggiore (figura 11).
Questo comportamento non è condizionato dalla lunghezza delle suddette regioni, infatti, anche in note dove il
volume preponderante era inferiore di 6 dB Vocalign ha applicato il medesimo editing, a volte spostando inoltre
la traccia dub, già perfettamente sincronizzata con la guide (lo spostamento massimo registrato è di 8 ms).
Figura 11: in azzurro il file guide, in verde i file dub con automation complementari invertite, in rosso i due file
allineati.
Inizialmente si è pensato che i risultati potessero essere stati influenzati dal volume delle note prese come
riferimento nel file dub, aventi tutte volume pari a +6 dB, ripetendo il test con la traccia guide composta da note
di volume inferiore però i risultati non sono variati di molto. Anche in questo caso Vocalign ha restituito in
14
output note composte prevalentemente da regioni con volume superiore, andando a ridurre notevolmente
(mediamente di 40 ms) quelle con volume inferiore di 6 dB.
Dopo aver denotato la costanza con cui il plugin edita secondo questo criterio si è quindi ipotizzato che Vocalign
preferisca considerare maggiormente il segnale con volume più alto sia per il contenuto informativo maggiore,
sia per evitare che zone con volume alto abbiano durata limitata e che quindi vengano percepite come fastidiosi
squilli.
In alcuni casi si è notato che, risincronizzando file dub e file allineato lungo le zone di incremento del volume,
Vocalign ha mantenuto le distanze tra i vari punti in cui era stato applicato l'incremento di 6 dB (figura 12).
Figura 12: file dub in verde e file dato in output da Vocalign in rossi risincronizzati manualmente.
Anche questo test ha confermato il disinteresse di Vocalign per quanto concerne la fase del segnale, d'altronde il
plugin è stato ideato per segnali complessi e non stazionari, in tali casi una cancellazione di fase importante con
il file guide risulterebbe comunque improbabile.
Il secondo caso presentato in figura 12 evidenzia un editing molto simile a quello già riscontrato nel test 5 (figura
8), probabilmente anche in questo caso il plugin ha operato considerando il volume del segnale, anche se in tale
test il volume risultava essere maggiore non per una sua modifica ma per la somma delle due onde sinusoidali.
3.7 Test 7: intervalli armonici in due ottave
Dati gli esiti dei test precedenti il test 7 ha avuto il compito di determinare se l'editing apportato da Vocalign sia
in qualche modo condizionato dal contenuto spettrale del segnale o se il plugin operi effettivamente senza
estrazione di informazioni di questo tipo. Per il test si sono quindi generate 4 serie di 3 suoni polifonici composti
da una tonica a 880 Hz e da un'altra sinusoide con frequenza variabile da 440 Hz a 1760 Hz (rispettivamente La
4 e La 6). Nel file guide le prime due serie prevedevano suoni di durata di 0,38 secondi, le seconde due erano
invece composte da sinusoidi con durata pari a 0,75 secondi.
Nei diversi file dub si sono quindi generati a partire dalla sinusoide da 880 Hz dieci intervalli armonici diversi, 5
con una nota più bassa della tonica, 5 con nota più alta. Nella prima serie si è quindi ridotta la durata della nota
più bassa prima con un taglio di 42 ms, poi di 80 ms ed infine di 120 ms, nella seconda serie si è fatto lo stesso
con la nota più alta (figura 13). Nelle ultime due serie con durata di 0,75 secondi i tagli applicati sono stati di 125
ms, 190 ms e 300 ms (figura 14).
15
Figura 13: prime due serie di intervalli.
Figura 14: seconde due serie di intervalli.
3.7.1
Analisi dei risultati
I risultati confermano come Vocalign operi diversamente a seconda del contenuto spettrale del segnale, anche in
casi in cui i tagli applicati sono identici. Per effettuare l'allineamento il plugin ha in alcuni casi compresso la
parte iniziale della nota (formata da due sinusoidi), facendo coincidere la fine del suono dub con quella del suono
guide, in altri casi il plugin ha esteso la fase iniziale, spostando l'inizio della seconda regione nel punto in cui il
suono guida aveva termine.
Note
Prima serie
Seconda serie
Terza serie
Quarta serie
A4
Inc.
Inc.
Inc.
Escl.
Escl.
Escl.
Inc.
Inc.
Inc.
Escl.
Escl.
Inc.
B4
Inc.
Inc.
Inc.
Escl.
Escl.
Escl.
Inc.
Inc.
Inc.
Escl.
Escl.
Escl.
D5
Inc.
Inc.
Inc.
Inc.
Inc.
Escl.
Inc.
Inc.
Inc.
Escl.
Escl.
Inc.
E5
Inc.
Inc.
Inc.
Inc.
Inc.
Escl.
Inc.
Inc.
Inc.
Escl.
Escl.
Escl.
G5
Inc.
Inc.
Inc.
Escl.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
B5
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
D6
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Escl.
Escl.
Escl.
Inc.
E6
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Escl.
Escl.
Escl.
G6
Inc.
Inc.
Inc.
Inc.
Inc.
Inc.
Escl.
Escl.
Escl.
Inc.
Inc.
Inc.
A6
Inc.
Inc.
Escl.
Inc.
Inc.
Inc.
Escl.
Escl.
Escl.
Escl.
Escl.
Escl.
Tabella 1: Schema dei dati raccolti, con Escl. si indica la sincronizzazione con espansione della regione
polifonica e conseguente spostamento di quella formata da un'unica sinusoide, con Inc.
si intende la
sincronizzazione del rilascio della nota nel file dub con quello della nota nel file guide.
16
Nella tabella 1 si espongono i dati descriventi il comportamento generale del plugin:
1) Quando il suono mantenuto nella regione finale del file rappresenta la componente con altezza
maggiore il plugin tende ad includere questa regione nello spazio occupato dalla nota guide (figura 15
A).
2) Quando la sinusoide mantenuta nella regione finale del file rappresenta la componente con altezza
inferiore il plugin tende ad escludere questa regione dallo spazio occupato dalla nota guide (figura 15
B).
In 10 casi su 60 (per quanto riguarda le prime due serie) il plugin opera escludendo la regione finale dallo spazio
occupato dalla nota originale, di questi 10 casi solo in uno il segnale termina con una sinusoide di altezza
superiore.
In 25 casi su 60 (per quanto riguarda la terza e la quarta serie) il plugin ripete l'operazione di esclusione, in 18 di
questi casi la frequenza presente nella regione finale del file è la minore.
In 35 casi su 120 complessivi il plugin esibisce un comportamento operazionale diverso, è possibile che
Vocalign tenda a considerare alcune sinusoidi come armoniche dell'onda complessa iniziale, mantenendole nella
regione ad essa dedicata, mentre il comportamento di esclusione potrebbe essere dovuto al riconoscimento di tali
zone come estranee alla nota da sincronizzare.
Figura 15: A)Esempio di esclusione della nota finale. B)Esempio di inclusione della nota finale.
3.8 Test 8: diversi tempi di pitch-bend per stesse note
I test presentati precedentemente hanno sempre previsto una variazione di ampiezza della forma d'onda in
termini di intensità sonora: nell'uso della polifonia (test 7), passando da un accordo ad una nota singola il volume
chiaramente non rimane inalterato, anche in test con pitch variabili (test 3) sebbene il volume non variasse
durante l'evento midi ogni nota era contraddistinta da un proprio attacco.
Questo test ha avuto il compito di separare l'analisi frequenziale del plugin dalla semplice reazione al cambio di
volume che esso ha dimostrato. Per far si che le note non avessero un attacco definito come nei test precedenti si
è sfruttato il comando MIDI di pitch-bend, modificando a partire da una sequenza monofonica (La a 880 Hz) il
pitch delle note nella fase di sostegno, andando quindi a creare una situazione simile a quella che potrebbe
verificarsi con la sincronizzazione di cori senza evidenti variazioni di volume tra una nota e l'altra.
La traccia guide è stata quindi generata come sequenza di note a pitch fisso, quantizzando i comandi di note-on
17
con l’apposita funzione di Logic 9. Una volta creata, la traccia guide è stata modificata con l'editor del
programma multitraccia, si sono quindi scritti dei pitch-bend per ogni nota della sequenza per un massimo di un
tono di variazione di altezza (superiore al La 5). La dub è stata quindi generata a partire da quella guide: una
volta importata la sequenza si sono modificati i punti di inizio del pitch-bend e quelli di fine, restando sempre
nella fase di sostegno delle note, al fine di creare solamente suoni con inizio e fine composti da una sinusoide
con frequenza pari a 880 Hz (figura 16).
Figura 16: generazione di una sequenza di note con pitch-bend tramite l'editor di Logic 9.
3.8.1
Analisi dei risultati
L'aspettativa creatasi sulle basi dei test svolti avrebbe portato a presupporre un'opera di warping del plugin in
maniera tale da rendere uguali nella durata e nella posizione i punti di pitch-bend creati, nella realtà il plugin non
ha operato nessuna modifica del segnale, lasciando totalmente inalterata la traccia dub.
Con la funzione “inverse” di Logic si è invertita la fase dell'intero file dub allineato, lo si è messo nella posizione
di riproduzione corretta e selezionandolo in solo con il file dub originale si è mandato in riproduzione: la somma
delle due tracce, come volevasi dimostrare, risulta nulla.
Questo dimostra come il plugin, sebbene influenzato dal contenuto spettrale, operi perlopiù in zone con transienti
e cambi di volume, senza queste zone il plugin sembra non considerare minimamente il contenuto dello spettro
delle tracce.
Si noti (figura 17) come la sequenza generata non differisca eccessivamente da quella utilizzata nel test 3, la
differenza sostanziale tra le due è appunto l'assenza di transienti in quella utilizzata per ultima, mentre la
sequenza del test 3 è formata da note con diverso pitch ma di cui ognuna ha un proprio attacco. Anche i
raffinamenti di tale test avevano evidenziato un comportamento maggiormente legato alla variazione di intensità
piuttosto che al contenuto spettrale.
18
Figura 17: in azzurro il file guide, in verde il file dub, in rosso il file allineato.
3.9 Test 9: note con fade-in e fade-out
Il test 9, similmente al precedente, ha avuto come obiettivo quello di separare l'analisi spettrale da quella legata
ai transienti della forma d'onda delle note, in questo caso la separazione ha avuto il fine di isolare ed osservare il
comportamento del plugin ed il suo variare con il variare del tempo di decay e rilascio delle note.
Nella traccia MIDI guide si è quindi creata un'unica nota con forma sinusoidale e frequenza pari a 880 Hz avente
durata di 10 secondi. Con lo strumento “automation” di Logic si è creata una serie di variazioni di volume, dando
fade-in e fade-out alla nota iniziale e generando quindi diverse note a partire dalla prima.
Nella traccia MIDI dub si è partiti dalla sequenza creata nel file guide e si sono quindi spostati i punti di
massimo precedentemente creati, in modo tale da creare un diverso inviluppo (figura 18).
Figura 18: in azzurro il file MIDI guide, in verde il file dub, in giallo le automazioni di volume.
19
3.9.1
Analisi dei risultati
I risultati del test hanno dimostrato come il plugin sia influenzato dalle variazioni di volume e quindi dai
transienti delle onde sonore.
In figura 19 si evidenziano alcuni dei comportamenti riscontrati: il plugin tende ad effettuare la sincronizzazione
basandosi principalmente su attacco e rilascio delle note, considerando meno importante il decay e la forma
d'onda dettata dall'inviluppo.
In alcuni casi (es: la prima nota in figura 19) il plugin applica un fade-in per la corretta sincronizzazione
dell'attacco, mentre con uno stretching avvicina leggermente i due punti di picco del segnale, sincronizzando
inoltre il rilascio delle due note.
In altri casi (es: la terza nota in figura 19) vengono invece applicati uno stretching nella fase di attacco della nota
ed un fade-out nella zona di rilascio.
In tutti i casi la sincronizzazione ha lasciato inalterata la zona di sostegno delle note, evidenziando quindi nei
punti di inizio e fine di ogni suono le zone di editing. In tutti i casi analizzati il plugin ha correttamente
sincronizzato le note con una differenza di attacco e rilascio massima di 6 ms.
Figura 19: in azzurro il file guide, in verde il file dub, in rosso il file allineato,in nero si evidenziano i punti di
attacco e rilascio del file guide.
3.10 Test 10: introduzione di rumore bianco
I test svolti hanno avuto per oggetto materiale sintetizzato tramite comandi MIDI. La generazione di sinusoidi
non prevede ulteriori componenti spettrali oltre a quelle create, pertanto Vocalign ha sempre potuto operare in
condizioni potenzialmente ottimali.
In questo test si sono ripresi i metodi di sviluppo utilizzati in alcuni dei test precedenti (test 1, 2, 6, 8, 9)
aggiungendo rumore bianco a tre differenti volumi (-6dB, 0dB, +6dB), prima nel file guide, in seguito in quello
20
dub. Il test ha avuto il compito di rapportare i risultati ottenuti tramite i test precedenti con quelli ottenibili
operando sincronizzazioni con materiale affetto da rumore bianco. Secondariamente il test ha avuto l'obiettivo di
verificare se la modifica del file guide corrispondesse a quella del file dub in quanto (figura 1) Vocalign viene
descritto come dotato di stessi analizzatori di spettro per entrambe le tracce.
3.10.1 Analisi dei risultati
Tramite l'aggiunta di rumore è stato possibile osservare come il plugin non si dimostri robusto a cambiamenti
significativi di contenuto tra file dub e file guide. L'aggiunta di rumore a -6dB e 0dB ha portato alla raccolta di
sincronizzazioni non distinguibili, sia che il file affetto da rumore fosse quello dub, sia fosse quello guide. Se
questo è vero per i primi due volumi a cui è stato aggiunto il rumore bianco, nel caso del terzo (+6dB) Vocalign
non è stato capace di distinguere i transienti sommersi dalla costante introdotta. In tali casi il plugin ha
sincronizzato le note sequenzialmente, senza considerare la possibilità di aver effettuato un detecting errato
(probabilmente in quanto la quantità di rumore necessaria per richiamare un simile errore nel detecting è
decisamente elevata ed improbabile in una normale sessione di registrazione).
Nei primi due casi la sincronizzazione è avvenuta con la stessa percentuale di successo riscontrata nelle diverse
parti dei test presi in considerazione (in tutti i casi la sincronizzazione è avvenuta correttamente) con un massimo
di 13 ms di differenza tra attacco e rilascio dei file. Le zone a cui Vocalign ha applicato warping sono
identificabili in punti di assenza di note, ovvero in zone in cui l'unica componente è il rumore bianco, il quale
mostra irregolarità udibili nelle suddette regioni.
I dati registrati hanno inoltre evidenziato come il plugin abbia operato similmente sia nei casi in cui il rumore
venisse applicato al file guide, sia in quelli in cui la costante andava ad alterare il contenuto del file dub. Questo
test conferma quindi una identica analisi di file dub e file guide, infatti, le differenze di sincronizzazione riportate
per il caso con rumore a volume più alto possono essersi manifestate per via dei diversi inviluppi dei suoni
presenti nei due file. In figura 20 si riportano le sincronizzazioni delle 3 coppie di casi con volumi di rumore
differenti, si notino quindi le uguaglianze tra le prime 2 coppie e le discordanze tra le ultime due.
21
Figura 20: in azzurro il file guide, in verde il file dub, in rosso dall'alto verso il basso i file dub sincronizzati
dopo l'aggiunta di rumore bianco crescente (-6dB, 0dB, +6dB), in giallo dall'alto verso il basso i file dub
sincronizzati dopo l'aggiunta di rumore bianco nel file guide (-6dB, 0dB, +6dB).
22
4 Test con campioni e materiale registrato
4.1 Test 11: campioni di batteria
Il primo test con materiale non sintetizzato ha avuto lo scopo di verificare se vi fosse o meno un cambiamento
nel comportamento del plugin: nei test precedenti si è utilizzata principalmente una semplice sinusoide per
testare il plugin, essa presentava inoltre un sostegno regolare nella maggior parte dei casi, pertanto solo con la
somma di sinusoidi e l'introduzione di automazioni di volume si sono potute fare considerazioni valide in merito
all'algoritmo di time-warping di Vocalign.
Si è scelto di utilizzare campioni di batteria in quanto l'inviluppo di ogni parte della batteria è caratteristico e
modificandolo sarebbe stato facile individuare irregolarità e distorsioni.
I campioni di batteria sono stati precedente registrati in studio, editati ed inseriti nelle tracce guide e dub tramite
comandi MIDI, in modo tale da rendere possibile l'applicazione della funzione di Humanize ai comandi di noteon (per un massimo di 60 ms di spostamento random del comando).
4.1.1
Analisi dei risultati
I risultati del test non si sono scostati da quelli raccolti lavorando con materiale sintetizzato. Il plugin ha
sincronizzato correttamente tutte le tracce con una differenza temporale massima di 17 ms, apportando solo nel
5% dei casi (uno dei 20 registrati) modifiche tali da non rendere possibile l'annullamento in controfase del
segnale dub con quello editato. Sporadici errori come l'anticipazione dell'attacco di un suono (una sorta di preecho) sono stati riscontrati in questo test come nei precedenti.
In una occasione (il caso in cui il file dub è stato modificato) al plugin sono stati dati in input due suoni
ravvicinati, un colpo di rullante ed uno di tom, in modo tale da non concedere al plugin regioni silenziose in cui
effettuare lo stretching. Vocalign ha operato nella fase di rilascio del colpo di rullante, sincronizzando quindi il
colpo di tom successivo a scapito dell’integrità del primo suono.
4.1.2
Raffinamenti ed ulteriori conclusioni
Data la coerenza dei risultati raccolti con quelli derivati dall'impiego di materiale sintetizzato si è apportata una
modifica al test sostituendo nella traccia dub alcuni campioni con suoni di diversa durata e o con diverso timbro
per verificare ulteriormente la costanza con cui Vocalign applica il proprio modus operandi.
I raffinamenti hanno restituito dati decisamente coerenti con quelli raccolti precedentemente, specialmente con
quelli raccolti nel test 2: è infatti possibile notare uno stretching dei suoni nel file dub di durata inferiore a quelli
corrispondenti nel file guide. Lo stretching viene mediato dalla ripetizione di periodi della forma d'onda
complessa così come nel test 2 veniva applicato tramite la ripetizione di periodi della sinusoide, anche se i
risultati ottenuti in questo caso sono drasticamente differenti in quanto il rapido inviluppo dei suoni campionati
rende evidente qualsiasi tentativo di alterazione della durata naturale dei colpi (mentre la ricostruzione della
23
sinusoide avveniva correttamente data la stazionarietà del segnale).
In figura 21 si mostra la sincronizzazione di un colpo di rullante (nel file dub) con due colpi di rullante
ravvicinati (nel file guide), si noti come Vocalign abbia applicato uno stretching al file di durata inferiore
operando secondo la magnitudine del suono nel file guide.
Figura 21: in azzurro il file guide, in verde il file dub, in rosso il file allineato.
4.2 Test 12: voci e linee melodiche variabili
I test descritti fino ad ora sono stati effettuati con materiale di tipo non vocale in quanto per una analisi degli
strumenti di Audio Information Retrieval è stato necessario dare in input al plugin forme d'onda facilmente
monitorabili. Lo strumento per il quale Vocalign è stato ideato, sia nel campo della post-produzione video, sia
nel settore della produzione audio, è la voce, pertanto si è deciso di procedere con un test che avesse per oggetto
delle linee melodiche appositamente registrate in modo tale da validare i risultati raccolti e al fine raccogliere i
primi dati concreti sulla percentuale di successo con cui Vocalign sincronizza materiale per esso idoneo.
Le tracce sono state registrate con un microfono a condensatore (Neumann U87) al fine di mantenere il più
possibile i transienti della voce, per quanto riguarda la scheda audio si è utilizzata una Aurora Lynx 8, per la
preamplificazione si è sfruttato il mixer dello studio di registrazione, un MCI JH600 a 36 canali.
Le impostazioni di registrazione del progetto sono state mantenute dai test precedenti: frequenza di
campionamento a 48 KHz, 24 bit.
Data la possibilità di registrare materiale appositamente per il test si sono sviluppate alcune semplici linee
melodiche, mantenendo tra file dub e guide le stesse note, cantando sillabe diverse con durate maggiori nel file
guide al fine di verificare o meno una applicazione di warping da parte di Vocalign al file dub.
24
4.2.1
Analisi dei risultati
Anche il test con materiale vocale ha confermato ulteriormente la validità delle considerazioni fatte in
precedenza, dimostrando come il plugin sfrutti i transienti della voce al fine di sincronizzare la traccia dub con la
guide. Ad editing avvenuto il plugin restituisce in output una linea vocale completamente e correttamente
sincronizzata, con un divario temporale massimo di 20 millisecondi tra attacchi e rilasci dei due file. Come nei
test precedenti il plugin ha replicato alcuni periodi della forma d'onda all'interno del file dub in punti in cui
questo risultava di durata inferiore rispetto a quello guide, in caso contrario ha rimosso alcuni periodi in punti
privi di transienti (o con transienti deboli). Questo comportamento evidenzia il percorso di sincronizzazione
calcolato dal plugin, il quale sembra poter considerare l'andamento dell'inviluppo, memorizzando relativamente
al segnale dub i transienti ed applicando in seguito la sincronizzazione al file di allineare i due percorsi (ovvero i
transienti delle tracce). Sebbene il plugin abbia lavorato correttamente, una carenza dal punto di vista
dell'allineamento è mostrata in figura 22: anche nella fase di rilascio il plugin sincronizza la durata del file dub
alla durata del file guide, andando ad applicare uno stretching di 0,52 s, una modifica evidente data la distorsione
portata da una simile estensione. Il plugin dovrebbe forse in questi casi considerare la possibilità di chiusure
anticipate delle note (frequenti nel doppiaggio di voci nella produzione in studio) senza quindi andare ad editare
le zone di rilascio se queste sono più brevi di quelle nel file guide.
Figura 22: in azzurro il file guide, in verde il file dub, in rosso il file allineato.
4.3 Test 13: sequenze di sillabe
Considerando i risultati ottenuti dal test 12 si è fatta una prima importante ipotesi su come Vocalign possa creare
i percorsi di sincronizzazione delle tracce, questa ipotesi si basa sull'emissione sillabica in quanto sia nel
doppiaggio, sia nella produzione audio, il plugin potrebbe considerare come punti appartenenti al percorso
solamente alcuni transienti, filtrando per durata e volume, non considerando quindi il contenuto spettrale del
segnale se non in fase di editing. Si è proceduto nel registrare (con lo stesso equipaggiamento utilizzato nel test
12) sequenze di sillabe in modo tale da creare nel file dub una traccia con una sillaba mancante, facendo in modo
che le due sequenze fossero comunque sincronizzate. Data la somiglianza dell'inviluppo delle diverse sillabe,
quella mancante avrebbe potuto facilmente corrispondere ad un'altra presente nel file dub, ciò nonostante l'output
25
ottimale avrebbe lasciato la sequenza inalterata, andando semplicemente a perfezionare la sincronizzazione
presente.
4.3.1
Analisi dei risultati
In questo caso l'output del plugin si è discostato dai risultati attesi: il file restituito presenta uno slittamento di
tutte le sillabe presenti nella sequenza a partire dal punto di silenzio in cui nel file guide compare la sillaba non
registrata nel file dub. Con una analisi spettrale il plugin avrebbe potuto facilmente individuare le somiglianze
frequenziali dei suoni temporalmente vicini, oppure, considerando il percorso di sincronizzazione, avrebbe
potuto sincronizzare percorrendo a ritroso il file in modo tale da identificare correttamente le corrispondenze tra
forme d'onda successive alla sillaba mancante. Nel test 3 il plugin aveva operato similmente, facendo terminare
la sequenza sincronizzata una nota prima rispetto a quella del file dub, è pertanto possibile che il plugin operi la
creazione del percorso di sincronizzazione con la definizione di curve di volume e non confrontando
direttamente i due file.
4.4 Test 14: utilizzo del plugin per sincronizzazione di tracce doppiate
Come ultimo test si è deciso di utilizzare il plugin per la sincronizzazione di voci doppiate, ovvero di impiegare
Vocalign nel contesto per il quale è stato sviluppato. Per il test è stata sfruttata una sessione di registrazione in
studio, la sincronizzazione è stata eseguita su 2 tracce per canzone in un album di 10 brani per un totale di 20
sincronizzazioni. L'album si è dimostrato un valido candidato per l'esperienza in quanto costituito da brani di
radice hip hop con ritmiche vocali marcate e molto precise, le canzoni hanno avuto una durata media di circa 3
minuti, il plugin è stato utilizzato solo nelle strofe (circa un minuto e mezzo per brano).
4.4.1
Analisi dei risultati
L'utilizzo del plugin nell'ambito del doppiaggio di tracce ha dato risultati soddisfacenti. Per l'allineamento delle
tracce si sono sfruttate diverse funzioni precedentemente non utilizzate come la creazione manuale di punti di
sincronizzazione in quanto lavorando con durate maggiori il plugin necessita di zone di ancoraggio tra il file
guide e quello dub, diversamente le tracce sarebbero state sincronizzate in maniera errata.
Il plugin si è dimostrato efficace nel 95% dei casi circa, il rimanente 5% dei casi non rappresenta
necessariamente errori bensì zone in cui la diversità tra le tracce non ha permesso una sincronizzazione ritenuta
accettabile. Considerando il tempo necessario per la sincronizzazione manuale delle tracce, dopo una fase di
pratica Vocalign porta ad un deciso risparmio di tempo, due tracce in un progetto di circa 3 minuti vengono
sincronizzate in 30 minuti circa mentre con la sincronizzazione manuale si necessita mediamente di 50 minuti
circa. È inoltre importante sottolineare come, oltre al risparmio di tempo, il plugin fornisca risultati difficilmente
ottenibili mediante la sincronizzazione manuale delle tracce: riascoltando progetti sincronizzati a mano capita
infatti spesso di notare zone in cui la sincronizzazione è stata effettuata approssimativamente, in questi casi è
possibile avvertire un effetto simile al chorus, per rimediare all'errore è quindi necessario rieditare la traccia dub
al fine di ottenere un risultato soddisfacente, con Vocalign gli errori commessi dal plugin risultano subito
avvertibili, pertanto, in base all'esperienza svolta, l'uso del prodotto in studio è decisamente consigliato.
26
5 Vocalign e Audio Information Retrieval
I risultati raccolti e le considerazioni formulate in merito all'esito dei diversi test hanno portato alla definizione di
un possibile percorso di Audio Information Retrieval costituito da 3 fasi:
1)Definizione dei percorsi di sincronizzazione.
2)Confronto del percorso del file dub con quello del file guide.
3)Scelta delle regioni del file a cui applicare time-warping.
Un simile schema differisce da quello presentato nel manuale dell'utente di Vocalign (figura 1) in quanto esente
da analisi spettrale, d'altronde, nonostante alcuni test abbiano avuto il compito di confermare l'esistenza di questa
analisi, nessuno di essi ha riportato risultati rilevanti ed è pertanto possibile che l'analisi frequenziale sia presente
nella catena del processo ma abbia un diverso ruolo legato alla gestione dei punti di stretching, diversamente il
plugin potrebbe servirsi dell'analisi solo nel caso in cui si opti per la modalità “frequency domain”, la seconda
ipotesi risulta però improbabile in quanto il manuale non presenta due schemi per i diversi algoritmi, la suddetta
modalità è inoltre consigliata per la sincronizzazione di file audio con pitch fisso.
5.1 Definizione dei percorsi di sincronizzazione
L'ipotesi prevede come primo passo la definizione di punti del percorso di sincronizzazione, questi punti
dovrebbero rappresentare massimi e minimi relativi del segnale (picchi e minimi locali), oppure potrebbero
considerare durate minime legate all'andamento sillabico (in modo tale da rendere robusto l'algoritmo a click ed
altri rumori impulsivi), in ogni caso la definizione di tale percorso sarebbe basata sulla variazione di magnitudine
del segnale audio nel tempo (figura 23). Tramite l'applicazione di una simile analisi ad entrambi i file la fase di
confronto potrebbe essere quindi mediata dai percorsi stessi, questo porterebbe ad un minor peso computazionale
e renderebbe robusto il segnale a cambi di volume tra i due file.
Figura 23: esempio di percorso di sincronizzazione creato a partire da punti di picco relativo del segnale
(massimi e minimi locali).
27
5.2 Confronto del percorso del file dub con quello del file guide
Dopo la fase di definizione dei percorsi Vocalign procede nel confrontare i due file, secondo l’ipotesi formulata
questo confronto avverrebbe mediante la comparazione dei percorsi stessi, senza che si operi un’analisi delle
differenze direttamente tra i due file.
Una possibilità, spesso sfruttata nei sistemi MIR (Music Information Retrieval), prevederebbe la creazione di
una matrice di similarità a partire dai due percorsi definiti (figura 24). In una matrice di similarità ogni cella
rappresenta con un valore il grado di somiglianza tra due istanti di tempo dei diversi vettori, in questo caso
identificabili nei percorsi di sincronizzazione. Una volta compilata l'intera matrice è possibile definire il percorso
più rapido e con meno passaggi per creare la sincronizzazione, esattamente come si procederebbe nella
sostituzione o rimozione di una lettera per far coincidere due parole all'interno di un dizionario, in questo caso è
però necessario considerare il contenuto delle zone di editing.
Figura 24: esempio di matrice di calcolata per misurare la similarità tra diversi istanti di tempo dello stesso
brano.
5.3 Scelta delle regioni del file a cui applicare time-warping
Sebbene la definizione di percorsi semplifichi notevolmente la fase di confronto, non è possibile operare sul file
la sincronizzazione senza che prima avvenga un’analisi dei contenuti. Con sincronizzazione, contestualmente
all'ambito preso in considerazione, intendiamo una sovrapposizione di tracce tale da non rendere percepibili i
diversi attacchi e rilasci delle note da essi rappresentate. Vocalign applica sincronizzazioni con distanza massima
di 20 ms tra attacchi e rilasci dei file, raramente questo divario tocca i 25 ms e solo in caso di errore li supera.
Quando due file non hanno un attacco sincronizzato Vocalign sfrutta le zone di silenzio ed applicando ad esse un
time-warping allinea le fasi di attacco dei due suoni.
Se la durata delle note da sincronizzare è diversa, è necessario scegliere punti in cui eliminare o aggiungere
campioni all'interno del file dub. In entrambi i casi lo stretching deve tenere conto dello zero crossing rate
28
(frequenza con la quale il segnale ha modulo uguale a zero) e della fase del segnale, questo tipo di editing sarà
inoltre applicato preferibilmente in zone in cui il segnale risulterà essere approssimativamente stazionario (con
periodi simili nella forma d'onda) e o debole. Come in tutti gli algoritmi di time-stretching, gli artefatti derivati
dall'editing saranno maggiormente avvertibili quanto maggiore sarà la durata della zona editata. In alcuni casi,
dopo il time-warping saranno inoltre applicati dei brevi fade-in e fade-out al segnale in modo tale da non rendere
udibili le differenze di durata residue.
29
6 Melodyne
6.1 Presentazione del plugin
La prima versione di Melodyne risale al 2001, prodotto dalla compagnia tedesca Celemony, fondata
dall'inventore Peter Neubaecker, il software rivoluzionò il concetto di editing vocale con nuovi algoritmi per la
modifica di tempo e intonazione i quali preservavano maggiormente la qualità della registrazione rispetto ad altri
concorrenti nel mercato. Con il passare degli anni la fama del plugin venne però messa in ombra dalla
concorrenza, sempre più al passo coi tempi con plugin come Antares Auto-tune, ad oggi presenza costante nella
maggior parte degli studi di registrazione.
Nel 2008 Celemony cattura nuovamente l'attenzione mediatica annunciando al Musikmesse di Francoforte
l'uscita di una nuova versione del plugin in grado di operare su materiale polifonico grazie ad una nuova
tecnologia chiamata Direct Note Access (DNA). La notizia impiega poco tempo per diffondersi in tutto il
mondo, accompagnata da video dimostrativi in cui Neubaecker testa il plugin con accordi di chitarra
correttamente identificati e modificati senza evidenti scompensi di tipo qualitativo. Sebbene i materiali presentati
al Musikmesse fossero validi, la scomposizione di materiale polifonico era sempre stata considerata impossibile,
inoltre il continuo posticipo della data di rilascio del plugin fece pensare a dei contrattempi nella fase di
produzione, probabilmente dovuti ad importanti bachi nella versione dimostrativa. Nel Novembre del 2009, dopo
il rilascio di diverse versioni beta, Celemony mise in commercio la tanto attesa versione con DNA, facendo
riguadagnare a Neubaecker la fama di innovatore di cui aveva goduto nel 2001, andando oltre i limiti dell'editing
di materiale audio fino ad allora conosciuti e creando nuove prospettive di lavoro all'interno del settore di
produzione.
6.1.2
Melodyne in studio
Con la diffusione dei sistemi per la registrazione digitale a basso costo, a partire dagli anni 80 è andato sempre
più diffondendosi il fenomeno dei project studio o home studio: studi di registrazione improvvisati in ambiente
prevalentemente domestico. La clientela frequentante questi luoghi è costituita prevalentemente da musicisti non
professionisti, i quali non sempre sono in grado di fornire performance di alto livello. Melodyne, come molti altri
plugin sviluppati negli ultimi anni, nasce con lo scopo principale di correggere, perfezionare o semplicemente
modificare materiale audio già registrato. Nonostate plugin di correzione dell'intonazione vengano utilizzati oggi
anche nei più importanti studi di registrazione, la vera esigenza di operabilità sull'intonazione nasce infatti nei
project studio.
La modalità monofonica di Melodyne permette di manipolare facilmente materiale vocale senza grandi perdite di
informazione, permettendo di agire su blob (gocce, macchie) rappresentanti le note cantate. Questi blob (figura
25) possono essere modificati in volume, pitch center, pitch drift, modulazione e posizione temporale all'interno
del file audio, il software offre inoltre la possibilità di modificare le formanti delle note registrate nel caso si
volesse andare a plasmare il timbro della voce in maniera più evidente.
30
Figura 25: gruppo di blob in una registrazione monofonica all'interno di Melodyne.
Per quanto riguarda la modalità polifonica (figura 26) questa è definita idonea alla scomposizione di esecuzioni
di pianoforte, chitarra ed altri strumenti in grado di produrre più suoni contemporaneamente, viene inoltre
precisato che, nel caso di registrazioni con più strumenti, quando questi suoneranno la medesima nota Melodyne
non sarà in grado di separare i due o più suoni, restituendo un solo blob a rappresentare l'insieme polifonico.
Figura 26: gruppo di blob in una registrazione polifonica all'interno di Melodyne.
L'ultima modalità offerta dal plugin è quella chiamata percussiva, finalizzata alla scomposizione di registrazioni
con batterie, strumenti non intonati, suoni ambientali e rumore.
Indipendentemente dalla modalità operativa scelta, l'utilizzo di Melodyne come plugin richiamato da DAW
prevede 4 passaggi principali:
1) Tramite il comando di transfer (analogo al comando capture di Vocalign) è possibile mettere in ascolto
il plugin inserito nella traccia, mandando in riproduzione la DAW il programma acquisisce il materiale
audio.
2) Una volta acquisito il materiale Melodyne opera un’analisi secondo il contenuto del file, proponendo
31
una delle tre modalità a seconda del materiale analizzato. In questa fase è comunque possibile
modificare la modalità di analisi, scegliendo quella polifonica è inoltre possibile modificare il grado di
precisione con cui il plugin separa il materiale (“note assignment tool” di Melodyne), questa azione è
indispensabile per un corretto detecting del materiale.
3) Una volta analizzato correttamente il materiale è possibile operare su di esso con gli strumenti forniti da
Melodyne. Prima di procedere a questo passaggio è necessario essersi assicurati di aver correttamente
eseguito quello precedente in quanto tornando al passaggio precedente tutte le modifiche andrebbero
cancellate.
4) Terminata la fase di editing è possibile riversare su una nuova traccia il file tramite il comando di
bounce in place di Logic, in questo modo si potrà sostituire la vecchia traccia con quella nuova.
6.2 Melodyne e Audio Information Retrieval
Precedentemente si è affermato come, prima dell'avvento della DNA technology, la scomposizione polifonica
fosse ritenuta impossibile; se in un certo senso infatti “Peter Neubaecker è riuscito nell'impossibile”
[20]
,
fisicamente parlando, la scomposizione di un onda complessa nelle sue componenti monofoniche è un'impresa
che ha dell'utopistico. Per rendere più chiari i limiti alla base del concetto stesso di scomposizione polifonica è
necessario innanzitutto spiegare cosa generalmente si intende con questo termine: la scomposizione di materiale
polifonico consiste nell'identificazione e separazione di diverse note temporalmente sovrapposte all'interno di
una sequenza. Strumenti come il pianoforte o la chitarra sono in grado di produrre più note
contemporaneamente, ogni nota in questo caso è rappresentata da una corda vibrante, ogni corda vibrante genera
una forma d'onda complessa caratterizzata da una serie di fattori: modo in cui la corda viene percossa (intensità e
materiale del corpo che la percuote), materiali che compongono la corda e relativo grado di ossidazione,
induzione di frequenze da parte di altre corde ecc. Una corda genera quindi un suono complesso le cui
componenti variano con il variare dei fattori elencati, inoltre, prima di essere catturato da un microfono questo
suono viene amplificato dal corpo dello strumento che lo genera, il quale caratterizza ulteriormente il contenuto
spettrale della nota a seconda del materiale di cui è composto, della forma della cassa armonica ecc. Trascurando
la diversa impedenza dell'aria in cui il suono si può imbattere, una volta giunta al microfono l'onda diretta è
raggiunta dalle onde riflesse, i cui tempi di arrivo ed i contenuti spettrali vengono influenzati a loro volta dalla
forma e dai materiali della stanza in cui la registrazione avviene. Per ultimo il microfono stesso è dotato di una
risposta in frequenza variabile, di un rapporto segnale rumore e di altre caratteristiche che altereranno
ulteriormente (seppur in maniera meno udibile) il contenuto spettrale del materiale registrato.
In definitiva, una nota è rappresentata dal proprio contenuto spettrale le cui frequenze hanno pesi dettati dalla
catena di produzione e registrazione del suono stesso, pesi che varieranno all'interno dello spettro anche quando
si tenterà di riprodurre il medesimo suono, rendendo ogni manifestazione della medesima nota diversa.
Data la somma polifonica di due note, è facile intuire come ognuna delle due avrà un contenuto spettrale che
andrà a sommarsi a quello dell'altra, rendendo impossibile la perfetta separazione delle due note senza che vi sia
32
una conoscenza a priori sul contenuto spettrale di almeno uno dei due suoni. A questo limite, inoltre, si aggiunge
quello dettato dalla influenza che una corda, o più generalmente un suono, può avere su un altro ad esso
contemporaneo: data infatti la somma spettrale di due suoni, la registrazione separata delle due note e la loro
somma post-registrazione non genererà uno spettro uguale al primo. Il concetto di “chimera musicale” introdotto
da Bregman
[7]
tenta di spiegare come due suoni contemporanei siano percepiti come un unico cluster non
scomponibile. Sebbene questo concetto nasca per spiegare i limiti della percezione umana, considerata la
complessità intrinseca della scomposizione polifonica, il termine si dimostra calzante anche nel riassumere le
problematiche ad essa legate.
6.3 Obiettivi della fase di test del plugin
Avendo quindi chiari i limiti che accompagnano il termine ci si potrebbe chiedere come possa essere stato
realizzato un algoritmo per la scomposizione polifonica; nel caso di Melodyne il termine che probabilmente
dipana l'insieme di problematiche sollevate è “approssimazione”. Si è infatti parlato di come la qualità delle
corde, le casse armoniche ed altri fattori possano influenzare il suono, ciò non toglie che lo scheletro dello
spettro generato da una corda sia composto da una fondamentale e dagli armonici naturali prodotti dalla corda
stessa.
Questi hanno frequenze multiple rispetto alla fondamentale, pertanto data la frequenza portante è
possibile stimare la loro posizione nello spettrogramma del segnale, tuttavia, dato lo spettrogramma di un
segnale polifonico, è impossibile assegnare precisamente ad ognuna delle fondamentali la giusta quantità di
energia apportata da una determinata frequenza.
Il test del plugin ha avuto come scopo l'individuazione dei metodi con cui l'algoritmo analizza e quindi separa
materiale polifonico, la descrizione dei limiti riscontrati e la valutazione della qualità (in termini di distorsione
del segnale) offerta dal plugin.
33
7 Test con materiale sintetizzato
Anche in questo caso i test sono stati effettuati con l'impiego di Logic Pro 9, i progetti sono stati creati con
frequenza di campionamento pari a 48000 Hz, per il test si è scelto di operare su tracce mono. La sintesi è
avvenuta mediante l'utilizzo del default preset del software instrument EXS24, un'onda sinusoidale, come nota di
riferimento (a partire dalla quale si sono creati intervalli armonici) per il test si è scelta una frequenza pari a 880
Hz.
A partire dalle tracce virtual instrument si sono generati file audio mediante la funzione di bounce integrata in
Logic. Anche in questo caso il passaggio è reso necessario data la natura del plugin: Melodyne non opera su
segnale MIDI, diversamente la fase di test perderebbe di valore.
Come esposto precedentemente, Melodyne offre la possibilità di regolare l'identificazione di note tramite
l'utilizzo del “note assigment tool”, questo accessorio consente appunto di regolare l'assegnazione delle note
tramite un cursore (figura 27). Il cursore è composto da due estremi a forma di parentesi tonda e da un pulsante
arancione, quest'ultimo si può spostare nel range definito dai primi due elementi, i quali determinano la quantità
di note potenziali: spostando le parentesi verso destra si aumenta il numero di note potenziali, questo approccio
può essere utile per separare note il cui intervallo armonico è di un'ottava per esempio, diversamente, spostando
verso sinistra i cursori Melodyne assegna a blob preesistenti frequenze superiori, agire secondo questo criterio
può semplificare l'assegnazione di armonici alle rispettive note portanti.
Figura 27: a sinistra cerchiato in arancione il pulsante di richiamo del note assignment tool, a destra il cursore
con le due parentesi ed il pulsante arancione.
Dati gli obiettivi della fase di test, si sono registrati i risultati ottenuti per ogni esperienza con e senza intervento
manuale nella fase di identificazione delle note, in modo tale da permettere una valutazione del criterio con il
quale il software opera la separazione polifonica.
7.1 Test 1: introduzione di un'onda sinusoidale
Il primo test ha avuto il compito di determinare il comportamento del plugin quando ad esso viene dato in input
un qualsiasi segnale senza che si operino modifiche dopo la fase di analisi, come se, esclusa la fase di
identificazione delle note, il plugin fosse settato in modalità bypass. Si è quindi generata una sequenza
monofonica costituita da sinusoidi aventi frequenza pari a 880 Hz, si è inserito il plugin nella catena di
riproduzione della traccia e si è trasferito il materiale, si è infine selezionata la modalità di analisi polifonica
(nonostante il contenuto dato in input fosse di tipo monofonico).
34
7.1.1
Analisi dei risultati
In questo primo esperimento Melodyne ha risposto correttamente al test restituendo in output una sinusoide
identica a quella data in input; d'altronde introducendo una forma d'onda semplice e non scomponibile il plugin
avrebbe difficilmente potuto alterarne i contenuti mediante un'errata analisi. Un importante vantaggio offerto dal
digitale è infatti l'assenza di rumori dovuti a fattori fisici nella fase di modifica del segnale: mentre quando si
opera con outboard analogico il segnale risulta essere distorto anche quando l'effetto è stato settato in bypass, nel
dominio digitale è possibile annullare totalmente l'intervento dell'effetto senza che il segnale subisca la minima
alterazione.
7.2 Test 2: intervalli armonici circoscritti all'ottava
Per il secondo test si è deciso di sottoporre al plugin materiale polifonico, creando 11 intervalli armonici a partire
dal La 5 utilizzato nel test precedente. L'esperienza ha avuto come scopo il test della funzione di scomposizione
polifonica offerta da Melodyne, in questo caso si sono dati in input al software suoni costituiti da due sinusoidi
aventi stessa ampiezza, al fine di denotare possibili distorsioni del segnale una volta separate le sinusoidi. Una
volta separato il materiale si sono riversate le due sinusoidi su due tracce, si sono invertite di fase ed infine si è
riprodotta la sequenza attivando le due tracce e quella originale rappresentante il suono polifonico.
7.2.1
Analisi dei risultati
L'analisi del primo test con materiale polifonico ha permesso alcune importanti osservazioni. Primariamente è
importante sottolineare come, nonostante una corretta identificazione delle note (figura 28), l'output originato dal
plugin non sia mai uguale a quello ottenibile mediante la sintesi su tracce separate delle due sinusoidi costituenti
il suono polifonico: nelle zone di attacco e rilascio il plugin opera una separazione meno efficace, generando
brevi suoni dalla durata di circa 0,05 secondi con frequenze comprese tra gli 800 Hz ed i 1800 Hz (il range di
frequenze occupato dalle sinusoidi) ed intensità pari a circa -55dB (il segnale originale aveva intensità pari a 3dB), nelle zone di sostegno l'inversione di fase porta all'annullamento dell'output. Nella tabella 2 si mostrano i
risultati raccolti in merito alle frequenze spurie manifestatesi nelle zone di attacco e rilascio per ognuno degli
intervalli armonici generati, gli spettrogrammi sono stati generati mediante la funzione “disegna spettro” di
Audacity, programma freeware per registrazione, editing ed analisi di materiale audio.
Figura 28: in alto la sequenza MIDI da cui è stato generato il materiale polifonico, in basso l'identificazione
delle note rappresentate come blob nell'interfaccia di Melodyne.
35
Intervallo
800 Hz
La-La#
890 Hz
1000 Hz
1230 Hz
1410 Hz
1600 Hz
1800 Hz
E
La-Si
E
E
La-Do
E
E
E
La-Do#
E
E
E
La-Re
E
E
E
E
La-Re#
E
E
E
E
E
La-Mi
E
E
E
E
La-Fa
E
E
E
E
E
E
La-Fa#
A
A
A
R
E
A
La-Sol
A
A
A
E
R
La-Sol#
R
R
R
E
Tabella 2: tabella dei dati rappresentanti le frequenze spurie manifestatesi nelle zone di attacco e rilascio. Con
A si indica la presenza della frequenza indicata nella fase di attacco, con R nella fase di rilascio, con E si
intende la presenza della frequenza in entrambe le zone.
Dopo aver fatto delle considerazioni a partire dall'onda complessa invertita di fase, si è deciso di procedere
analizzando singolarmente le due sequenze: quella rappresentante la serie di La a 880 Hz e quella rappresentante
gli intervalli armonici costruiti a partire dalla prima, entrambe invertite di fase ed eseguite con le corrispettive
sinusoidi generate singolarmente. Un esempio dell'osservazione più ricorrente è esposto in figura 29: nella fase
di attacco Melodyne scompone l'onda complessa in maniera errata, restituendo una sinusoide con variazioni di
ampiezza non presenti nel segnale originale e con frequenza leggermente variabile (al termine dei primi periodi,
in certi casi il segnale raggiunge lo zero prima dell'originale, in altri dopo, in entrambi i casi il divario temporale
è inferiore al millisecondo).
Figura 29: in verde la frequenza di 880 Hz generata a partire da comandi MIDI, in rosso la frequenza ottenuta
mediante la separazione della traccia polifonica con Melodyne, in azzurro la differenza tra la prima traccia e la
seconda invertita di fase.
36
Mediante l'analisi separata delle due tracce è stato inoltre possibile individuare presenza di suono nelle fasi di
sostegno della traccia generata mediante la differenza di segnale originale e sinusoide scomposta tramite
Melodyne. Come detto precedentemente, sommando le due sinusoidi date in output dal plugin in tali zone non è
stata registrata presenza di segnale, questo risultato può indicare un’errata attribuzione dell’energia spettrale, per
capire più a fondo il fenomeno delle frequenze residue si sono analizzate separatamente le fasi di sostegno delle
note presenti nelle due tracce con l'analizzatore di spettro di cui è dotato Audacity. In figura 30 un grafico mostra
lo sviluppo spettrale delle diverse frequenze residue, le quali hanno una componente fissa che varia in un range
compreso tra gli 897 Hz ed i 945 Hz, a questa si aggiunge una componente variabile con picchi che si spostano
dai 1175 Hz a 1700 Hz circa. Sebbene il grafico sia stato generato mediante l'analisi delle frequenze residue
derivanti dalla traccia con frequenze crescenti, ripetendo le stesse operazioni con il materiale derivato dalla
prima traccia i risultati ottenuti sono gli stessi: le frequenze residue sono probabilmente frutto di un errata
attribuzione di energia nella fase di separazione del materiale polifonico, pertanto risulta evidente che
l'annullamento del segnale nelle fasi di sostegno sia dovuto all'annullamento di queste frequenze residue, le quali
vengono a trovarsi in entrambi i file dati in output da Melodyne con fase invertita.
Figura 30: grafico generato mediante l'analisi delle 11 fasi di sostegno nella traccia rappresentante la
differenza tra la progressione originale generata mediante comandi MIDI e quella data in output da Melodyne.
La progressione ascen dente delle note è rappresentata dalla successione di colori di seguito descritta:
giallo,grigio, verde, turchese, viola chiaro, azzurro, viola scuro, fucsia, rosso, verdognolo, arancione.
Considerati i risultati raccolti dal secondo test, è apparso chiaro che quest'ultimi fossero in contrasto con quelli
derivanti dal primo: nella prima esperienza infatti il software restituiva una sinusoide perfettamente identica a
quella datagli in input, nel secondo caso, sommando le due sinusoidi separate mediante Melodyne, invertendole
di fase e riproducendole con la traccia originale si sono identificate frequenze residue. Per procedere alla
validazione del test si è quindi ridata in input al software la sequenza iniziale, si è settato il programma in
modalità polifonica e senza apportare modifiche si è esportata la traccia. Anche in questo caso Melodyne ha
restituito una traccia uguale a quella ottenibile mediante la somma delle prime due date in output, mostrando
come le frequenze residue vengano quindi generate dal programma nella fase di analisi e scomposizione e non
siano conseguenza della cancellazione di una delle due sinusoidi.
37
7.3 Test 3: sinusoidi con diverso volume
Per il terzo test si è proceduto ripetendo le operazioni fatte in quello precedente, andando prima ad attenuare i
volumi delle note aventi frequenza pari a 880 Hz e ad incrementare quelli delle note ascendenti, in seguito
invertendo i guadagni delle due sequenze e confrontando i risultati. In entrambi i casi si sono applicate
attenuazioni e amplificazioni di 1,5 dB, in modo tale da rendere costante il volume dell'output del sistema per
una comparazione più semplice dei risultati.
Il test ha avuto come scopo la comparazione dei risultati con quelli ottenuti precedentemente al fine di osservare
possibili discrepanze riconducibili ai metodi con cui Melodyne analizza il materiale.
7.3.1
Analisi dei risultati
Il terzo test ha confermato i risultati del test precedente senza evidenziare nuovi comportamenti del plugin, anche
in questo caso, come nel secondo test Melodyne ha individuato correttamente le note, evidenziando
nell'interfaccia in modalità polifonica le componenti sotto forma di blob, mantenendo comunque un margine di
errore sufficiente a non permettere l'annullamento di fase con il segnale originale.
In entrambi i casi in cui si è modificato il volume, l'inversione di fase delle sinusoidi date in output dal software
ed il loro ascolto accoppiato a quello delle originali hanno nuovamente originato nelle fasi di sostegno del
segnale delle frequenze residue con intensità compresa tra i -70 dB ed i -55 dB. L'analisi delle forme d'onda
generate dal software ha mostrato nuovamente una presenza di segnale prima del punto di attacco originale
(figura 30), questo fenomeno generalmente noto come pre-eco potrebbe essere dovuto alla larghezza della
finestra con la quale l'algoritmo di analisi di Melodyne scansiona il segnale.
Figura 30: in azzurro il segnale originale rappresentante una delle due sinusoidi costituenti il suono polifonico,
in rosso la forma d'onda ottenuta mediante la separazione polifonica operata con Melodyne.
38
7.4 Test 4: intervalli superiori all'ottava
Nel quarto test si è cercato di studiare il criterio con il quale Melodyne presenta nella modalità polifonica le note
separando in blob le varie componenti che generano l'onda complessa. Pensando allo scopo per il quale il plugin
nasce si comprende facilmente come siano necessarie istruzioni in merito al raggruppamento di note in gruppi,
diversamente il plugin non sarebbe altro che uno spettrogramma con funzioni di editing e perderebbe la propria
valenza nel contesto musicale. Quando si sottoporrà al plugin un bicordo di chitarra, questo dovrà non solo
separare le note portanti ed indicarle con due distinti blob ma dovrà inoltre assegnare ad entrambi i blob le
rispettive armoniche, in maniera tale da rendere chiara la trasposizione dalla registrazione all'editing mediante il
software.
In una situazione ottimale quindi il plugin dovrebbe separare il materiale in tanti blob quante sono le corde
suonate, le istruzioni di cui Melodyne si servirebbe in una simile eventualità dovrebbero portare il software a
discriminare armoniche da altre note all'interno della polifonia. In questo test si è quindi creata tramite comandi
midi una serie di intervalli armonici crescenti formati da due sinusoidi con stesso volume, si è data in input al
plugin la sequenza e si sono analizzati i risultati con e senza intervento manuale nella fase di identificazione dei
blob. La serie armonica utilizzata è stata la seguente: La 5-La 6, La 5-Re# 7, La 5-La 7, La 5-Re# 8, La 5-La 8,
La 5-Re# 9, l'utilizzo delle due note ha avuto come scopo il confronto tra il riconoscimento di intervalli indicanti
possibili armonici ed intervalli le cui componenti ipertoniche solitamente non sono armonici della nota più grave
(il caso degli intervalli contenenti un Re#).
7.4.1
Analisi dei risultati
Il quarto test ha confermato quelle che erano le aspettative in merito all'algoritmo di identificazione e
raggruppamento delle componenti del suono complesso. In figura 31 si mostra infatti come il plugin abbia
raggruppato in un solo blob il primo, il terzo ed il sesto intervallo, di questi tre intervalli i primi due
rappresentano rispettivamente quello di un'ottava e quello dell'ottava seguente, mentre nel terzo caso il plugin
non scompone in diversi blob il segnale neppure con l'ausilio dell'intervento manuale, in questo caso separare il
suono polifonico è risultato impossibile. Dei tre intervalli di ottava, come accennato, Melodyne scompone solo
l'ultimo in due blob (il quarto intervallo), presumibilmente in quanto la progressione armonica non è stata
accompagnata da un decremento del volume, il software ha quindi ritenuto eccessivo il peso della componente
perché questa potesse essere considerata un ipertono della nota più grave.
Per quanto riguarda gli intervalli contenenti Re#, come detto precedentemente, in tutti i casi in cui è possibile la
scomposizione in blob il plugin separa le sinusoidi in due distinte rappresentazioni, questo ad evidenziare come,
nonostante i volumi di tali note siano identici a quelli degli altri tre intervalli (di ottava), Melodyne abbia
discriminato i possibili ipertoni del segnale da suoni che più probabilmente rappresentavano note a sé stanti.
39
Figura 31: identificazione automatica delle note costituenti il suono polifonico e loro rappresentazione
nell'interfaccia di Melodyne.
Dopo aver constatato secondo quali criteri Melodyne abbia diviso il suono polifonico in blob, come nei test
precedenti si è proceduto analizzando le discrepanze trovate tra sinusoidi generate a partire da comandi MIDI e
segnali dati in output dal software mediante il riconoscimento automatico delle note. Sebbene il plugin abbia
distinto gli ipertoni che meno probabilmente rappresentavano le armoniche della portante, l'attribuzione
dell'energia spettrale nella separazione polifonica è avvenuta con il medesimo margine di errore precedentemente
registrato. Nei tre casi in cui è stato separato il segnale si sono infatti registrate differenze, in questo test
l'inversione di fase dà origine ad un segnale residuo con volume (nella fase di sostegno) compreso tra i -70 dB ed
i -69 dB. Anche in questo test si è notato come le zone con le maggiori discrepanze tra segnale originale ed
editato risultino risiedere nelle regioni di attacco dei suoni.
7.4.2
Identificazione manuale ed ulteriori conclusioni
Al fine di poter analizzare le rimanenti 3 forme d'onda (la prima, la terza e la sesta come anticipato e descritto in
figura 31) si è proceduto indicando manualmente al software quali fossero le componenti spettrali da escludere
dai tre blob. Come anticipato, nel terzo caso, ovvero nel caso del suono formato da La 5 e Re# 9 non è stato
comunque possibile creare un blob indipendente per la nota più alta, pertanto si è dedotto che anche nella fase di
detecting automatico, a maggior ragione il plugin avesse lasciato inalterato l'input non per scelta ma a causa di
un errore o di un bug (figura 32).
La prima considerazione fatta a modifiche manuali terminate ha riguardato l'output generato dal software senza
che alcun editing fosse stato effettuato: mediante l'inversione di fase i volumi residui cambiano, non
necessariamente in zone in cui sono state apportate modifiche, ad ogni modo questi variano in un range
compreso tra i -50 dB ed i -40 dB.
40
Figura 32: identificazione manuale delle note costituenti il suono polifonico e loro rappresentazione
nell'interfaccia di Melodyne.
Il volume registrato per le singole tracce invertite di fase e sommate alle due rispettive originali si aggira in
entrambi i casi attorno ai –70 dB, questo vale sia per le note portanti che per quelle più alte. Sebbene in figura 32
l'interfaccia di Melodyne presenti la seconda e la quarta nota alta con un blob di dimensioni inferiori rispetto a
quelle della terza, la differenza effettiva di volume tra le tre tracce non supera gli 0,3 dB, se la discrepanza fosse
stata maggiore sarebbe risultato impossibile ottenere mediante l'inversione di fase un volume medio di circa -70
dB.
Andando a modificare manualmente l'identificazione delle componenti del secondo e del quarto intervallo si è
notato un cambiamento della attribuzione energetica anche nelle rimanenti note, probabilmente dovuto alla
modifica di qualche parametro avvenuta mediante l'identificazione manuale dei blob. È stato infatti possibile
notare come, nel primo intervallo, il plugin abbia modificato il peso delle componenti energetiche assegnando
maggiore energia al La 5 (-8,7 dB) e rendendo più debole il suono del suo presunto armonico, il La 6 (-9,4 dB).
Mediante l'inversione di fase della traccia contenente il La 5 è stato infatti possibile identificare nello spettro una
componente a 1760 Hz corrispondente appunto alla medesima nota dell'ottava superiore.
7.5 Test 5: accordi a voci strette
Il quinto ha avuto come compito quello di determinare l'efficacia della scomposizione polifonica di Melodyne
con sinusoidi aventi picchi frequenziali a stretto contatto. L'algoritmo di divisione delle onde complesse
necessita infatti di analizzare il contenuto dei suoni mediante l'impiego di una trasformata, essendo un'analisi
perfetta impossibile è possibile che sfruttando intervalli di seconda minore (un semitono) il plugin tenda ad agire
diversamente o a dare risultati di qualità variabile.
Per svolgere il test si è quindi creata una sequenza MIDI costituita da una serie di intervalli armonici (due
sinusoidi con medesima velocity) crescenti in modo tale da determinare se l'analisi effettuata da Melodyne fosse
robusta a note con frequenze vicine in varie posizioni dello spettro. Gli intervalli (rappresentati in figura 33)
41
utilizzati sono stati i seguenti: La 6-La# 6, Re# 7-Mi 7, La 7-La# 7, Re# 8-Mi 8, La 8-La# 8, Do 9-Do# 9. Si è
scelto di partire dal La 6 per non ripetere l'osservazione di un intervallo già analizzato nel secondo test, si è
deciso inoltre di utilizzare un Do 9 ed un Do# 9 per l'ultimo intervallo in quanto nel test precedente il Re# 9 non
era stato considerato.
Figura 33: sequenza MIDI a partire dalla quale è stato generato il materiale polifonico.
7.5.1
Analisi dei risultati
Anche in questo test il software ha individuato correttamente la maggior parte delle componenti senza intervento
manuale, in figura 34 si mostra come gli intervalli di seconda minore vengano sempre scomposti nelle due
formanti a parte in un caso, quello con il Do 9 ed il Do# 9. Essendo la frequenza di tali note oltre gli 8000 Hz, è
possibile che il plugin non le identifichi come candidate alla separazione polifonica: effettivamente tali
frequenze senza una portante di frequenza più bassa risulterebbero improbabili in una normale sessione di
registrazione in studio, a meno di non introdurle volutamente mediante l'uso di sintetizzatori che di certo non
richiederebbero l'impiego del plugin per eventuali correzioni.
Figura 34: identificazione delle note rappresentate come blob nell'interfaccia di Melodyne.
42
Mediante l'inversione di fase l'output dato da Melodyne sommato alla traccia polifonica originale genera picchi
nella fase di attacco dei suoni per un massimo di -57 dB registrati in un solo caso (nel primo intervallo), nei
rimanenti 4 considerati (escludendo l'ultimo intervallo che non è stato identificato) i picchi hanno intensità media
-78,3 dB.
Per la prima volta, anche analizzando separatamente le tracce con inversione di fase, sia quella contenente le
note più basse sia quella con le più acute restituiscono gli stessi valori di intensità. La tabella 3 mostra attraverso
i valori di picco nelle fasi di attacco (e in minor parte di rilascio) delle sinusoidi come queste zone siano quelle
che risultano più corrotte dopo l'intervento del software, mentre i valori di picco registrati per le zone di sostegno
evidenziano come il plugin risulti essere più efficace alle altre frequenze.
Fasi
La 6-La# 6
Re# 7-Mi 7
La 7-La# 7
Re# 8-Mi 8
La 8-La# 8
Attacco
-20 dB
-18 dB
-19 dB
-19 dB
-18 dB
Sostegno
-59 dB
-65 dB
-75 dB
-72 dB
< -80 dB
Tabella 3: valori ottenuti mediante l'analisi dei picchi della differenza tra le sinusoidi originali e quelle date in
output da Melodyne.
È importante ricordare come i valori decrescenti registrati nelle zone di sostegno potrebbero essere frutto di una
maggiore approssimazione delle forme d'onda e non di una migliore separazione da parte di Melodyne: con il
crescere della altezza, a parità di frequenza di campionamento si hanno meno campioni per rappresentare la
forma d'onda della nota, pertanto i periodi rappresentati sono meno dettagliati e risultano essere più semplici di
quelli appartenenti a frequenze più basse.
7.6 Test 6: Intervalli inferiori al semitono
Dati i risultati del test precedente si è scelto quindi di sottoporre Melodyne ad intervalli armonici più stretti in
modo tale da identificare i limiti entro i quali il plugin non sarebbe stato più in grado di operare efficacemente.
Per il test si è quindi scelto il La 5 come nota di riferimento con frequenza pari a 880 Hz, a partire da questa
componente sono stati generati 10 intervalli armonici crescenti con passo di 5 Hz fino al raggiungimento dei 930
Hz, ultimo passo possibile prima dei 932 Hz corrispondenti ad un La# 5, intervallo già analizzato nei test
precedenti.
Al fine di poter generare intervalli inferiori al semitono si è preferito creare le sinusoidi mediante la funzione
“genera tono” di Audacity, selezionando manualmente la frequenza desiderata e creando forme d'onda con
ampiezza pari a -5,2 dB (0,6 su un massimo di 1 nella scala di Audacity) e durata uguale a 2 secondi. I file sono
stati generati con frequenza di campionamento pari a 48000 Hz a 24 bit di quantizzazione, sono stati esportati
con tali valori come file wav ed importati in un progetto di Logic con medesime impostazioni in modo tale da
rendere incorruttibile l'informazione trasmessa da Audacity al programma multitraccia.
43
7.6.1
Analisi dei risultati
In figura 35 sono mostrati i blob che Melodyne ha generato automaticamente a partire dagli intervalli armonici
datigli in input: può notare come il plugin abbia riconosciuto le singole sinusoidi a partire dall'intervallo
composto dal La 5 ed una frequenza superiore ad esso di 30 Hz (una sinusoide a 910 Hz). Considerato
l'intervallo di 52 Hz tra La 5 e La# 5 e tenendo a mente il passo frequenziale utilizzato si è ipotizzato che il
plugin sia stato sviluppato per separare note distanti almeno un quarto di tono l'una dall'altra. La scelta di un
simile intervallo come limite di discernimento sarebbe sensata non solo da un punto di vista computazionale (più
le frequenze sono vicine più risulta difficile identificarne il corrispettivo peso energetico) ma anche per un
motivo prettamente pratico: risulta infatti difficile incontrare intervalli da un quarto di tono in una registrazione
che ha per oggetto musica occidentale a meno che questi non siano appositamente inseriti, l'unica eccezione
potrebbe essere rappresentata dall'uso di vibrato in accordi con note vicine tra loro ma anche questo caso, date le
regole da cui la musica occidentale deriva, si parlerebbe di un'eccezione alla regola.
Figura 35: identificazione delle note rappresentate come blob nell'interfaccia di Melodyne.
Nei 5 casi in cui Melodyne identifica e separa le 2 diverse componenti, mediante la somma delle due tracce date
in output dal plugin, la loro inversione di fase e la riproduzione di quest'ultime con il file originale dato in input
al programma è stato nuovamente possibile identificare picchi nelle zone di attacco dei suoni. Anche in questo
caso i valori registrati risultano avere volume relativamente basso rispetto a quello del segnale originale (-3 dB)
ma non rispetto a quelli registrati precedentemente: in questo ultimo test infatti i valori di intensità registrati
variano tra i -54 dB ed i -47 dB con valore medio di circa -50 dB.
Accoppiando nella riproduzione le 2 tracce date in output da Melodyne con le corrispettive originali
(mantenendo l'inversione di fase) è stato possibile registrare una errata attribuzione dell'energia spettrale,
analizzando i volumi delle fasi di sostegno si è notato come l'errore si riducesse al crescere dell'intervallo
armonico in entrambe le tracce, in tabella 4 si mostrano i valori registrati.
Intervallo
30 Hz
35 Hz
40 Hz
45 Hz
50 Hz
Intensità
-34,7 dB
-41,1 dB
-48,7 dB
-49,6 dB
-54 dB
Tabella 4: valori ottenuti mediante l'analisi dei picchi della differenza tra le sinusoidi originali e quelle date in
output da Melodyne nelle fasi di sostegno di entrambi i file.
44
I risultati del test con riconoscimento automatico delle componenti hanno quindi dimostrato come il limite del
plugin sia costituito principalmente dall'analisi spettrale alla base della divisione stessa.
7.6.2
Identificazione manuale ed ulteriori conclusioni
In figura 36 si presentano i blob di alcune delle note appartenenti ai 5 intervalli per cui si è dovuta operare una
identificazione manuale delle componenti (le note visibili sono quelle con frequenza maggiore). Nei tre casi
presentati come in quelli rimanenti il plugin non ha permesso una corretta identificazione delle singole sinusoidi:
spostando tutte le componenti del cursore appartenente al note assignment tool (figura 27) verso destra il plugin
non ha comunque effettuato alcuna separazione del segnale, rendendo quindi necessaria la separazione mediante
doppio click (con il doppio click è infatti possibile in alcuni casi dividere il contenuto polifonico). Questo tipo di
intervento ha reso frammentaria ed in alcuni impossibile la separazione delle note, in figura 27 è infatti possibile
osservare come la prima nota abbia una zona priva di segnale, si evidenzia inoltre come in certe zone di scarsa
ampiezza il segnale sia stato diviso in varie parti e come quindi quest'ultime risultino delimitate da un contorno
rosso.
Figura 36: identificazione manuale delle note costituenti il suono polifonico e loro rappresentazione
nell'interfaccia di Melodyne.
Dati i risultati della separazione manuale non è stata possibile una verifica mediante inversione di fase, non si
sono inoltre potute analizzare le note separate con lo spettrogramma di Audacity in quanto la distanza
frequenziale delle prime sinusoidi non ha permesso l'individuazione di picchi distinti nello spettro, si sono
comunque notate irregolarità nell'ampiezza della forma d'onda tra i diversi frammenti delle medesime sinusoidi,
risulta pertanto improbabile una corretta separazione.
7.6.3
Raffinamenti
Per convalidare i risultati del test si è scelto di ripetere le operazioni dell'esperienza utilizzando sinusoidi con
frequenze doppie rispetto a quelle precedentemente utilizzate, in questo modo si sono ottenute informazioni in
merito al limite di discernimento in più punti dello spettro e si sono quindi potute formulare ipotesi sostenute da
una maggiore quantità di dati. In questo raffinamento si è quindi creata una serie di intervalli da 1760 Hz (La 6)
a 1865 Hz (La# 6) con passo uguale a 10 Hz. Create le tracce mediante Audacity queste sono quindi state
importate in Logic per la sottoposizione del materiale al plugin. Anche in questo caso il primo intervallo
automaticamente diviso è risultato avere frequenze separate da più di un quarto di tono, tale intervallo è infatti
costituito da una sinusoide a 1760 Hz e da una a 1820: considerata la distanza del semitono tra La 6 e La# 6 (105
Hz) il plugin è stato quindi in grado di individuare automaticamente le componenti polifoniche nel segnale
45
quando queste sono risultate essere distanti di almeno un terzo di tono (40 Hz).
7.7 Test 7: impiego di intervalli uguali con durata decrescente
Il settimo test ha avuto come scopo l'osservazione del comportamento del plugin quando a questo vengono
sottoposti intervalli uguali con durata decrescente. Il variare dei risultati con quello delle durate dei suoni
avrebbe quindi evidenziato un nuovo limite di Melodyne: l'analisi spettrale necessaria per l'estrazione di
informazione ha infatti alla propria base una funzione di finestratura la quale necessita di una determinata
quantità di campioni per permettere la creazione di uno spettro valido. Modificando la durata dei suoni dati in
input al programma si sono quindi ridotti i campioni totali adibiti al trasporto di informazione utile, l'analisi della
variazione dei risultati ha quindi avuto come obiettivo l'individuazione di una plausibile larghezza di finestra,
ovvero il numero di campioni analizzati ad ogni istante dal software.
È stata quindi creata una sequenza di intervalli armonici composti da due sinusoidi, la prima con frequenza pari a
880 Hz (La 5), la seconda con frequenza pari a 932 Hz (La# 5), gli intervalli sono stati quindi accorciati
(temporalmente) progressivamente al fine di ottenere la seguente sequenza di durate: 0,5 s, 0,38 s, 0,25 s, 0,125
s, 0,065 s, 0,04 s, 0,02 s, 0,01 s, 0,005 s. In questo modo si è fornito un numero decrescente di campioni al
plugin partendo da 24000 campioni fino ad arrivare a 240 campioni: con una cifra di campioni utili inferiore a
quella richiesta dalla finestratura Melodyne avrebbe quindi dovuto inserire nell'analisi anche istanti di silenzio,
ottenendo uno spettro sempre peggiore a rappresentare le informazioni frequenziali degli intervalli.
7.7.1
Analisi dei risultati
Lo svolgimento del test con riconoscimento automatico delle componenti polifoniche ha visto il plugin restituire
in output una sequenza in cui solamente i primi 4 intervalli sono stati scomposti nelle due sinusoidi (figura 37),
ciò ha indicato come Melodyne tenda a non scomporre suoni con durata inferiore al decimo di secondo. Nei 4
casi in cui il software individua le componenti polifoniche non si sono registrati risultati qualitativamente diversi
da quelli raccolti precedentemente, probabilmente in quanto il numero di campioni forniti è risultato essere
sufficiente al fine di una corretta analisi spettrale.
Figura 37: identificazione automatica delle note costituenti il suono polifonico e loro rappresentazione
nell'interfaccia di Melodyne.
7.7.2
Identificazione manuale ed ulteriori conclusioni
Osservati i risultati ottenuti con riconoscimento automatico si è quindi proceduto scomponendo manualmente il
segnale la dove l'operazione era possibile, in figura 38 si mostrano le note scomposte dal plugin. Si può notare
come il settimo intervallo della sequenza non sia risultato scomponibile: anche utilizzando la funzione di doppio
click il blob si spostava di La in La# e viceversa, non è risultato possibile separare il blob in maniera tale da
poter operare sulle due sinusoidi in maniera indipendente; anche quando l'interfaccia in modalità di selezione
46
manuale mostrava due note distinte, passando alla modalità di editing su segnale il programma cancellava una
armonica o l'intero segnale e la selezione fatta andava persa. Sebbene un comportamento simile evidenzi la
presenza di bachi piuttosto importanti si deve comunque considerare come in questo test si sia posto in un
contesto particolarmente ostile il plugin: in una normale sessione di registrazione, escludendo l'eventualità di
click o rumori impulsivi di vario genere è del tutto improbabile la presenza di suoni con durata inferiore al
decimo di secondo, pertanto nello sviluppo del software si sono probabilmente considerati come irrilevanti i
problemi legati all'individuazione di note con simili durate.
Figura 38: identificazione manuale delle note costituenti il suono polifonico e loro rappresentazione
nell'interfaccia di Melodyne.
Ciò che è risultato importante segnalare è come il comportamento del plugin in questi ultimi casi abbia dato
origine a risultati del tutto diversi da quelli ricavati dalla separazione dei primi 4 intervalli. A partire
dall'intervallo con durata pari a 0,065 s (il quinto appunto) si sono infatti evidenziate nuove problematiche, la più
importante tra tutte risulta essere legata al volume residuo: invertendo di fase i La# 5 manualmente identificati e
separati mediante il programma e registrandone la somma con il segnale originale si sono ottenuti volumi
superiori a quelli precedentemente incontrati, in tabella 5 sono stati quindi registrati tali valori.
Durata
0,065s
0,04s
0,02s
0,01s
0,005s
Intensità
-6,8 dB
-4,4 dB
-3,3 dB
-9,3 dB (N)
-3,5 dB
Tabella 5: valori ottenuti mediante l'analisi della differenza tra le sinusoidi originali e quelle date in output da
Melodyne, con N si è indicato l'intervallo che non è stato possibile scomporre in due distinte sinusoidi.
Analizzando i dati riportanti nella tabella è facile intuire come il segnale generato dal plugin sia sempre più
distante dalla sinusoide originale quanto più gli intervalli dati in input sono brevi, il quarto caso fa eccezione in
quanto non essendo stato possibile separare l'intervallo il segnale non è stato alterato con la stessa consistenza
con cui lo sono stati gli altri.
La seconda importante problematica (la quale giustifica e spiega l'esistenza della prima) è legata alle posizioni
delle note nella sequenza, alla loro durata, al loro inviluppo ed alla loro fase. In tutti i casi precedentemente
analizzati Melodyne ha sempre mantenuto la posizione di inizio e fine delle note, andando ad inserire un leggero
per echo prima del vero e proprio attacco ma non spostando mai temporalmente l'attacco stesso ne quindi
modificando la fase del segnale in nessuna porzione dell'inviluppo. In figura 39 si mostrano il La# 5
appartenente all'intervallo con durata uguale a 0,04 s comparato con il La# 5 dato in output dal plugin,
osservando l'immagine è facile notare come l'inizio e la fine del segnale siano stati traslati e come le fasi dei due
segnali si sviluppino indipendentemente. Analizzando la serie di 5 La# restituiti da Melodyne è stato inoltre
possibile notare come lo spettrogramma di questi segnali fosse meno chiaro rispetto a quello degli originali, date
47
però le variazioni di ampiezza presenti nelle zone di attacco e rilascio e la brevità dei file si è comunque deciso
di non considerare quest'ultima osservazione valida.
Figura 39: in azzurro il file originale, in rosso il file separato da Melodyne.
Il test con separazione manuale delle componenti ha quindi reso possibili numerose osservazioni, facendo
emergere limiti precedentemente sconosciuti e dimostrando come il plugin perda di efficacia là dove non gli è
possibile operare una corretta analisi spettrale.
7.8 Test 8 inserimento di rumore bianco
L'ottavo test ha avuto come compito quello di osservare il comportamento del plugin quando ad esso sono dati in
input segnali contaminati da rumore. Si è scelto di operare con rumore bianco in quanto avendo pressoché la
stessa quantità di energia ad ogni frequenza sarebbe stato più facile sfruttare le informazioni derivanti dalla
verifica con inversione di fase del segnale. Si è quindi generata con la funzione apposita di Audacity una traccia
con durata pari a 10 secondi contenente rumore bianco, si è quindi inserita la traccia in Logic ed utilizzando una
sequenza di 3 intervalli armonici diversi (La 5-Re# 6, Sol 6-Do# 7 e Fa 7-Si 7) si sono generati 3 file con
intervalli a volume costante e rumore con volume variabile. Per gli intervalli si è scelto un volume pari a -6 dB,
per il volume del rumore si sono scelti tre valori utilizzati sequenzialmente: -3 dB, +3 dB e +6 dB.
Il test ha avuto come scopo primario l'individuazione della soglia dopo la quale il plugin non è più in grado di
identificare le componenti della polifonia, secondariamente, là dove Melodyne avrebbe separato correttamente le
due sinusoidi, l'inversione di fase del segnale delle tracce con solo rumore avrebbe potuto indicare
approssimativamente le bande frequenziali in cui il plugin avrebbe operato.
48
7.8.1
Analisi dei risultati
Lo svolgimento del test ha permesso di osservare la robustezza del plugin a file audio in cui il rapporto segnale
rumore risulta essere decisamente basso. Nei primi due casi, nonostante il volume del rumore risultasse essere
superiore di 3 dB e in seguito di 9 dB rispetto a quello delle sinusoidi, Melodyne ha comunque saputo
identificare le due componenti del suono complesso, solamente nell'ultimo caso in cui il volume del rumore era
superiore di 12 dB rispetto a quello del segnale utile il plugin ha scomposto in due parti una sinusoide,
identificando comunque le due componenti ma dividendo la nota in due regioni. I risultati raccolti possono però
essere interpretati diversamente: nonostante il rumore avesse in tutti i casi un volume superiore a quello del
segnale, l'identificazione delle singole sinusoidi nello spettro non ne subisce particolari effetti, la componente
rumorosa genera infatti nel caso del rumore bianco un tappeto sopra al quale spiccano comunque le frequenze
delle sinusoidi che si sommano al rumore. Chiaramente il rumore costituisce comunque disturbo anche quando il
contesto è quello della analisi spettrale, ad ogni modo la vera valutazione sull'algoritmo è stata fatta osservando
il segnale dato in output da Melodyne, senza che ci si limitasse all'osservazione dei blob da esso creati.
Analizzando le sinusoidi generate dal programma si è visto come questo abbia ovviamente e necessariamente
dovuto includere la componente rumorosa nei suoni restituiti. L'energia spettrale apportata dal rumore bianco si è
infatti sommata a quella delle sinusoidi, senza una conoscenza a priori riguardo il segnale originale sarebbe stato
impossibile per il plugin ricostruire esattamente entrambe le sinusoidi. Per capire quanto fossero larghe le bande
frequenziali secondo le quali il plugin lavora si è operato come segue: si è preso in considerazione l'ultimo caso,
con volume del rumore pari a +6 dB e volume del segnale pari a -6 dB, si è dato in input al programma il file e
mediante le funzioni di editing si sono cancellate le note alte dell’intervallo, si è quindi invertito di fase il file
contenente il rumore e lo si è sommato al file ottenuto (modificando opportunamente il guadagno in modo tale
da rendere la cancellazione di fase maggiore) al fine di riottenere le sinusoidi con frequenza maggiore. In questo
modo si è quindi ottenuto un segnale i cui picchi frequenziali rappresentavano il contenuto dei blob delle note
più alte mentre le zone con minore energia individuavano le frequenze delle note più basse. In figura 40 è
possibile osservare come il plugin abbia assegnato alle sinusoidi del primo intervallo (La 5-Re# 6) l'energia
apportata dal rumore bianco: focalizzando l’attenzione sulle zone con minore energia è infatti possibile notare
come oltre alla banda corrispondente ad un La 5 vi siano cali energetici presso le frequenze corrispondenti a La
6, Mi 7, La 7, Do# 8, Mi 8 e così via.
L'assegnazione di tali bande energetiche ai blob risponde al criterio secondo il quale il plugin assegna l'energia
presente nello spettro a presunte portanti. In questo test si è quindi involontariamente ingannato il programma
dandogli in input due sinusoidi e del rumore bianco: identificando le sinusoidi il programma ha applicato il
proprio algoritmo per l'identificazione di potenziali armonici da attribuire ad esse, il plugin ha così potuto
attingere dall'energia spettrale portata dal rumore bianco, operando esattamente secondo l'algoritmo di
attribuzione dell'energia senza essere in alcun modo limitato da assenza di energia in alcuna banda. Così facendo
il plugin ha attribuito tutte le frequenze candidabili come armonici alle corrispettive sinusoidi, generando quindi
nuove forme d'onda lontane da quelle semplici date in input. L'attribuzione di energia alle sinusoidi ha avuto
come causa la contemporaneità di due fonti sonore distinte nel segnale dato in input: se infatti il segnale fosse
stato generato da un unico strumento il plugin avrebbe dovuto assegnare tutta l'energia spettrale a determinate
portanti, escludendo dalla attribuzione le sole componenti energetiche derivate da rumore di fondo (in una
situazione ottimale), in questo caso, nonostante le fonti fossero diverse il plugin non ha potuto fare a meno di far
49
ricadere l'energia spettrale presente in alcune bande nei blob delle presunte portanti, solo in questo modo infatti
in presenza di un'unica fonte è possibile dividere correttamente l'onda polifonica nelle sue componenti.
Figura 40: spettrogramma con presenza di picchi energetici nelle zone assegnate al blob corrispondente al Re#
5 e con zone a bassa concentrazione energetica presso le frequenze assegnate al La 5.
7.9 Test 9: Attribuzione delle armoniche
Dati i risultati ottenuti dal test 8 si è deciso di sfruttare ulteriormente il fenomeno di associazione dell'energia
spettrale del rumore a quella delle sinusoidi andando a ripetere l'esperienza con altri due intervalli. Avendo già
analizzato i risultati dell'intervallo La 5-Re# 6 si è quindi deciso di analizzare il medesimo intervallo di quarta
eccedente nelle due ottave consecutive (La 6-Re# 7, La 7-Re# 8) al fine di poter comparare i risultati ottenuti ed
in modo tale da identificare possibili variazioni di larghezza nei filtri passabanda utilizzati da Melodyne.
Per l'esperienza si sono quindi generate le due coppie di sinusoidi, entrambe le componenti delle due coppie
hanno avuto volume uguale a -12dB, si è quindi aggiunto rumore a -9dB e si è esportata la traccia con rumore e
sinusoidi mediante il comando bounce.
7.9.1
Analisi dei risultati
Il file con rumore e sinusoidi è stato dato in input a Melodyne, il programma ha riconosciuto automaticamente il
file e lo ha analizzato in modalità polifonica, evidenziando per ogni intervallo entrambe le sinusoidi. Il rumore
presente nella registrazione è stato assegnato a blob in corrispondenza della sinusoide con frequenza più alta, ad
ogni modo tali blob rappresentavano l'intero rumore bianco e non una sua sola regione frequenziale.
Mediante il programma di scomposizione si sono quindi selezionate e cancellate prima le componenti basse, poi
quelle alte, in modo tale da generare due file con il segnale residuo che in ognuno dei due casi si è venuto a
generare (tale segnale residuo avrebbe rappresentato quindi la nota non cancellata e le componenti spettrali del
rumore ad essa associate). Si sono quindi creati due file, il primo a rappresentare le sinusoidi alte e le frequenze
del rumore bianco ad esse associate, il secondo le sinusoidi più gravi, anche queste con le componenti di rumore
50
ad esse associate.
Si sono quindi analizzate spettralmente (con la funzione “disegna spettro” di Audacity) le differenze tra questi
due file ed il segnale contenente sia le sinusoidi che il rumore al fine di ricavare quanti più dati possibili in
merito all'attribuzione di armoniche ed alla larghezza dei filtri passabanda di Melodyne.
L'analisi spettrale ha confermato i risultati ottenuti precedentemente, in figura 41 è possibile osservare il La 6
restituito da Melodyne, alla nota originale sono state assegnate altre frequenze evidenziate da picchi, la
cancellazione del Re# 7 ha invece portato all'eliminazione di alcune bande, si sono pertanto generate nello
spettro regioni prive di energia.
Figura 41: spettrogramma con presenza di picchi energetici nelle zone assegnate al blob corrispondente al La 6
e con zone a bassa concentrazione energetica presso le frequenze assegnate al Do# 7.
Analizzando lo spettrogramma sopra mostrato e ripetendo l'analisi tramite Melodyne sull'intervallo composto da
La7 e Re# 8 è stato possibile notare come il plugin raggruppi secondo un unico criterio le armoniche, nel caso
mostrato al La 6 vengono associate le frequenze corrispondenti alle seguenti note: La 7, Mi 8, La 8, Do# 9, Mi 9,
Sol 9, La 9, Si 9, Do# 10, Re 10, Mi 10 e Fa 10. Tale successione coincide con quella degli armonici naturali, un
esempio esteso della successione è rappresentato in figura 42.
Figura 42: serie armonica generata dalla vibrazione di una corda rappresentante un La.
51
Individuata la successione utilizzata da Melodyne per assegnare ai blob l'energia spettrale si è quindi proceduto
analizzando le bande degli armonici individuati e la loro larghezza. Essendo tali armoniche frutto della errata
assegnazione di energia del rumore bianco alle sinusoidi iniziali è lecito pensare che il programma utilizzi filtri
passabanda con larghezza simile nella normale procedura di analisi e raggruppamento delle componenti
polifoniche. In figura 43 sono mostrati gli spettri del La 6 (in viola) e del Re# 7 (in blu) restituiti dal software, la
tabella 6 mostra invece le larghezze di banda per le diverse frequenze raggruppate in un unico blob, sono
mostrati separatamente il blob rappresentante il La 6 e quello corrispondente al Re# 7.
Figura 43: in viola lo spettrogramma rappresentante il La 6, in blu quello del Re# 7.
Picchi
1755 Hz
3487 Hz
5324 Hz
7110 Hz
8715 Hz
15675 Hz
17813 Hz
Bande La 6
405 Hz
423 Hz
429 Hz
510 Hz
568 Hz
640 Hz
359 Hz
2484 Hz
4897 Hz
7498 Hz
9928 Hz
N
N
22323 Hz
450 Hz
438 Hz
579 Hz
643 Hz
N
N
722 Hz
Bande Re#7
Tabella 6: nelle celle azzurre sono indicati i valori dei picchi energetici, sotto ad ognuna delle celle è indicata la
larghezza di banda di tale componente, con N sono indicati i casi non registrati per motivi tecnici.
52
Ciò che si può notare analizzando la tabella è innanzitutto la diversa larghezza di banda assegnata alle portanti,
queste sono infatti presenti con volume maggiore, pertanto la campana frequenziale da esse derivata risulta
essere più larga. Secondariamente è possibile osservare un aumento della larghezza di banda parallelo a quello
delle frequenze, questo aumento non sembra tuttavia essere direttamente proporzionale all'altezza degli armonici
in quanto le variazioni della larghezza di banda risultano crescere meno rapidamente rispetto a quello che la
proporzionalità diretta richiederebbe. Analizzati tutti i casi si è osservato come le bande frequenziali varino
rispetto all'altezza in un range che va dal tono al terzo di tono (meno di un semitono), si è inoltre notato come il
programma si sia comportato in maniera simile in tutti i casi, dando ulteriore attendibilità ai risultati ottenuti.
53
8 Test con campioni e materiale registrato
8.1 Test 10: analisi di intervalli armonici di chitarra acustica
Il test 10 ha avuto come scopo il confronto dei risultati ottenuti precedentemente (semplici sinusoidi) con quelli
derivati dalla scomposizione di onde complesse come quelle generate dalla vibrazione della corda di una
chitarra. Sono stati creati ed analizzati 3 suoni polifonici, per rendere più diretto il confronto si è scelto di
includere nella serie un intervallo già analizzato nella fase di test con materiale sintetizzato (La 5-Re# 6), come
secondo e terzo intervallo si sono scelti un La 4-Re# 5 ed un La 5-Mi 6.
Si è scelto di utilizzare una chitarra acustica e non elettrica (Yamaha modello F310P) per avere una minore
contaminazione del suono naturale dello strumento, per lo stesso motivo la registrazione è stata effettuata con tre
microfoni (U87, SM57 e MXL 2001) con risposta in frequenza globalmente complementare, in modo tale da
ottenere uno spettro del segnale quanto più possibile neutro. Dopo la registrazione si sono quindi regolati
opportunamente i volumi, si è esportato il file audio con i tre intervalli armonici e si è proceduto all'analisi e
scomposizione del materiale.
8.1.1
Analisi dei risultati
Si sono quindi scomposte le tre onde polifoniche con Melodyne, cancellando prima la componente più acuta
degli intervalli, in seguito quella con frequenza inferiore, si sono quindi analizzati i file così ottenuti con la
funzione “disegna spettro” di Audacity.
I risultati ottenuti hanno confermato definitivamente quelli derivati dai test con applicazione di rumore bianco:
anche in questo caso il plugin applica l'assegnazione delle frequenze secondo la serie armonica, negli spettri
analizzati non si individuano infatti frequenze estranee a quelle della sequenza naturale. Ascoltando le corde
separate non si percepisce una eccessiva distorsione del segnale, nonostante questo è comunque udibile una
minima degradazione probabilmente derivata dall'errata redistribuzione energetica nelle bande frequenziali
comuni ad entrambe le corde (visivamente non è stato però possibile individuare alcuna irregolarità).
Nonostante i risultati ottenuti siano positivi dal punto di vista della efficienza di Melodyne si vuole ricordare
come in tutti e tre i casi il suono sia stato scomposto manualmente in quanto la funzione detecting automatico è
risultata essere inadeguata (per due corde sono stati presentati mediamente circa 6 blob).
8.2 Test 11: utilizzo generale del plugin in studio
L'ultimo test (come per Vocalign) ha avuto il compito di determinare l'utilità, l'utilizzabilità e l'efficacia del
plugin quando questo è impiegato in normali sessioni in studio. Si è considerata anche in questo caso la sola
funzione di editing polifonico del plugin in quanto la versione monofonica non è stata considerata di interesse
rilevante (dato il contesto dell'Audio Information Retrieval). Ciò nonostante, avendo comunque testato in altra
sede la versione monofonica del plugin si vuole ricordare come questa sia decisamente efficace nel correggere
linee vocali con errori di intonazione, tempo, gestione del volume o con increspature del timbro: in molti casi il
plugin è in grado di rendere quasi ottima una performance appena sufficiente, mantenendo la qualità del file
audio senza che il segnale in uscita risulti particolarmente deteriorato. Si è voluto precisare quanto l'editing
54
monofonico offerto da Melodyne sia di buon livello dato che la funzione polifonica, oltre ad offrire un minor
numero di accessori è risultata essere di qualità decisamente inferiore. Una simile affermazione non è frutto del
test ma di una conoscenza a priori dettata da tutti i limiti citati nella fase di presentazione del plugin; pertanto,
nella fase di test il plugin è stato utilizzato per accordare alcune corde all'interno di arpeggi e accordi: è infatti
possibile, lavorando con non professionisti e con strumenti di basso livello, che nonostante una perfetta
accordatura si vengano a generare microstonature dovute all'impiego di eccessiva pressione sulla corda o per via
della forma della tastiera stessa e della sua inclinazione. Si è quindi ritenuto che l'utilizzo del plugin in studio di
registrazione sia da limitare ad interventi di correzione molto piccoli e precisi, si è comunque provato nella fase
di test a sfruttare al massimo le funzioni offerte dal plugin operando anche modifiche importanti (come lo
spostamento di una nota all'interno di un arpeggio di un tono).
8.2.1
Analisi dei risultati
Si è quindi utilizzato il plugin in 4 progetti in cui si necessitava di riaccordare in alcuni punti delle registrazioni
delle note di chitarra, l'analisi dei risultati non ha previsto in questo caso la creazione di spettrogrammi del
segnale in quanto ci si è voluti basare semplicemente sull'ascolto del materiale per la valutazione del plugin (i
limiti individuabili mediante l'analisi spettrale sono stato d'altronde già descritti dai test precedenti). Lavorando
con accordi e arpeggi si è notato come il plugin necessiti di un importante lavoro di identificazione manuale per
il corretto utilizzo: risulta infatti spesso errata l’attribuzione dell'energia spettrale, in alcuni casi, quando prima e
sesta corda suonano la medesima nota ad un'ottava diversa il plugin assegna comunque al blob della frequenza
inferiore l'energia di quella superiore. Nel 60% dei casi circa è necessario intervenire manualmente per
permettere il riconoscimento di tutte e sei le corde, in alcuni casi si è dovuto scomporre ulteriormente il blob
rappresentante una sola corda al fine di poter controllare meglio il fine tuning (accordature fine) della nota in
esso identificata.
Superati i problemi dettati dall'individuazione automatica dei blob si sono incontrate difficoltà nell'editing
dell'altezza dei suoni. Se per scordature inferiori al terzo di tono è stato possibile rimediare a patto di perdere
parte dell'informazione (il suono risulta alterato, specie nella fase di attacco), dal semitono in poi ogni modifica
porta evidenti scompensi qualitativi al file audio, udibili e, nella maggior parte dei casi, non accettabili.
Il plugin, ciò nonostante, ha dimostrato di poter essere decisamente utile per rimediare ad errori di bending
involontario, pressione eccessiva sui tasti ed altri tipi di imprecisioni tecniche, guadagnando uno spazio tra gli
accessori per editing polifonico. Probabilmente le prossime versioni di Melodyne conterranno algoritmi più
idonei alla scomposizione ed all'editing di materiale polifonico, in ogni caso, già con questa versione, a scapito
della qualità della registrazione è comunque possibile operare modifiche su materiale polifonico sconvolgendo a
posteriori performance già registrate.
55
9 Melodyne e Audio Information Retrieval
I risultati raccolti e le considerazioni formulate in merito all'esito dei diversi test hanno portato alla definizione di
un possibile percorso di Audio Information Retrieval costituito da 3 fasi:
1)Analisi spettrale del segnale
2)Separazione delle componenti spettrali ed assegnazione dell'energia
3)Creazione dei blob per il display
Escludendo dal percorso la scelta automatica del tipo di contenuto sottoposto (melodico, polifonico o percussivo)
si sono quindi individuati tre passaggi, si vuole sottolineare da subito come l'analisi spettrale e la creazione dei
blob da mandare in display siano due passaggi decisamente meno importanti rispetto alla separazione delle
componenti, vero cuore dell'algoritmo del software. Questi sono quindi i passaggi identificati al termine
dell'analisi del plugin, si presenta di seguito una descrizione più precisa riguardo la possibile funzione di ognuna
delle tre parti dell'algoritmo.
9.1 Analisi spettrale del segnale
Prima ancora di iniziare l'esperienza di test del software si è voluta evidenziare l'importanza dell'analisi spettrale
in un plugin che si propone di fare scomposizione polifonica: se infatti per Vocalign questa potrebbe essere un
optional la cui aggiunta incrementerebbe performance già soddisfacenti, nel caso di Melodyne, senza una analisi
spettrale non sarebbe possibile scomporre neppure due sinusoidi distanti 6 ottave l'una dall'altra. Risulta evidente
come l'alternativa alla analisi spettrale sia infatti l'analisi dei transienti, nel caso di materiale polifonico l'analisi
del segnale nel dominio del tempo è però quasi inutile, totalmente inutile se separata da quella nel dominio
frequenziale (se le due analisi fossero combinate potrebbe essere più facile riconoscere alcune corde per via della
differenza temporale di attacco).
Dati i risultati raccolti (in particolare quelli derivati dal test 7) si è ipotizzato che il plugin analizzi il segnale con
una finestra lunga 4096 campioni o, meno probabilmente di 2048 campioni. Non si sono potute formulare ipotesi
riguardo la possibile finestra utilizzata: sebbene le più comuni nell'analisi di materiale polifonico siano la finestra
di Hamming e quella di Hann non si sono avuti i mezzi per effettuare uno studio riguardo la funzione di
finestratura utilizzata dal programma.
9.2 Separazione delle componenti spettrali ed assegnazione dell'energia
Una volta ottenuto lo spettro del segnale il programma raggruppa temporalmente i frame con spettro simile,
separando tali pseudoblob (non ancora veri blob da presentare all'utente) da altri con contenuto energetico
diverso. L'algoritmo a questo punto identifica le frequenze presso le quali si evidenziano picchi energetici,
queste corrisponderanno alle portanti, ovvero alla nota suonata. Per l'identificazione di tali portanti il programma
si affida allo sviluppo spettrale del segnale ed alla teoria della serie armonica, a picchi energetici anomali (troppo
importanti per rappresentare armonici o troppo deboli per rappresentare portanti) e, meno probabilmente a
diversi tempi di attacco delle note. Identificate quindi le portanti del segnale il programma applica l'algoritmo di
separazione delle bande frequenziali e di assegnazione dell'energia secondo il criterio della serie armonica
(tabella 7):
56
Armonico n.
1
2
3
4
5
6
7
8
9
10
...
rapporto
1:1
2:1
3:2
2:1
5:4
3:2
7:4
2:1
9:8
5:4
...
Tabella 7: serie armonica naturale di una di una fondamentale.
Applicando la serie di filtri passabanda utili alla separazione delle note il plugin rende disponibile la funzione di
divisione delle componenti, questa fase è tuttavia indipendente rispetto a quella in cui avviene l'effettiva
creazione dei blob. È possibile evidenziare questa fase in quanto subito dopo l'analisi il segnale generato da
Melodyne differisce da quello originario, nonostante non si sia ancora operato sull'onda polifonica.
La larghezza dei filtri passabanda mediante i quali il segnale viene scomposto aumenta con l'aumentare delle
frequenze, è solitamente compresa tra i 350 Hz ed i 650 Hz, corrispondenti a circa ad un range di intervalli che
va dal tono al terzo di tono (per maggiori dati si rimanda alla tabella 6). La larghezza di banda potrebbe risultare
in certi casi eccessiva, questa potrebbe infatti inglobare frequenze indesiderate situate ai margini della campana,
tuttavia tali margini sono contraddistinti da un notevole slope (pendenza), pertanto i disturbi situati nella zona
periferica della bande verrebbero notevolmente attenuati. Il programma non è messo in difficoltà tanto da questo
genere di problema quanto dalla condivisione da parte di due portanti di una stessa frequenza, armonico di
entrambe le note: in una situazione del genere il plugin può solamente stimare il peso della componente secondo
quello delle portanti e quindi retribuire loro l'energia della frequenza, tuttavia la scomposizione è impossibile.
A questo punto il segnale è suddiviso in tutte le proprie componenti, se non vi fosse alcun un raggruppamento in
blob sarebbe ora possibile operare su di esso similmente a come si farebbe mediante uno spettrogramma, è a
questo punto che il software crea a partire dalle singole componenti i blob per mandare in display le potenziali
note.
9.3 Creazione dei blob per il display
Con il titolo del capitolo si è voluto ulteriormente sottolineare come questa terza fase abbia un compito
puramente di presentazione e come questa non influisca sul riconoscimento delle note. Nella modalità di
riconoscimento automatico i blob vengono infatti creati a partire dai dati ottenuti dal passaggio precedente
(capitolo 9.2), pertanto nel comportamento standard del plugin le note sono raggruppate in blob secondo la
divisione effettuata. Nella maggior parte dei casi Melodyne presenta però un comportamento impreciso: spesso
vengono presentati molti più blob di quelli necessari, in questi casi il plugin rende l'editing effettivamente simile
a quello possibile mediante un editor di spettrogrammi. Il raggruppamento in blob segue principalmente il
criterio della serie naturale, si è infatti notato come, a parità di volume, alcuni intervalli vengano raggruppati in
un unico blob in quanto presenti nella stessa serie armonica naturale (figura 44), in altre eventualità tuttavia (test
4) alcuni suoni vengono invece inglobati o esclusi per via del proprio volume, in alcuni casi eccessivo per poter
rappresentare un semplice armonico, in altri troppo debole per poter rappresentare isolatamente una nota, in
questo ultimo caso la componente veniva quindi inglobata erroneamente nel blob di una nota con frequenza
inferiore.
57
Figura 44: blob creati a partire da una serie armonica circoscritta all'ottava con passo uguale al semitono (si è
escluso dalla serie l'unisono), si noti come l'intervallo di ottava venga identificato da un solo blob.
Nella modalità di identificazione manuale si è in grado di modificare il raggruppamento effettuato
automaticamente dal programma, in questi casi è possibile ritornare alla fase seguente l'analisi, creando la
quantità desiderata di blob indipendente dall'algoritmo di analisi e facendo in modo che il plugin assegni o meno
determinate frequenze a determinate portanti.
Al termine della selezione manuale sarà quindi possibile ritornare all'editing delle note identificate con maggiore
precisione, è quest'ultima fase quella più critica dal punto di vista dell'utilizzo del programma: i tempi richiesti
dall'identificazione manuale e l'inefficienza di quella automatica sono purtroppo una combinazione di fattori che
rende l'utilizzo del plugin scomodo, tuttavia l'algoritmo di separazione vero e proprio rappresentato dalla
seconda fase è risultato essere decisamente convincente.
58
10 Conclusioni
10.1 L’importanza dell’Audio Information Retrieval
Si sono analizzati due plugin basati su Audio Information Retrieval con lo scopo di descrivere gli algoritmi da
essi utilizzati per l’estrapolazione di informazioni dal segnale. Al termine della fase di analisi è stato quindi
ricostruito il potenziale percorso algoritmico di entrambi i plugin nelle sue distinte fasi. La diversità tra i due
software ha portato alla definizione di percorsi di analisi eterogenei: Vocalign, al fine di sincronizzare tracce con
inviluppi complessivamente simili sfrutta maggiormente le informazioni legate alla forma d’onda del segnale, ai
picchi, alle zone di zero-crossing ed alle regioni di silenzio. Melodyne, per attuare la scomposizione polifonica
basa invece la propria analisi sulle informazioni ricavabili dallo spettro del segnale, sfruttando inoltre il concetto
di serie armonica naturale per l’attribuzione di ipertoni. Più generalmente si può dire di aver studiato prima un
plugin operante nel dominio del tempo, poi uno operante nel dominio delle frequenze.
Analizzare software così differenti è stato utile per comprendere a pieno la potenziale infinità di campi,
appartenenti a quello della produzione, in cui algoritmi di Audio Information Retrieval potrebbero essere
implementati. La versatilità di questi software e la loro facilità di utilizzo forniscono ai fonici un nuovo modo di
operare in studio, nuove possibilità e prospettive di cambiamento della fase creativa. Se infatti fino a qualche
anno fa risultava in alcuni casi impossibile correggere a posteriori delle performance già registrate, oggi, grazie
allo sviluppo di questi nuovi plugin digitali e soprattutto grazie a quelli basati sull'estrapolazione di
informazione, tali operazioni sono possibili.
La necessità di estrarre informazione dal segnale è accompagnata dall'esigenza di trapiantare le basi della
percezione umana nelle macchine che utilizziamo per lavorare, al fine di rendere sempre più facile la
comunicazione tra cervello e software mediante una riduzione delle fasi di trasmissione tra questi due estremi al
minimo. A seconda del contesto è possibile creare algoritmi di emulazione della percezione umana del suono,
applicando determinate regole a partire da tale emulazione si possono quindi inventare nuovi accessori.
10.2 Possibili sviluppi e applicazioni
Nel settore della produzione audio sarebbe possibile creare software per il riconoscimento automatico degli
strumenti e la loro trascrizione in partitura (tecniche in via di sviluppo ma ad ora alquanto limitate), plugin per la
sostituzione totalmente automatizzata di parti di batteria, di intere linee percussive o di altri strumenti con virtual
instrument o con campioni preregistrati, sarebbe possibile creare algoritmi per il BPM tracking (riconoscimento
dei battiti per minuto) sempre più efficaci e veloci nel fornire il tempo del brano preso in considerazione ed
eventualmente anche il suo metro (all’attuale stato dell’arte questi plugin necessitano della riproduzione di
almeno 15 secondi del brano per poter formulare la prima ipotesi sul tempo della traccia, questi plugin non sono
tuttavia in grado di identificare il metro della traccia sottopostagli). Esistono software in grado di identificare e
rimuovere particolari tipologie di disturbi (scratch, pop ed altri rumori impulsivi) operando, la dove è necessario,
una ricostruzione del segnale nel tempo basata sui campioni incontaminati che si hanno a disposizione. Questi
accessori sono utili quando si vuole sfruttare materiale originariamente analogico in una sessione di produzione
digitale, il loro sviluppo permetterà un recupero sempre più preciso e trasparente dell’informazione da materiale
altrimenti compromesso.
Nel settore della postproduzione sarebbe possibile sfruttare le informazioni ricavate dai file video per
59
spazializzare le sorgenti sonore nell’immagine stereo o surround, inoltre, considerato il recente sviluppo di
videocamere capaci di integrare informazioni sulla distanza dei soggetti nel file video, sarebbe possibile dare ad
ogni sorgente un riverbero ed un delay opportuni sulla base dei dati video registrati.
Per il settore dell’animazione sarebbe invece possibile sfruttare le informazioni audio (volume, transienti) per
raffinare l’espressione facciale dei personaggi in modo tale da far corrispondere ad un maggiore volume una
maggiore apertura della bocca o ad una determinata lettera la corrispondente impostazione per l’emissione
vocale.
Per quanto riguarda il lato consumer, come anticipato, esistono software che operano estrazione di informazione
al fine di identificare il ritornello all’interno di un brano. In questo modo i negozi di musica online sono in grado
di fornire thumbnail o preview di un determinato prodotto all’utente, riducendo i tempi di ricerca della canzone e
quindi quelli di acquisto della stessa. Altri sistemi (Music Recommendation System) sfruttano informazioni
come il tempo delle canzoni, il loro genere e l’anno di uscita per proporre all’ascoltatore musica a partire da
indicazioni di alto livello (ricerca per canzoni impetuose, rilassanti, euforizzanti) date in input dall’utente. In
quest’ultimo caso, i dati ricavati dagli algoritmi di estrapolazione dell’informazione audio vengono a convivere
con altre informazioni di diversa origine come i metadati presenti in un qualsiasi file audio.
10.3 La tecnologia plasma il settore della produzione
Dopo aver presentato tre diversi settori permeati dall’ambito dell’Audio Information Retrieval si vuole
nuovamente porre l’attenzione su quello della produzione, soggetto dello studio fatto e principale beneficiante
dello sviluppo di tali tecniche. Si è sottolineato come la proliferazione di plugin di nuova generazione abbia
cambiato e stia tuttora cambiando il processo lavorativo all’interno degli studi di registrazione. Questi plugin
sono infatti perlopiù utilizzati per correggere o modificare materiale registrato: perfezionare l’intonazione di
linee vocali, raffinare la dinamica delle parole, il loro tempo, sostituire note all’interno di un accordo, modificare
la velocità di un arpeggio o semplicemente cancellarne alcune note. Le possibilità di editing offerte da plugin
come Vocalign e Melodyne sono praticamente illimitate; si vuole tuttavia ricordare come tali software siano stati
creati per il perfezionamento di performance di alto livello e non per lo sconvolgimento di prestazioni
inizialmente inaccettabili.
Una simile filosofia è tuttavia andata affermandosi negli ultimi anni, probabilmente diffusasi a partire dai project
studio; risiede infatti nella natura di questi studi la necessità di sfruttare plugin ed effetti per rimediare a
mancanze di vario genere. Riverberi digitali ovviano alla mancanza di un reale spazio acusticamente trattato
nella sala di presa così come plugin per la correzione di performance rimediano ad errori di artisti
prevalentemente non professionisti frequentanti questo tipo di studi. Questa filosofia è oramai stata adottata
anche da studi di registrazione impegnati in produzioni importanti, la presenza costante dell’effetto Auto-tune
nelle classifiche mondiali sia un esempio per tutti. Ideato da Antares nel 1997 e diventato famoso per via della
canzone “Believe” di Cher, l’effetto di Auto-tune ha oggi creato un nuovo genere di artisti i quali sfruttano la
simbiosi tra la propria voce ed il plugin per ottenere un timbro inconfondibile.
Precedentemente utilizzato da artisti come Avril Lavigne, Maroon Five, New Found Glory, Mary J.Blige e molti
altri per una moderata correzione dell’intonazione (quasi impercettibile), l’effetto ha oggi assunto un ruolo
importante nella fase creativa di numerosi artisti tra cui Black Eyed Peas, Akon, Lil Wayne e Kesha, i quali
sfruttano al massimo il cosiddetto “effetto Cher” per creare linee vocali dalle sonorità elettroniche, in alcuni casi
60
addirittura robotiche.
Sebbene questo effetto rappresenti quindi un nuovo metodo creativo, alcuni artisti vedono in esso una scorciatoia
all’intonazione, finendo per dipendere così tanto dall’accordatore da non poter fare a meno di utilizzarlo in ogni
sessione di registrazione. In questo caso il plugin rappresenta un ostacolo alla crescita del cantante, il quale vede
in esso uno strumento per superare i propri limiti, strumento che originariamente era rappresentato dalla
preparazione al canto e da un allenamento costante.
Gli accordatori vocali sono solo un esempio di plugin voltati alla correzione di performance, unitamente a questi
vengono utilizzati altri strumenti: per la sostituzione di colpi di batteria, per la registrazione ad un tempo
inferiore rispetto a quello originale o per la modifica della durata delle note suonate. I frequentatori di project
studio sono sempre più informati riguardo queste tecniche e sempre più spesso si affidano ad esse per ottenere
risultati migliori, chiedendo conferma della disponibilità di impiego di tali metodi ancor prima di affrontare la
sessione di registrazione. Così, plugin come Vocalign e Melodyne cessano di essere strumenti di supporto,
andando a rappresentare una alternativa al perfezionamento della tecnica e alla crescita artistica dell’individuo,
perdendo il ruolo iniziale di semplici accessori a disposizione del fonico.
Considerate le controindicazioni derivanti dall’uso di tali software si vuole puntualizzare come: l'espressione del
cantante, il tocco del batterista, lo slap del bassista e la pennata del chitarrista non siano elementi creabili a
posteriori con un processore digitale. Gli strumenti offerti dal progresso tecnologico sono spesso motivo di
scontro ideologico in numerosi settori, quello della produzione audio compreso, per questo motivo è necessario
ricordare gli scopi per cui tali accessori vengono ideati, in modo tale da non lasciar loro assumere un ruolo di
eccessiva importanza rispetto a quello originario, ricordando che questi devono essere di supporto alla fase
creativa e non devono ostacolarla in alcun modo.
61
Bibliografia:
[1]
Cingolani Sergio, Spagnolo Renato (2007), “Acustica Musicale e Architettonica” Città
studi editore
[2] Huber
David, Runstein Robert (2007), “Manuale della Registrazione Sonora” Hoepli
editore
[3] Rigoli
Alessandro, Russo Paolo (2007), “Il Suono Riprodotto” EDT editore
[4] Cousins
Mark, Russ Hepworth-Sawyer (2009), “Logic Pro 8: Audio and Music
Production” Focal Press editore
[5] Brookshear
J. Glenn (2007), “Informatica. Una Panoramica Generale” Pearson Education
Italia editore
[6] Taschev
Ivan (2009), “Sound Capture and Processing” Wiley and Sons editore
[7] Torsello
Paolo (2002), “Guida ai Microfoni” Demidoff editore
[8] Bartsch
A.Mark, Wakefield H.Gregory (2001), To Catch a Chorus: “Using Chroma-Based
Representations for Audio Thumbnailing” University of Michigan
[9] Dannenberg
B.Roger (2002), “Pattern Discovery Techniques for Music Audio” Carnegie
Mellon University
[10] Masataka
Goto (2003), “SmartMusicKIOSK: Music Listening Station with Chorus Search
Function” National Institute of Industrial Science and Technology (AIST)
[11] Masataka
[12] Keith
Goto (2004), “PreFEst and RefreaiD” McGill University
D.Martin, Scheirer D.Eric (1998), “Music Content Analysis through Models of
Audition” MIT Cambridge
[13] Meredith
David (2003), “Algorithms for Discovering Repeated Patterns in
Multidimensional Representations of Polyphonic Music” University of London
[14] Bregman
[15] DeWitt
Albert (1990), “Auditory Scene Analysis” MIT Cambridge
Lucinda, Crowder Robert (1987), “Tonal Fusion of Consonant Musical Intervals”
from “Percetion and Psychophysics”
[16] Maher
Robert (1989), “An Approach for the Separation of Voicesin Composite Music
Signals” University of Illinois
[17] Scheirer
D.Eric (1996), “Bregman's Chimera: Music Perception as Auditory Scene
Analysis” MIT Cambridge
[18] Senior
Mike (2009), “Celemony Melodyne: Pitch and Time Processing Software” from
“Sound on Sound” December 2009
[19] Cellotto
Mattia, Mellina Alessio (2010), “Audio Thumbnailing: a Survey on Music
Summarization Techniques” presso ST Microelectronics
62
[20] Whitwell
Tom (13/03/2008) http://musicthing.blogspot.com/2008/03/celemony-
melodyne-dna-has-this-man-done.html
63