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