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