White Paper su hiFace hiFace nasce da un’idea di Pierre Bolduc, direttore di Audiophile Sound, durante una conversazione con Marco Manunta: offrire agli appassionati di musica un’interfaccia ad elevate prestazioni per ascoltare, tramite il DAC del proprio impianto hi-fi, la musica “liquida” memorizzata sul proprio PC. La scelta di realizzare una interfaccia dedicata è nata dopo aver verificato le prestazioni delle interfacce digitali disponibili sulle schede audio commerciali per PC o sui MacIntosh e dopo una attenta analisi dei prodotti di simile funzione già presenti sul mercato. E’ emerso che, senza eccezione, tutte le uscite digitali S/PDIF attualmente disponibili per l’utente che desideri ascoltare musica usando il PC come sorgente digitale, sono affette da due pesanti limitazioni: l’interferenza del kernel mixer in ambiente Windows e un rilevante jitter. Inoltre, a parte pochissime eccezioni, le interfacce non superano i 96kHz di frequenza di campionamento, rendendo impossibile l’ascolto di file a 176.4kHz o a 192kHz, ormai disponibili su più siti web. La frequenza di campionamento La stragrande maggioranza delle schede audio per PC non superano i 96kHz di frequenza di campionamento sulle proprie uscite digitali. Questo per vari motivi, il principale è che le attuali specifiche audio di Windows non prevedono risoluzioni maggiori e quindi è, in linea di principio, inutile offrire ad un costo superiore prestazioni non accessibili in un ambiente standard. Per questo motivo, anche driver audio dedicati non superano questa frequenza di campionamento. Inoltre, la maggior parte delle interfacce USB con uscita digitale S/PDIF o ottica utilizzano chip commerciali dedicati all’audio che soffrono anch’essi, per gli stessi motivi, di questa limitazione. hiFace è stata invece realizzata utilizzando un chip di interfaccia USB ad alte prestazioni non specifico per uso audio che è in grado di superare qualunque limitazione prestazionale. Realizzando un driver specifico, abbiamo fatto si che hiFace venga vista dal computer come una scheda audio USB capace di lavorare fino a 192kHz/24bit. Il kernel mixer ed il Kernel Streaming Il sistema operativo Windows XP, ed in parte anche Vista e 7, hanno una entità che gestisce il flusso di dati audio verso le periferiche deputate alla loro conversione, che si chiama kernel mixer. Il kernel mixer entra in gioco tutte le volte che un player colloquia con una periferica in modalità Direct Sound. Per esempio, questa è l’unica modalità con cui attualmente funziona Windows Media Player. Il kernel mixer effettua una serie di elaborazioni sul flusso audio, alterando quindi i campioni estratti dai file. Tra le altre cose, effettua due cambiamenti di formato, da numeri interi (come sono memorizzati in genere i dati nei file audio) a numeri in virgola mobile e viceversa. Ma soprattutto, effettua operazioni di troncamento della parola su cui sono rappresentati i campioni. Queste elaborazioni introducono inevitabili approssimazioni dovute alla aritmetica in dimensione finita di tutti i processori, approssimazioni che si traducono in rumore, aumento della distorsione, peggioramento della qualità del suono. Inoltre, il funzionamento del kernel mixer determina un pesante carico della CPU, il cui uso, quando si ascolta musica in modalità Direct Sound, può arrivare quasi al 100%. L’ideale sarebbe poter utilizzare un’altra modalità di colloquio tra player e periferica, chiamata Kernel Streaming, che “salta” il kernel mixer. Per ottenere ciò sono stati creati particolari driver. Essi permettono di utilizzare in modalità Kernel Streaming periferiche nate per funzionare in modalità Direct Sound. Il problema è che questi driver non sono disponibili per tutte le periferiche e determinano di nuovo un pesante carico per la CPU e fa si che non tutti i PC possano lavorare con questi driver a frequenze di campionamento superiori a 48kHz senza “balbettare”. Il driver di hiFace è un driver proprietario realizzato per colloquiare con il player in modalità Kernel Streaming a basso livello. Esso fa a meno di qualunque altro driver e permette che i dati raggiungano l’interfaccia con grande facilità e senza alcuna alterazione indesiderata da parte del sistema, garantendo flussi di dati “bit perfect” e riproduzione a 192kHz anche su PC di prestazioni non al top, come un netbook con processore Atom 270, si possano ascoltare brani a 192kHz senza problemi. Abbiamo fin qui parlato di problematiche e soluzioni legate all’ambiente Windows. Vedremo che anche in ambiente Mac e Linux, che pure non hanno problemi di kernel mixer, hiFace rappresenta un miglioramento rispetto alle schede audio interne. Il jitter, il rumore di fase e la precisione della frequenza di campionamento Il jitter è una variazione a breve termine della frequenza di campionamento in una trasmissione di audio digitale. Idealmente, il tempo di interarrivo dei vari campioni audio dovrebbe essere sempre uguale e pari al reciproco della frequenza di campionamento: circa 22,67574us a 44.1kHz, circa 5,2083us a 192kHz. Questo è anche l’intervallo a cui i vari campioni sono stati acquisiti durante la registrazione del brano. Il DAC deve quindi, per offrire le massime prestazioni sonore, ricevere e convertire i campioni con la stessa identica cadenza. La stabilità della frequenza di campionamento in trasmissione è legata alla stabilità dell’oscillatore di riferimento del circuito integrato trasmettitore. Nelle schede audio e anche in quasi tutte le interfacce USB, tale riferimento è ottenuto dall’unico oscillatore al quarzo presente sulla scheda, attraverso un circuito chiamato PLL che sintetizza la frequenza di trasmissione a partire da quella del quarzo. Si tratta di una soluzione comoda ed economica ma che non permette di ottenere grande stabilità sulla frequenza sintetizzata. Per questo motivo, il jitter in uscita dalle schede audio è in genere abbastanza elevato. Ancor di più quando si usa un’uscita ottica, in quanto le limitazioni delle fibre ottiche usate per lo standard Toslink ed il jitter introdotto dai convertitori elettrico/ottico e ottico/elettrico aggiungono ulteriore instabilità al clock di trasmissione. Il jitter dipende anche dai disturbi captati sulla linea di trasmissione (il cavo coassiale, nel caso dell’S/PDIF) e da altri problemi come il disadattamento di impedenza della linea e la capacità di pilotaggio del circuito trasmettitore. Un secondo limite dei PLL è che raramente riescono a sintetizzare l’esatta frequenza desiderata se il quarzo di riferimento non produce una frequenza multipla o sottomultipla di quella di uscita. Dato che le frequenze di base dell’audio sono 44.1kHz e 48kHz, non è possibile, con un solo riferimento, ottenere con assoluta precisione entrambe le frequenze. hiFace utilizza, al posto del PLL, due oscillatori al quarzo di elevatissima stabilità e bassissimo rumore di fase. In condizioni ambientali normali la precisione è pari a circa 2,5ppm: essi, cioè, sbagliano al massimo di 2,5Hz per ogni MHz. Dunque, a 192kHz il massimo errore introdotto sarà di 0,5Hz! Al contrario, un PLL determina errori anche del 25%: significa che a 192kHz si potrà avere uno scostamento dal valore ideale pari a quasi 10kHz. Dunque, si crede di ascoltare alla giusta frequenza di campionamento ma si ascolta in realtà ad una frequenza diversa e tutti gli strumenti risultano “non accordati”. Un altro problema dei PLL è il rumore di fase. Esso è il principale responsabile del jitter. Gli oscillatori usati in hiFace hanno prestazioni incredibili sul rumore di fase: -78dBc a 10Hz e ben -140dBc a 1kHz. Il segnale S/PDIF prodotto da hiFace è dunque afflitto da bassissimo jitter, grazie anche all’utilizzo di un trasmettitore S/PDIF di elevate prestazioni come il DIT4192 della BurrBrown/Texas. Ovviamente, il jitter può essere peggiorato dall’utilizzo di un cavo non appropriato (non a 75 Ohm e/o non sufficientemente schermato) o dalle scarse prestazioni del ricevitore S/PDIF del DAC. Per questo motivo, sconsigliamo di valutare il jitter dell’interfaccia analizzando toni sinusoidali in uscita dal DAC: essi potrebbero essere affetti da problemi non dovuti all’interfaccia che ne mascherano le prestazioni. La soluzione ideale è quella di analizzare il diagramma a occhio sulla linea, ma per questo occorrono strumentazioni da laboratorio dedicate a questo genere di misurazioni. Affidatevi dunque alle vostre orecchie.