Realizzazione di un player di rete con RuneAudio (rAudio)
Realizzazione

La mia formazione musicale passa dalla radio, dalla chitarra, dalla musica dal vivo, dal vinile e negli ultimi decenni anche dalla musica digitale. In particolare il campionamento digitale della musica maggiore dei 44 khz con risoluzione superiore ai 16 bit, da al suono quella raffinatezza in gamma alta che malgrado tutte le tecniche di oversampling sembra mancare al confronto con il CD. Io stesso ho ripreso concerti di musica classica dal vivo con microfoni di qualità campionando il segnale a 192Khz / 24 bit in formato PCM e nella riproduzione la differenza si sente eccome!
E’ venuto quindi il momento di dotare il mio impianto di un player di rete HiFi fisso.

Un lettore di file digitali si compone sostanzialmente di due moduli: gestione dei file e DAC.
Per la gestione dei file ci si affida a un MPD (music player daemon) cioè un player audio che funziona come client-server e che gira su un sistema operativo ottimizzato per i flussi audio. Per la riproduzione serve un DAC (Digital Analog Converter), praticamente un convertitore di segnale da digitale in analogico. La prima cosa da scegliere è il computer dove far girare il sistema operativo. Certamente si potrebbe utilizzare un portatile o addirittura uno smartphone ma volendo realizzare un apparecchio funzionale che faccia bella mostra nella catena hi fi, l’ideale è un mini compuer dedicato. Il Raspberry Pi4 con 4 GB di Ram, montato in un case predisposto anche come dissipatore passivo, mi sembra abbia tutte le caratteristiche tecniche necessarie alla realizzazione del progetto. La maggior parte dei case per il Raspberry sono muniti di ventolina per facilitare la dissipazione del calore prodotta dal processore ma per l’audio e preferibile un dissipatore passivo per evitare ogni forma di fruscio o rumore indotto. Serve quindi un alimentatore da 5,1 volt capace di erogare almeno 3 Amper per alimentare il mini computer e il modulo DAC; in alternativa si potrebbe usare un power bank da almeno 20Amper purchè le uscite USB siano in grado di erogare corrente superiore ai 2 Amper. In vendita si trovano alimentatori digitali per il Raspberry a meno di 20 euro. Il mio obiettivo è di realizzare un player HI FI e anche se voglio contenere la spesa questa non deve impedirmi dall’ottenere il massimo dai componenti utilizzati. L’alimentazione in piccola parte incide sul risultato finale in termine di qualità audio per cui decido di costruire un alimentatore stabilizzato lineare cercando di ridurre il ripple al minimo. Per l’alimentatore utilizzo un trasformatore toroidale, diodi raddrizzatori ultra veloci, condensatore di livellamento Sprague, integrato operazionale per il controllo della stabilizzazione e transistor di potenza in uscita. Un trimmer mi consente di regolare la tensione di alimentazione. Nella realizzazione vado a stagnare tutte le piste di corrente e di massa del circuito stampato per ridurne la resistenza. Alla fine la misura del ripple si attesta di poco superiore al mv. Con questa alimentazione suona meglio rispetto ad un alimentatore digitale? Sarà una mia impressione ma sembra proprio di si.

