Torna al blog
October 24, 2018

Comprendere la compensazione del ritardo dei plug-in

Questioni tecniche, prima e adesso

Tecnici in uno studio di registrazione vintage che esaminano macchine a nastro analogiche.

La produzione musicale e la realizzazione di dischi è un processo sfaccettato in cui molti elementi giocano un ruolo. Alcuni di questi sono artistici, altri sono puramente tecnici.

Come funzionava una volta

“Ai tempi” (accento scozzese, stavolta), tutti gli elementi tecnici prevedevano la presenza di persone che sapevano muoversi tra macchine a nastro, console analogiche, outboard, linee e persino vere camere di riverbero. L’ultima cosa che qualcuno voleva era vedere una sessione bloccarsi, con l’artista a perdere tempo prezioso e ispirazione, a causa di qualche questione tecnica.

Come funziona oggi

Tutto questo è ancora valido oggi, anche se quelle questioni tecniche sono cambiate, per chi fa musica con i computer (Fab mi ha detto che in giro sembrano essercene parecchi).

Uno degli aspetti più sottovalutati e trascurati di una DAW è la sua capacità di gestire i ritardi interni intrinseci al routing e al processamento. In questo articolo daremo un’occhiata al modo in cui Pro Tools gestisce la sua ADC (Compensazione Automatica del Ritardo), ma i concetti espressi qui ti daranno le competenze e il cappello da detective necessari per eseguire questi controlli e diagnostiche su qualsiasi DAW.

Dimensione del buffer vs Compensazione della latenza

Cosa è realmente la dimensione del buffer

Prima di tutto, queste due cose non sono la stessa cosa. Per spiegare la dimensione del buffer uso sempre il seguente esempio:

Ogni volta che premi “Play” sulla tua DAW, stai richiedendo dati dal “cervello” del computer agli altoparlanti. Pensalo come a una serie di scatole che viaggiano regolarmente dal tuo computer agli altoparlanti. Questa scatola è il tuo buffer.

Finestra di Pro Tools Playback Engine che mostra le dimensioni hardware del buffer disponibili.Più è piccola la dimensione del buffer, più piccole saranno le scatole che il computer userà per inserire i dati da inviare agli altoparlanti. In un dato intervallo di tempo (es. 1 secondo) il computer dovrà usare più scatole, più energia per riempirle e imballarle correttamente, poi spedirle agli altoparlanti. Poiché la scatola è piccola, il tempo richiesto per riempire e spedire la prima scatola dal momento in cui premi “Play” sarà molto breve, ma il computer dovrà lavorare di più (maggiore utilizzo della CPU) per assicurarsi che tutte quelle piccole scatole vengano inviate. Come nella vita reale, quelle scatole non permettono di contenere molto, quindi ti serviranno tante scatole, tanto nastro, tanto imballaggio e tanta energia.

Con una grande dimensione del buffer, il computer se la prende comoda: una scatola grande significa che può contenere molti dati e la scatola verrà chiusa e inviata solo quando è piena. Questo significa che, dal momento in cui premi “Play” al momento in cui la prima scatola raggiunge gli altoparlanti, passerà più tempo. D’altra parte, scatole più grandi fanno lavorare meno il computer in un dato intervallo di tempo (es. 1 secondo).

Come la dimensione del buffer influenza il workflow

Per ricapitolare:

  • Dimensioni del buffer più piccole: maggior reattività, maggiore uso di CPU/risorse di sistema
  • Dimensioni del buffer più grandi: minore reattività, minore uso di CPU/risorse di sistema

Per questo motivo, generalmente, si preferiscono buffer piccoli in fase di registrazione (e quindi si necessita della minore latenza possibile tra ciò che suoni e ciò che senti tornare dalla DAW) e si preferiscono buffer più grandi in fase di mix (quando non serve più una reattività critica nel tempo e si preferisce usare più plug-in alleggerendo lo sforzo sul sistema).

Il ritardo di processamento interno è un'altra bestia

Allora, in cosa differisce il “ritardo di processamento interno” dalla “dimensione del buffer”? Mentre la dimensione del buffer è un parametro a livello di sistema, il ritardo di processamento cambia dinamicamente con il routing, i plug-in e le catene di processamento. Ed è qui che può sfuggire di mano.

Ritardo di processamento e sua compensazione

Diagramma che confronta due tracce, una con plugin e una senza, illustrando la compensazione del ritardo.Prendiamo due tracce audio: Traccia A ha un groove di kick e rullante, Traccia B ha un riff di basso. Supponiamo che le due tracce siano state registrate da un duo di prim’ordine, groovy e funky. Ti siedi al mix e decidi che la Traccia A ha bisogno di un po’ di EQ, un po’ di compressione e un tocco di riverbero. La Traccia B è perfetta così com’è. Premi "Play" per ascoltare il risultato, e tutto suona incredibile. Parte di questo è perché la tua DAW compensa automaticamente il ritardo dei plug-in. Perché succede?

