Comprendere e gestire la latenza in/out

Transcript

Comprendere e gestire la latenza in/out
Comprendere e gestire la latenza in/out
Scritto da kurtz
Venerdì 07 Agosto 2009 10:53
In ambito Computer Music, per LATENZA si intende il ritardo che intercorre tra la generazione
di un evento (sia esso la pressione di un tasto sulla tastiera o l’emissione di un suono vocale
verso un microfono) e la riproduzione di quest’ultimo attraverso il sistema di monitoring in uso
(casse acustiche o cuffie).
Tale evento si presume abbia luogo all’interno di un sistema di hard-disk recording, oggi – nella
sua forma più semplice e comune – rappresentato da un PC dotato di scheda audio, le cui
risorse (BAIOS, altrimenti dette INs, OUTs, DSP oppure, volendo esplicitare l'acronimo, Basic
Input Output System) siano a disposizione di un sequencer software (es. Cubase).
E’ bene chiarire che la LATENZA non è legata alla difficoltà del percorso del segnale lungo i
cavi, piuttosto, essa è gestita dal driver ASIO, compilato dalle rispettive case madri costruttrici di
schede audio, secondo le specifiche e attraverso la concessione dell’SDK di Steinberg.
1/6
Comprendere e gestire la latenza in/out
Scritto da kurtz
Venerdì 07 Agosto 2009 10:53
Tecnicamente cosa succede?
LATENZA = tempo impiegato dalla CPU per leggere i samples del buffer. Essa è inoltre legata
alla frequenza dei campioni, cioè, tanto maggiori saranno i campioni per secondo tanto minore
sarà il risultato della stessa.
N.° Operazioni che svolge la CPU = freq./ grandezza del buffer
cioè
frequenza
Grandezza buffer
Operazioni CPU al sec.
44.100
512
86,1328125
2/6
Comprendere e gestire la latenza in/out
Scritto da kurtz
Venerdì 07 Agosto 2009 10:53
48.000
512
93,75
Calcoliamo la Latenza:
Latenza = (Buffer X 1 sec)/n. samples
Esempio per 1 sec. di buffer della grandezza di 512:
buffer
3/6
Comprendere e gestire la latenza in/out
Scritto da kurtz
Venerdì 07 Agosto 2009 10:53
Frequenza (hz)
LATENZA (ms)
512
44.100
11,60998
512
48.000
10,66667
512
96.000
5,333333
4/6
Comprendere e gestire la latenza in/out
Scritto da kurtz
Venerdì 07 Agosto 2009 10:53
La Latenza “zero” è un sogno?
Allo stato attuale – utilizzando gli ultimi driver ASIO 2 – non è possibile raggiungere una latenza
nulla, sebbene un “ritardo” che si attesti tra 5ms e 10ms (come somma – si badi bene - della
latenza in entrata ed in uscita) sia “percepito” come nullo dalle nostre orecchie.
Cosa ci riserva il futuro?
Il problema della latenza, spero sia ormai evidente, risiede – come del resto accade nella
gestione del flusso di dati a cui accedono le memorie volatili – nell’impossibilità di gestire il
flusso audio senza servirsi di un buffer di sicurezza.
Sempre facendo riferimento al parallelismo con le RAM, la prospettiva che ci riservano le nuove
memorie DDR3 è senz’altro favorevole proprio per l’abbandono del controllo delle RAM da
parte del chipset a favore del processore: un cambiamento in questa direzione rende del tutto
superflui i fattori di latenza tanto ricercati nelle DDR2 (CAS, LAS, etc) e lo stesso dovrebbe
verificarsi in ambito computer music, quando, con l’avvento della tecnologia audio sviluppata da
Miscrosoft per Windows Vista si potrà veicolare il flusso audio direttamente verso la CPU senza
– o con il minimo – intervento da parte del driver.
Questa tecnologia si chiama WaveRT e promette uno streaming audio in tempo reale.
5/6
Comprendere e gestire la latenza in/out
Scritto da kurtz
Venerdì 07 Agosto 2009 10:53
Non ci resta che aspettare!
Letteratura
WaveRT: A Wave Port Driver for Real-Time Audio Streaming
http://www.microsoft.com/whdc/device/audio/wavertport.mspx
6/6