Translate

8.12 Bit Perfect

MPD invia sempre in automatico il file audio nel formato audio che legge (bit depth e sample rate) al driver audio ALSA senza dover configurare nulla ogni volta che ascoltiamo file audio con formati diversi tra loro. Durante l'ascolto, per verificare che il file audio che sta riproducendo MPD non è affetto da upsampling o oversampling e venga quindi riprodotto in bit-perfect (solita paranoia audiofilo-informatica!!), digitate sul solito terminale questo comando (per averne la sicurezza scientifica!)

cat /proc/asound/card0/pcm0p/sub0/hw_params

(per alcuni di voi sarà necessario cambiare "card0" con "card1" o "pcm0p" con "pcm1p", dipende da come Linux chiama l'uscita analogica o digitale della vostra scheda audio, v. sopra)


Esempio n. 1
CD (16 bit - 44100 hz)


Esempio n. 2
File hi-res (24 bit - 44100 hz)


Esempio n. 3
File hi-res (24 bit - 48000 hz)


Esempio n.4
File hi-res (24 bit - 88200 hz)


Esempio n. 5
File hi-res (24 bit - 96000 hz)


Esempio n. 6
File hi-res (24 bit - 176400 hz)


Esempio n. 7
File hi-res (24 bit - 192000 hz)



Come potete notare, la mia scheda audio supporta formati ("bit depht") 16 bit e 24 bit con qualsiasi "sample rate" (Non fatevi ingannare dal valore "format=S32_LE". Tutte le schede audio con chip CMI8788 richiedono che i "sample" a 24 bit siano allineati in memoria come parole a 32 bit. Gli otto zeri così aggiunti saranno ignorati dall'hardware senza che ciò possa avere alcun effetto sul "bit-perfect"). MPD non "tocca" assolutamente nulla, invia solamente il dato audio, il file, al DAC esterno o interno alla scheda audio. Questo è bit-perfect o bit-exact, se preferite chiamarlo così. Per chi usa Ubuntu o altre distribuzioni, consiglio di disinstallare "Pulse Audio" che, invece, non è presente in "Voyage MPD". 


Per avere certezza che nessun "resample" a 48000 hz venga effettuato dal mixer (come accadrebbe se non avessimo detto ad MPD di inviare il flusso dati direttamente al DAC - DAC interno della scheda audio o DAC esterno - grazie alla stringa "hw:0,0", saltando, "bypassando" dmixer, il mixer del driver audio ALSA) controllate con il comando "top" l'uso del processore:


Come potete notare (v. foto), il mio processore da 1,6 Ghz sta usando l'1,5% delle sue risorse (qualora stessi riproducendo un file audio .wav senza compressione e quindi senza necessità di decodifica la percentuale scenderebbe a 0,3%) mantenendo in background solo pochissimi processi non in esecuzione. Qualora invece il mixer stesse facendo resample a 48000 come di default (senza specificare al driver ALSA di inviare il flusso dati audio direttamente alla scheda audio es.: "hw:0,0") la percentuale sarebbe sicuramente maggiore superando il 20% come ho potuto constatare. Notate inoltre come l'unico processo attivo ed in esecuzione sia MPD come potete notare (v. foto) e come l'intero sistema operativo stia usando quasi tutti i 2 GB di memoria RAM di cui dispone il sistema.