Beh, fondamentalmente ci mette più tempo perché la Traccia A raggiunga la fine della sua catena di segnale: la Traccia B è completamente nuda e attraversa il routing direttamente, ma la Traccia A deve essere processata tramite un EQ, un compressore e un riverbero.

Perché esiste la ADC

La Compensazione Automatica del Ritardo assicura che la Traccia B non raggiunga il traguardo da sola: invece aspetterà la Traccia A e, una volta che sono tutte pronte, attraverseranno il traguardo insieme, preservando così le relazioni temporali originali tra le due.

Se la tua DAW non avesse la "ADC" (Compensazione Automatica del Ritardo) la Traccia A suonerebbe come se fosse stata registrata in un momento successivo. Se la differenza è enorme, il batterista suonerà completamente sbagliato e fuori tempo rispetto al bassista e, dato che — nel nostro esempio — i due sono una famosa band funk, verresti licenziato per questo errore.

Come entrano i problemi di ritardo

Ora è facile capire quanto sia importante l’ADC, considerando che di solito hai:

  • più di due tracce
  • più di tre plug-in in totale
  • più routing, con aux per bussing e send/return

e soprattutto: le cose non suonano sempre completamente sbagliate. Potresti avere un lieve spostamento di fase tra i tuoi canali (es. kick, basso e il resto della batteria? Orrore!) che ti fa prendere decisioni di mix basate su un problema tecnico, non sul contenuto delle tracce. E tutto questo cambia con qualsiasi modifica di routing o aggiunta di plug-in! Di nuovo: orrore.

Per questo motivo, assicuriamoci di sapere come diagnosticare se l’ADC funziona correttamente.

Risolvere problemi e regolare l’ADC

Sessione Pro Tools con due tracce identiche, una invertita di polarità, che alimentano un plug-in Phasescope.Prendiamo due tracce audio identiche, entrambe indirizzate allo stesso bus. Contengono lo stesso pezzo audio: un’onda sinusoidale a 1 kHz a -20 dBFS (ma davvero, qualsiasi cosa va bene purché sia lo stesso clip audio).

Il metodo del Null Test

Inverto la fase (= inverto la polarità) su un canale. Alcune DAW hanno un semplice pulsante "flip phase" sulla strip del canale, ma il mio Pro Tools non ce l’ha. Quindi metto due plug-in Trim identici su entrambe le tracce, bypasso quello sulla prima e lo lascio attivo sulla seconda, per invertire la fase. In questo modo applico lo stesso livello di processing a entrambe le tracce e le tengo identiche a tutti gli effetti.

Sul bus di somma, chiamato "MIX", metto un semplice plug-in Phasescope, per vedere polarità, livelli e immagine stereo.

Quando riproduco la sessione le due tracce si cancellano a vicenda e il risultato è il silenzio totale (-infinito). Ah, la bellezza di lavorare con zeri e uni nel dominio digitale.

Vista del mixer di Pro Tools che mostra un plugin inserito per testare il ritardo del plugin mentre si monitora il comportamento del null.

Diagnosticare ritardi di routing e dei plugin

Ora, metto un plug-in sulla prima traccia e lo metto in bypass. In questo modo aggiungo il carico di lavoro del plug-in stesso ma non cambio il suono in alcun modo. Sii consapevole che in alcune DAW bypassare un plug-in lo dealloca anche dal percorso di processamento. Nel mio Pro Tools, bypass significa che il plug-in continua a "pesare" sulla CPU ma non influisce sull’audio della traccia stessa.

Ora, se l’ADC funziona correttamente, il risultato sarà ancora un annullamento completo. Questo perché la Traccia B è più veloce della Traccia A (per essa non devono essere fatti calcoli) ma le verrà chiesto di aspettare che la Traccia A sia pronta e poi verranno riprodotte insieme.

Se disattiviamo l’ADC in Pro Tools (menu Setup > Delay Compensation deselezionato) vedrai che Phasescope ora ci restituisce un segnale residuo. Questo significa che le due tracce non vengono compensate.

Diagramma che mostra la Traccia A che passa attraverso processi aggiuntivi e un bus prima di raggiungere l'uscita.Nel terzo esempio, facciamo passare la Traccia A attraverso un Aux Track aggiuntivo e poi la mandiamo al bus MIX, mentre la Traccia B continua ad andare dritta al MIX. Se l’ADC funziona correttamente, la compensazione avviene comunque e il risultato deve essere un annullamento completo.

