Pensando ai videogiochi in relazione alle schede video, la prima cosa che balza alla mente è la velocità di elaborazione dell’enorme quantità di dettagli a schermo, insieme alla qualità di tutto ciò. Tuttavia, il fotorealismo determina solo in parte l’immersione del giocatore nel proprio titolo preferito, ed un’altra buona parte di tale immersione è data dal sistema audio alla base dei giochi, aspetto spesso sottovalutato e talvolta cruciale nel coinvolgimento totale del player nelle scene renderizzate. La qualità effettiva dell’audio multicanale posizionale occupa un ruolo fondamentale nell’immersione del giocatore, ma spesso le soluzioni disponibili al momento non soddisfano gli standard imposti dalla qualità grafica. Insomma, per quanti milioni di dollari uno sviluppatore spenda in un titolo videoludico, non troveremo mai colonne sonore ai livelli di Hollywood, come, per fare un esempio concreto, le musiche di Hans Zimmer in Inception.
Nonostante l’assenza di tracce audio ad alta qualità da parte degli sviluppatori, i tentativi non mancano. Infatti, i middleware e i software capaci di semplificare il lavoro del rendering audio sono già presenti sulla piazza, ma gli sviluppatori hanno un ammontare limitato di risorse CPU con cui lavorare. Fondamentalmente, la maggior parte della CPU viene impegnata per la gestione del programma, dell’AI, della fisica, dei calcoli, del corretto indirizzamento dei dati alla scheda video e a tutta una serie di meccanismi invisibili al giocatore. Come è lecito aspettarsi, l’audio occupa approssimativamente solo il 10% delle risorse presenti nel sistema, non ricevendo le attenzioni che merita. Ed è qui che TrueAudio entra in scena. Mentre la scheda audio e altre forme di renderers audio esterni possono scaricare una parte del lavoro da parte del processore, in fin dei conti non si occupano della vera e propria produzione dell’audio, e TrueAudio, rimanendo in background, agisce come “facilitatore” del carico del rendering audio e della creazione del suono, permettendo, parlando dalla prospettiva dello sviluppo, di liberare risorse CPU per altri compiti. TrueAudio è una pipeline audio ad alta programmabilità e permette di decodificare, codificare, mixare e gestire tutti gli aspetti sonori con un’elevata versatilità, permettendo agli sviluppatori di indirizzare altrove le risorse impegnate per la creazione dell’audio di un gioco. Per contestualizzare il ruolo di TrueAudio, potremmo paragonarlo allo sviluppo di un motore grafico. Gli ingegneri del suono e i programmatori, di solito, registrano suoni dal mondo reale mixandoli poi insieme, combinando vary layers, per creare un dato effetto. Il giocatore ha bisogno di udire uno sparo? Registralo e mixalo di conseguenza. C’è molta poca flessibilità, non si ha a che fare con poligoni e triangoli e texture. TrueAudio permette ai team assegnati allo sviluppo audio di semplificare tali operazioni, fornendo algoritmi personalizzati senza preoccuparsi dell’overhead della CPU, in modo da produrre audio ad alta fedeltà senza incorrere in un hardcap di risorse del processore.
Secondo AMD, una delle migliori caratteristiche del TrueAudio è la trasparenza fornita agli sviluppatori, visto che l’accesso alle risorse da esso predisposte è identico a quello che si effettua tramite le attuali risorse audio. Nessun nuovo linguaggio, nessun programma di terze parti per reindirizzare le risorse, tutto avviene automaticamente, lasciando piena libertà ai tecnici audio. La posizione di TrueAudio all’interno dello stack audio migliora la sua percezione, facendolo inquadrare come un meccanismo facilitante di tutta la gestione sonora, grazie al fatto che tutto ciò che fa avviene in background. Le tracce audio con un supporto alla tecnologia vengono passate al motore TrueAudio on-die, tornando poi alle risorse Windows Audio, in modo da poter essere riprodotto come qualsiasi altra fonte sonora, sia essa attraverso la scheda audio, una porta USB o una connessione HDMI/DisplayPort. Non prende il posto della scheda audio, sia chiaro, ma permette che l’audio codificato abbia una qualità maggiore con un impatto pari allo 0% sulle risorse di calcolo celntrali.
TrueAudio è implementato direttamente nelle schede grafiche che lo supportano (HD7790, R7-260X, R9-290 e R9-290X) tramite un set di core DSP dedicati (Tensilica HiFi EP) localizzati direttamente sul die della GPU. Questi core verranno dedicati al processing dell’audio nei giochi, calcolando fonti sonore sia a virgola fissa che a virgola mobile, dando significanti aumenti di libertà alle software house rispetto ad ora. Tali cores si occupano anche di gestire il processing audio, slegandosi totalmente dai cicli di calcolo del processore centrale. Per assicurare un accesso rapido e senza ritardi, i DSP dispongono di un accesso rapido alla memoria locale, grazie alla cache on-board e alla RAM. Inoltre, un set di istruzioni condivise dal motore DMA aiuta a processare l’audio attraverso i vari stadi. Ancora più importante, l’output dei calcoli effettuati da tali DSP è collegato direttamente alle pipeline dei display, in modo da “non rimanere indietro” rispetto alle risorse grafiche. Mentre TrueAudio assicura che il processing dell’audio venga effettuato sui DSP dedicati piuttosto che sui core grafici, è comunque possibile implementare i calcoli effettuati dalla CPU, alleggerendo comunque il carico, o mantenendolo inalterato, aumentando al contempo l’immersione sonora.
Una delle sfide maggiori per gli ingegneri del suono è la creazione di un audio tridimensionale attraverso cuffie stereofoniche. In un setup tipico, il motore ingame effettua il processing iniziale, mixando poi le tracce in un semplice segnale stereo. I DSP secondari addizionali, di solito posizionati sull’amp USB delle cuffie, si occupano poi di renderizzare la traccia in un surround virtuale su due canali, aggiungendo riverberi, separazioni e altri “trucchi” per creare virtualmente un suono posizionale. Il risultato, spesso, è mediocre, in quanto l’audio tende a perdersi più che a definirsi di più. TrueAudio assiste la virtualizzazione, offrendo script preimpostati per il processing. Viene utilizzato un DSP ad alta qualità che assicura che ogni singolo canale audio venga separato e indirizzato in una propria pipeline dedicata. AMD ha collaborato con GenAudio per consentire ciò, e dalle slide viste finora, sembra che abbiano creato qualcosa di davvero incredibile.
Mentre dal lato dello sviluppo nulla cambia, questa nuova addizione permette non solo un’ottimizzazione delle risorse CPU. Effetti avanzati, uno stadio sonoro più ricco, tracce vocali più chiare e molto altro ancora può essere gestito grazie al minor overhead e al supporto esteso alle applicazioni già esistenti. In aggiunta, i limitatori di mastering permettono ai suoni individuali di essere riprodotti senza distorsioni. A differenza di alcune applicazioni, TrueAudio non è una magica sfera di cristallo che risolve tutti i problemi del mondo, in quanto è progettata per tracciare come obiettivo flussi ad alta definizione, in modo che non tutte le fonti audio vengano elaborate da esso. AMD non taglia fuori la CPU dall’equazione di calcolo, piuttosto fa in modo da creare un ambiente di calcolo eterogeneo e con ruoli specifici per ogni unità di elaborazione.
Come con tutte le iniziative, il fallimento o il successo di TrueAudio dipenderà soprattutto dal desiderio degli sviluppatori di supportarlo o meno. Per quanto possa sembrare un “deja-vu” come con HD3D, Bullet Physics e altri concetti di marketing di AMD degli anni passati da cui non si è mai schiodata, è molto probabile che TrueAudio sia una soluzione che riuscirà a brillare. Gli sviluppatori sono già al lavoro, e AMD ha sofferto molto per rendere il processo di sviluppo quanto più friendly possibile. L’audio è una delle poche frontiere che non è stata ancora esplorata; tutto ciò che migliora l’audio nell’esperienza dei PC è la benvenuta, ma non aspettatevi miracoli. Molto probabilmente le vostre cuffie e le vostre schede audio non avranno cambiamenti sostanziali, ma sistemi più grandi, setup più potenti, potranno avere finalmente la giustizia che meritano. AMD ridefinisce, in pratica, l’audio con le proprie schede video.
Discussione su post