Passiamo al sistema operativo da installare nel Raspberry. A mia conoscenza ci sono tre distribuzioni interessanti basate su linux: Volumio; MoOde Audio e Rune Audio. I primi due si basano su Debian (Raspbian per Raspberry) mentre la terza su Arch per Arm. Bisogna anche dire che le prime due sono decisamente più mature mentre RuneAudio e una versione beta in continuo aggiornamento. Come suonano?
Ho provato tutte e tre le distribuzioni in cuffia e nell’impianto e non ho dubbi nell’affermare che ci sono delle piccole differenze udibili tra una distribuzione e l’altra. Chiaramente è un mio giudizio che tiene conto solo della qualità audio e non delle diverse funzioni e facilità d’uso che una distribuzione può avere rispetto l’altra. Ma il player che vado a costruire farà parte della catena del mio impianto e anche se le differenze sono minime, a certi livelli sono le piccole differenze che fanno la differenza!
Procediamo con ordine: Volumio è sicuramente la distribuzione più facile da configurare e utilizzare, la più “user friendly” ma è anche quella che nel suono metto al terzo posto. MoOde Audio si guadagna il secondo posto mentre, anche se non è una versione definitiva, RuneAudio o Raudio è quella che preferisco. Un’altra distribuzione sempre basata su linux è Daphile. Questa distribuzione non è compatibile con il Raspberry ma deve essere installata su un qualsiasi pc anche di modesta potenza. Come le altre, viene gestita con un browser, tramite rete cablata o wifi. La riproduzione audio è molto buona, la gestione tramite l’interfaccia web non mi sembra il massimo. In ogni caso dopo averla confrontata con Raudio continuo a preferire quest’ultimo.
Per quanto riguarda il DAC esistono diverse schede che variano nel CHIP che opera la conversione D/A (Digitale/Analogico) e nella scelta e qualità dei componenti. Alcune schede sono dedicate proprio all’uso con il Raspberry e si interfacciano direttamente, altre hanno un uso più generico e si interfacciano tramite USB. Il trasferimento dei dati digitali al DAC può avvenire tramite USB o tramite I2S cioè un’interfaccia seriale usata per connettere assieme dispositivi audio digitali. Il bus I2S separa il clock dagli altri dati seriali, ottenendo un valore di Jitter più basso. Quest’ultima interfaccia sembrerebbe l’ideale ma nella realtà una scheda ben progettata può contenere il valore del Jitter anche se il segnale viene prelevato tramite USB. Ma che cosa è il Jitter? su Wikipedia viene definito: “In elettronica e telecomunicazioni con il termine jitter si indica la variazione di una o più caratteristiche di un segnale come, ad esempio, l’ampiezza, la frequenza o la fase. Le cause che portano alla comparsa di jitter devono essere tenute in forte considerazione nella progettazione dei sistemi e nelle componenti di un computer, come l’USB, il PCI-e, il SATA, l’OC-48”. In effetti il jitter è legato al Clock e puo essere generato sia nella fase di campionamento analogico/digitale sia nella fase di conversione da digitale in analogico. Se poi andiamo a vedere che il segnale digitale altro non è che una sequenza programmata di “impulsi” 0 e 1 e se in qualche modo la sequenza può venire “sporcata” da interferenze esterne, gli errori nella decodifica D/A possono aumentare aumentando il jitter. Senza entrare maggiormente in dettagli tecnici quello che si può desumere che sia nel segnale analogico che digitale il risultato non sarà mai perfetto ma questo non significa che l’ascolto di un brano non sia godibile. Per analogia si potrebbe rapportare il fruscio delle amplificazioni analogiche con il rumore di ambiente nell’ascolto dal vivo e il jitter nelle conversioni digitali. Tutte queste cause che sporcano il suono dalla perfezione non impediscono all’orecchio, che non ha un sensibilità così elevata e costante nel tempo, di godere e carpire le differenze di una buona riproduzione musicale.
Ho sentito diversi DAC e alla fine ho deciso di utilizzare una scheda basata su un CHIP della ESS Sabre. La scelta cade sulla Khadas Tone Board, complice anche la buona recensione sul sito audiosciencereview. Questa scheda ha tutto quello che serve per la decodifica di qualsiasi formato di file audio: file PCM fino a 768kHz, DSD256 con risoluzione fino a 32 bit e altri formati come flac e mp3. Per assemblare il tutto ho scelto un contenitore con laterali in alluminio e base e parte superiore in lamiera verniciata. Un lato farà da dissipatore al circuito di alimentazione . Il ferro dovrebbe assicurare una migliore schermatura alle interferenze. Il frontale l’ho realizzato in legno per dargli un tocco personale. Sul frontale ho montato un’interruttore a pulsante con spia luminosa.

La scheda DAC si collega al Raspberry tramite USB. Ha già in dotazione un cavo usb da un metro per il collegamento. Montando un cavetto USB di 75 cm della Audioquest, rispetto il cavo USB in dotazione alla Khadas Tone Board, mi è sembrato di notare una maggiore ariosità anche se la differenza tra i due cavi è appena percettibile. Utilizzando un cavo corto di 15 cm di buona fattura la riproduzione audio è altrettanto valida. Quest’ultima soluzione dovrebbe essere preferita quando il DAC è posizionato accanto al Raspberry.
L’uscita analogica del DAC raggiunge 2 volt RMS quindi potrebbe tranquillamente pilotare il finale di potenza ma preferisco collegarla al preamplificatore assieme alle altre periferiche.
A lavoro finito bisogna preparare il sistema operativo per il Raspberry. Volumio e MoOde rilasciano file immagini pronte da scaricare e trasferire su una scheda micro sd . La scheda può essere preparata con Unetbootin, un programma gratuito scritto per Linux, Windows e Mac. Per Rune Audio la preparazione del sistema operativo, al momento, richiede qualche passaggio in più.
Aggiornamento: è possibile scaricare l’immagine ISO di Rune Audio (rAudio) da questo link e installarla sulla scheda micro sd con imgeWriter o Unetbootin.
Questi sistemi operativi dedicati trasformano il Raspberry in un piccolo server che può funzionare anche senza monitor e tastiera collegati. La gestione e configurazione si può fare tramite collegamento alla rete aprendo l’interfaccia dedicata.