Sessione Pro Tools che dimostra un null fallito a causa dell'attivazione di Auto Low Latency.

Quando l’ADC fallisce sulle tracce in monitoring d’ingresso

Nel quarto esempio, facciamo passare la Traccia A attraverso una Audio Track, con l’input monitoring attivato. Qui le cose si fanno interessanti. In Pro Tools premiamo play e il segnale non si annulla. È un bug? No.

Pro Tools ha una funzione chiamata "Auto Low Latency" che di solito è ATTIVA per impostazione predefinita. L’idea è che, se metti una traccia audio in input monitoring e/o in modalità registrazione, vorrai registrare qualcosa su di essa. E se questo avviene da una sorgente reale (es. il tuo chitarrista deve registrare un overdub), Pro Tools presume che vorrai la latenza più bassa possibile per assicurarti che il chitarrista possa sentire ciò che sta suonando (sì, lei) in tempo con la sua performance. "Auto Low Latency" fa sì che la regola della Compensazione Automatica del Ritardo venga infranta per le tracce messe in input monitoring e/o in arm record (la "I" verde o il puntino rosso acceso).

La maggior parte delle volte questo è quello che vuoi (soprattutto se la sessione ha già molti plug-in) ma in questo caso non lo vogliamo. Potremmo usare questa tecnica per stampare (bounce) una traccia su un’altra, ed è fondamentale che l’ADC sia mantenuta così da poter monitorare correttamente e impegnarsi nella stampa.

Pannello di compensazione ritardo di Pro Tools che mostra l'opzione Auto Low Latency OFF.

Disabilitare la modalità Auto Low Latency

Per risolvere questo, andiamo al pannello "delay compensation" nella parte inferiore di quella traccia audio (assicurati di avere "Delay Compensation" attivo nel menu "View > Mix Window" per vederlo). I tre campi indicano, dall’alto verso il basso:

  • il ritardo totale, in campioni, di quella traccia
  • l’offset utente, in campioni, di quella traccia (se presente)
  • la compensazione totale, in campioni, di quella traccia, richiesta per uguagliare il ritardo della traccia più lenta nella sessione

normalmente questi campi sono tutti verdi, ma in Pro Tools possono essere arancioni per evidenziare la traccia più lenta nella sessione. Se sono rossi, significa che la traccia non viene compensata correttamente. Ogni DAW ha un massimo di campioni che può compensare.

Per disattivare la modalità "Auto Low Latency" per una data traccia, clicchiamo con il tasto destro sul terzo, campo più basso del Pannello di Compensazione del Ritardo, poi clicchiamo su "Auto Low Latency OFF". Il campo di compensazione apparirà ora blu per farti sapere che la modalità Low Latency è disabilitata per quella traccia.

Phasescope di Pro Tools che mostra l'annullamento riuscito dopo aver disabilitato Auto Low Latency.Se riproduci la sessione ora, noterai il completo annullamento. Le cose tornano a funzionare come previsto.

Puoi usare questa diagnostica in qualsiasi situazione (anche send/return), semplicemente assicurandoti che il risultato finale di due tracce identiche (ma opposte in polarità) dia un annullamento completo. Questo non è discutibile: non è una scelta artistica o un modo di lavorare: le DAW NON dovrebbero influenzare il timing del tuo materiale (sia esso prerregistrato o generato in tempo reale) basandosi su fattori tecnici o operativi.

ADC e strumenti virtuali

E gli strumenti virtuali? Come facciamo a sapere con certezza che vengono tutti compensati correttamente? Beh, non lo sappiamo. Ci fidiamo degli sviluppatori del software. Di solito.

Ma c’è un tipo di strumenti virtuali che non voglio trascurare: le librerie di batterie e i plug-in di drum-replacement. Se aggiungo un campione di kick e rullante a una traccia di batteria esistente, come faccio a sapere che quei due campioni sono perfettamente allineati in fase?

Registrazione multitraccia di batteria in Pro Tools con kick, rullante, overheads e traccia di stampa.

Perché le librerie di batterie richiedono attenzione extra

In questo ultimo esempio, abbiamo tre tracce di batteria: Kick, Snare e Overheads e suonano così:

Estratto originale

Potrebbe essere meglio. Non sento abbastanza presenza nel kick e nel rullante e voglio rinforzarli usando dei campioni. Per farlo, apriamo uno strumento virtuale, nel mio caso Slate Digital SSD 4 ma puoi applicare questo principio a qualsiasi plug-in simile.

Mixer di Pro Tools che instrada le uscite del campionatore di batteria SSD verso tracce di stampa.Una volta selezionati kick e rullante, avvio la sessione e suona così. Abbastanza bene, fa quello che voglio.

Batteria con campioni aggiunti

 

Stampare i campioni per evitare il caos

Per me, il primo controllo è fatto con le orecchie. Suona bene, quindi lo tengo. Tuttavia, so che la sessione a breve sarà molto più grande di così e voglio ridurre qualsiasi possibilità che qualcosa vada storto. Quindi, invece di lasciare lo strumento virtuale attivo e doverci fare affidamento, decido di stampare (bounce) le tracce di campione in audio reale. Questo renderà la sessione autonoma e non dipendente da una libreria sonora che qualcuno magari non avrà più installata tra anni, o che il tuo mixing engineer potrebbe non possedere... e bloccherà nel tempo quei campioni assicurando che restino dove sono.

Consiglio: rimuovi tutti gli strumenti virtuali appena possibile, una volta finite le sessioni di arrangiamento/composizione. Personalmente non mi fido *così tanto* del MIDI e preferisco impegnarmi in una sessione più snella e lineare prima di andare a mixarla.

Routing corretto per stampare i campioni

Nell’SSD mixer, instrado le cose come segue:

  • Kick (direct): Stereo Output 2
  • Snare (direct): Stereo Output 3
  • Tutte le tracce di ambiente (Overheads/room ecc.): Stereo Output 4

Finestra Edit di Pro Tools che mostra il MIDI SSD che attiva le tracce audio stampatePoi, in Pro Tools, creo 3 tracce Audio stereo, le nome di conseguenza e imposto gli input come le uscite dello strumento virtuale SSD, le stesse elencate sopra. Per aggiungere un po’ di routing in più (e mettere più cose alla prova) queste 3 tracce andranno al loro bus dedicato e poi al bus MIX.

Se attivo l’Input Monitoring su quelle tracce e premo play, le cose suoneranno strane e fuori tempo.

Qualcosa non va

Questo perché mi sono dimenticato di impostare "Auto Low Latency" su OFF, come spiegato prima. Una volta risolto questo, tutto suona esattamente come prima della stampa.

Vista zoomata in Pro Tools che mostra il campione di kick disallineato rispetto al kick originale.Procedo quindi a stampare le tracce ed eccole, stampate separatamente e pronte per essere aggiunte alla sessione di mix. La cosa divertente è che, anche con "Auto Low Latency" attivo, il risultato stampato sarebbe compensato correttamente! Perché Pro Tools usa quella modalità Low Latency solo per il lato del monitoring, non per la stampa interna (ben fatto, sviluppatori).

Selezione in Pro Tools che mostra un offset di 72 campioni per allineare il campione di kick al kick reale.

Correggere campioni di batteria disallineati

Ora zoomiamo sulle tracce di batteria. Mentre il rullante campionato è perfettamente allineato e in fase con quello originale, si vede un ritardo tra i due kick. Questo non ha a che fare con la Compensazione Automatica del Ritardo ma più che altro con i campioni reali nello strumento virtuale. Sono tutti diversi, hanno motori diversi, campioni diversi e quindi risultati diversi. Per questo è sempre consigliata un’ispezione finale.

Mixer di Pro Tools che mostra l'offset utente applicato per allineare la tempistica della traccia del campione di batteria.Che ne dici di misurare la distanza tra l’inizio del kick reale e quello del kick campionato, scoprire che è di 72 campioni (lo indica il transport di Pro Tools, una volta che la griglia è impostata su "Samples"). Ora possiamo inserire "-72" nel campo "User Offset" nel pannello di compensazione del ritardo del kick campionato.

Vista del mixer di Pro Tools che mostra le tracce campionate SSD, con la traccia del kick cerchiata per evidenziare un offset utente di -72 campioni applicato nel pannello di compensazione del ritardo.Questo dirà a Pro Tools di spostare quella traccia di 72 campioni "prima", allineando così il kick campionato con quello reale. Non significa sempre che suonerà meglio, dico solo che vale la pena controllare! In questo caso, la versione allineata suona meglio e fa percepire i due kick più come uno solo. Sottile ma presente.

Scritto da Alberto Rizzo Schettino

Pianist and Resident Engineer of Fuseroom Recording Studio in Berlin, Hollywood's Musicians Institute Scholarship winner and Outstanding Student Award 2005, ee's worked in productions for Italian pop stars like Anna Oxa, Marco Masini and RAF, Stefano 'Cocco' Cantini and Riccardo Galardini, side by side with world-class musicians and mentors like Roger Burn and since 2013 is part of the team at pureMix.net. Alberto has worked with David White, Niels Kurvin, Jenny Wu, Apple and Apple Music, Microsoft, Etihad Airways, Qatar Airways, Virgin Airlines, Cane, Morgan Heritage, Riot Games, Dangerous Music, Focal, Universal Audio and more.