Foobar2000 – Step 4.3: Configuriamo Foobar2000! Pt.3

Oggi si rende tutto controllabile da remoto!

Lo faremo da piattaforma Android e la spiegazione è molto semplice: io utilizzo allo scopo il mio vecchio Asus/Google Nexus 7 che è ormai obsoleto per fare qualsiasi.
Non volendo disfarmene ho, però, deciso di dargli una seconda possibilità rendendolo il “telecomando di Foobar2000” e la cosa è davvero un gioco da ragazzi.

Per prima cosa vi consiglio, davvero caldamente, di assegnare un indirizzo IP statico al vostro PC. Questo renderà davvero agevole tutto il processo di primo avvio dell’app e ogni successiva iterazione tra “Telecomando” e “Player”.

Fatto ciò non bisogna fare altro che accedere al Play Store e cercare l’app “Foobar2000 controller” (QUI il link diretto), installarla (è gratis) e seguire le poche e semplici istruzioni.

Per comodità, di tutti, le indico anche qui passo-passo così da guidarvi e fornirvi tutte le indicazioni pratiche del caso:

  • La prima schermata potete skipparla a pié pari. Di fatto vi avvisa che avete installato un’applicazione che NON riproduce musica sul dispositivo ma che vi servirà per controllare il PC su cui Foobar2000 è in esecuzione.
  • Nella seconda schermata, invece, viene fornito il link a cui collegarsi per scaricare, e installare, i componenti necessari al corretto funzionamento del sistema (QUESTO il link da aprire sul PC in cui Foobar2000 è installato).
    Vedrete che il link rimanda ad un servizio di stoccaggio/condivisione di file e che state per scaricare un file eseguibile chiamato “Foobar2000 controller [PC-side setup] v2.0.1.exe”. Cliccate il pulsante “DOWNLOAD (457.51KB)” verde in alto a DX.
  • A download terminato lanciate l’eseguibile appena scaricato, inserite – se richieste – le credenziali di amministratore di sistema, e seguite il semplice wizard di installazione selezionando tutte le opzioni installabili (sono tre: “Installation files”, “HTTP Control 0.97-14-fb2k” e “Playback statistics”).
    L’installer a questo punto riconoscerà la versione di Foobar2000 installata a sistema e ve lo notificherà.
  • FATE ATTENZIONE AL PERCORSO FILE DI INSTALLAZIONE!
    L’Installer andrà di default ad installare il componente nella cartella relativa all’account amministratore inserito.
    Per risolvere la cosa dovete “semplicemente” modificare il nome utente presente nel percorso file indicato nella finestra di dialogo con quello dell'”utente base” dedicato a Foobar2000 (o del vostro utente attuale se non amministratore). La correttezza dell’informazione compilata vi sarà data, in diretta, perché vi verrànno consigliate tutte le sottodirectory esistenti.
    NON MODIFICATE ALTRO SE NON IL NOME UTENTE.
    Una volta fatto ciò cliccate “OK”.
  • A questo punto il componente, e tutte le sue componenti, viene effettivamente installato a sistema (ci vorranno pochi secondi).
    Premete “Next” e, se tutto è andato a buon fine, arriverete al prompt di conferma dell’installazione.
    Il file “Read Me” è un pro-forma che vi ringrazia per aver installato il software e vi conferma che da adesso siete abilitati all’utilizzo dell’applicazione di controllo remoto.

L’installer non lo chiede ma io vi consiglio di riavviare il PC. Così facendo “sveglierete” il firewall di Windows Defender che vi chiederà di abilitare l’applicazione Foobar2000 alle connessioni in entrata per le varie tipologie di rete disponibili (private o pubbliche).
Ricordate che all’inizio della guida vi avevo detto di configurare la vostra rete domestica come “Rete Privata”? Ecco: questo è il momento in cui la cosa vi sarà davvero utile.
Date l’abilitazione a Foobar per “rendersi visibile” sulle reti private e NON datela per le reti pubbliche. O, se proprio volete farlo, prendetevene tutte le responsabilità.

Tornate adesso al vostro tablet/telefono “telecomando” e andate avanti con la configurazione guidata dell’applicazione.

La terza schermata vi chiederà come intendete ricercare il PC sulla rete e qui le strade sono due:
– Se “Telecomando” e PC sono sulla stessa rete/Subnet potete tranquillamente premere il tasto “Auto” senza nessun timore; ci vorrà un po’ ma alla fine il PC sarà visto.
– Se “Telecomando” e PC sono sulla stessa rete ma hanno subnet differenti (difficile ma non impossibile – nel mio caso è così) vi consiglio di risalire all’indirizzo IP del PC e configurare il tutto manualmente.

Una volta che l’applicazione avrà correttamente individuato il PC, e si sarà “legata” ad esso, avrete pieno controllo di Foobar2000 e, quindi, della riproduzione.

Piccola nota a margine:
L’applicazione controlla SOLAMENTE la riproduzione e non tutte quelle che sono le impostazioni e regolazioni della stessa.
Ciò significa che per modificare l’abilitazione, o le caratteristiche di implementazione, di qualsiasi componente, così come la modifica di qualche variabile di sistema dovrete accedere al PC.

L’applicazione stessa è utilizzabile, ovviamente, anche per controllare la riproduzione dalla poltrona su quei sistemi che prevedono libero accesso al PC. Nulla vi vieta di farlo.

Per qualsiasi dubbio o richiesta di chiarimento su quanto detto/fatto fino ad ora vi invito a utilizzare i commenti qui sotto.

Buoni ascolti (in comodità).

Componenti di Foobar2000 – HDCD decoder

Eccoci col primo appuntamento dedicato ai componenti di Foobar2000.

Non so se ve lo ricordate ma qualche tempo fa ho scritto un articolo sugli HDCD e sul fatto che, non avendo più un lettore in grado di decodificare tale formato, stavo studiando un modo per effettuare la decodifica in fase di ripping dei CD così da ottenere un file FLAC contenente tutte le informazioni già pronte da dare in pasto al DAC senza preoccuparmi di null’altro.

Facendo 2+2, dando per scontato che seguiate il blog e avete letto il titolo del post, avrete capito che ho risolto il mio cruccio tramite Foobar2000 ed il suo componente dedicato al decoder HDCD che potete scaricare, nella sua ultima versione, a questa pagina.

Una volta scaricato, installato e reso operativo (riavviando Foobar2000) il plugin non vedrete assolutamente nulla di diverso a livello di interfaccia né avrete alcuna indicazione sul fatto che il decoder sia o meno attivo in fase di riproduzione di quei brani provvisti di tale codifica per cui, come me, vi troverete spiazzati senza sapere che pesci pigliare.
Non preoccupatevi che adesso vedrò di darvi una mano a capire e sfruttare bene il componente appena installato.

La prima cosa da fare, ovviamente, è verificare la presenza di tracce HDCD nella nostra libreria. Per fare ciò è sufficiente:

  • selezionare la voce “All Music” nella scheda di visualizzazione della libreria (la prima voce in alto)
  • cliccare col tasto destro del mouse
  • andare alla voce “Utilities”
  • selezionare l’opzione “Scan for HDCD Tracks”

Il processo richiederà un po’ di tempo in base all’estensione della vostra libreria musicale. Nel mio caso la scansione è stata completata in circa 20 minuti.
Nel riquadro “Processing”, che nello screenshot è vuoto, vengono visualizzati i file attualmente in elaborazione; l’elaborazione stessa è effettuata in ordine casuale (o almeno così mi è parso di intuire).

A scansione ultimata, portate pazienza nel caso in cui la vostra libreria sia pesante, Foobar2000 visualizzerà una finestra che elenca tutte le tracce HDCD presenti nell’archivio e le varie “opzioni” di codifica presenti.


Se adesso provate a riprodurre una delle tracce HDCD rilevate vedrete, con piacere, che non avete ancora modo di capire se il decoder sta lavorando né come sta lavorando… E questa è una cosa che a me ha fatto un po’ innervosire.
Il sistema rileva gli HDCD, in teoria li gestisce, e decodifica correttamente ma non ho modo di sapere se lo stia facendo veramente o meno.

Fortunatamente da questo punto di vista ci viene in aiuto la completa personalizzazione dell’interfaccia grafica di Foobar2000 e delle informazioni visualizzabili a schermo.
Interpellando le giuste variabili e visualizzando le giuste informazioni saremo in grado di far visualizzare tutto ciò che ci interessa sapere in modo davvero chiaro e trasparente.

Ecco come:

  • Aprite le preferenze dell’applicazione (File/Preferences)
  • Espandete la voce “Display”
  • Selezionate la voce “Default User Interface”

A questo punto la finestra vi mostrerà una finestra in due sezioni: la parte in alto riguarda la gestione del “Tema” per cui dell’aspetto generale del software mentre la seconda, quella che ci interessa, riguarda la personalizzazione delle informazioni di riproduzione “Playback state display formatting”.

L’area si divide in tre parti:

  • “Window Title”: come si insuisce è l’insieme di informazioni visualizzate come titolo della finestra di Foobar2000 (in alto a SX)
  • “Status bar”: sono le informazioni visualizzate nella barra di stato del riproduttore (in basso a SX)
  • “Notification area icon tooltip”: sono le informazioni che verranno rese disponibili puntando il mouse sull’icona di notifica che viene visualizzata, nell’area di notifica appunto, quando si “minimizza” il software.

A titolo di esempio di seguito vedete le mie impostazioni e le informazioni che visualizzo a schermo:

Come vedete nella barra del titolo ho inserito un flag che mi avvisa quando il decoder è attivo aggiungendo la voce “HDCD: ON” in testa al titolo stesso.

La barra di stato, invece, visualizza più informazioni e in dettaglio:

  • Se la traccia in riproduzione viene abilitata la sezione “HDCD” che si compone di tre elementi:
    • Peak Extender: restituisce valore “yes” se codificato all’interno della traccia, e quindi decodificato dal componente, oppure “no” se assente
    • Low Level Eq: riporta il valore in dB inserito all’interno della codifica per quanto riguarda l’estensione dinamica, o la compressione dinamica, inscritta nei bit aggiuntivi
    • Transient Filter: si comporta analogamente alla voce “Peak Extender”

Le informazioni legate alla decodifica del formato HDCD, però, non si fermano solamente qui per quanto riguarda la barra di stato: il file in riproduzione è un FLAC a 16 bit (come indicato nella scheda in alto a DX) ma, come si può vedere dalla barra di stato, il software sta gestendo un input a 24 bit. Questa è un’ulteriore conferma dell’attivazione del plugin nonché un’altra cosa da “inserire manualmente” nel sistema perché non prevista di default.

Per facilitarvi un po’ il lavoro vi riporto qui di seguito le stringhe da inserire per visualizzare le info così come le ho impostate io (copiate ed incollate SOLO la parte in grassetto e corsivo):

  1. $if($info(hdcd),’HDCD: ON – ‘) Visualizza la stringa “HDCD: ON – “
  2. $if($info(hdcd),’HDCD:’) $if(%__hdcd%,Peak Extender:%__hdcd_peak_extend%’ ‘ Low Level Eq:%__hdcd_gain%’ ‘Transient Filter:%__hdcd_transient_filter%’ ‘) Visualizza tutte le informazioni di codifica presenti nel file impaginate come spiegato poco sopra.
  3. %__bitspersample% bits / %samplerate% Hz Visualizza le informazioni di profondità di bit e frequenza di campionamento del flusso dati in riproduzione. Si tratta dei dettagli “in ingresso” ai DSP e non “in uscita” dagli stessi. Ergo: non vedrete ricampionamenti o resampling vari; vedrete le proprietà del file così come viene decodificato.

Per rendervi ancora più facile e pronto il tutto queste sono esattamente le mie impostazioni di visualizzazione:

  • Window title
    $if($info(hdcd),’HDCD: ON – ‘)[%album artist% – ][%album%: %tracknumber% -] %title%
  • Status bar
    $if($info(hdcd),’HDCD:’) $if(%__hdcd%,Peak Extender:%__hdcd_peak_extend%’ ‘ Low Level Eq:%__hdcd_gain%’ ‘Transient Filter:%__hdcd_transient_filter%’ ‘)| %codec% | %bitrate% kbps | %__bitspersample% bits / %samplerate% Hz | %channels% | %playback_time%[ / %length%]
  • Notification area icon tooltip
    $if($info(hdcd),’HDCD: ON – ‘)%artist% – %title%

Spero di esservi stato utile. Se avete dubbi o domande chiedete nella sezione commenti che vedrò di aiutarvi per quanto possibile.

Buoni ascolti!

Foobar2000 – Step 4.2: Configuriamo Foobar2000! Pt.2

Se sei arrivato fino a qui è perché non ti basta poter ascoltare la tua musica da Foobar2000 con le impostazioni di default.
Anche perché, a volerla dire tutta, non stai nemmeno ascoltando esattamente la tua musica ma stai facendo rielaborare i tuoi file dal mixer di Windows che si sta occupando di prendere lo stream originale, se così possiamo definirlo, e riconvertirlo (non so con che tipo di algoritmo/approssimazione/fedeltà) a quella che è la configurazione impostata per il dispositivo audio in uso.

Come fare per risolvere questo problema e passare al cosiddetto Bit-Perfect?
La risposta è abbastanza semplice e, almeno in teoria, funziona per tutti i DAC riconosciuti dal sistema: bisogna installare un componente di Foobar2000 (e quindi iniziare ad apprezzare appieno la modularità del sistema) per bypassare il mixer di Windows e fare in modo che il flusso dati sia portato ad un livello macchina che sia il più basso possibile.
Microsoft stessa ha sviluppato una serie di API utili a tale scopo che rientrano nel cosiddetto WASAPI o, per esteso, “Windows Audio Session API” e, fortunatamente per noi, qualcuno si è preso la briga di studiarsi tali istruzioni ed integrarle in un componente che ha l’esatto compito di rendere Foobar in grado di interfacciarsi direttamente con il nostro dispositivo USB: tale componente si chiama “WASAPI Output Support” ed è arrivato alla sua versione 3.3.

Per scaricare il componente in questione cliccare QUI e cliccare Download. Una volta terminato il download del file dovrete, molto semplicemente, lanciarlo e seguire le istruzioni a video per procedere con l’installazione. Vi sarà chiesto di riavviare Foobar2000 e, come per magia, vi comparirà nell’elenco dei componenti installati assieme a quelli già presenti di default (l’elenco è visibile dal menù Preferences).

Bene, ora che abbiamo scaricato ed installato il componente non ci resta altro da fare se non attivarlo in tutto e per tutto.

Per fare ciò dobbiamo andare al pannello di gestione dell’Output (Playback/Output) e selezionare come dispositivo di uscita WASAPI (event o push): Nome del nostro DAC. Vi consiglio di iniziare selezionando la voce con funzionamento PUSH perché maggiormente compatibile; spiegherò più avanti le differenze tra le due modalità di esecuzione.
Una volta selezionato il nostro dispositivo vedrete che le opzioni riportate sotto alla gestione del buffer (di default impostato a 1000 ms) sono diventate accessibili e modificabili: impostate la profondità di bit, come suggerito anche da Foobar stesso, alla massima dichiarata per il vostro DAC mentre per quanto riguarda la voce “Buffer Lenght” dovrete sperimentare un po’, più avanti, per adeguare tale “riserva di musica” al vostro setup definitivo.
Considerate, però, che un buffer troppo corto può risultare in una riproduzione intermittente e un buffer troppo lungo può causare (anzi causa) ritardi di risposta del sistema.

Se provate ad avviare la riproduzione di un qualsiasi brano adesso, SENZA ATTIVARE nessun DPS (anche perché non ne abbiamo ancora parlato), vedrete che il vostro DAC aggancia il segnale alla frequenza di campionamento del pezzo in riproduzione. State ascoltando in “Bit-Perfect”.

Ora vediamo quali sono le differenze tra le due modalità operative del componente WASAPI:

  • In modalità Push, in sostanza, è il PC a gestire il flusso dei dati indipendentemente dallo stato del DAC e dell’effettiva capacità dello stesso di immagazzinare e, soprattutto, elaborare e decodificare i dati stessi. Nonostante questi “inconvenienti” vi consiglio comunque di iniziare con questa impostazione perché è quella compatibile con praticamente tutti i DAC in commercio (o meglio con i ricevitori USB installati sugli stessi)
  • In modalità Event, invece, inverte la gestione del flusso e il carico di lavoro passa direttamente al controller USB del DAC in uso. Di fatto, se supportata dal dispositivo, rende l’approvvigionamento dei dati realmente asincrono e completamente slegato dal PC per cui potenzialmente migliore.

All’atto pratico i due sistemi, se correttamente implementati e funzionanti, non hanno alcuna differenza all’ascolto ma differiscono a livello di bilanciamento del carico di lavoro.

Bisogna, però, tenere conto che con la modalità Push il PC gestisce il flusso, e quindi lo subordina all’eventuale elaborazione dei dati (sovracampionamento, filtraggio, equalizzazioni e così via) rischiando di saturare il buffer del DAC (che a sua volta attua elaborazioni del segnale) qualora l’elaborazione dei dati fosse troppo veloce (eventualità veramente difficile perché “regolata” dallo stream/durata del bano); d’altro canto la modalità Event potrebbe fare in modo che il DAC richieda dei dati non ancora disponibili, perché non ancora elaborati dal PC, causando dei vuoti di memoria (eventualità assai più probabile perché il controller USB integrato nel DAC non sa a che ritmo deve gestire il flusso dei dati).

Per ovviare a questi problemi bisogna intervenire modificando la dimensione del buffer di uscita di Foobar2000 che ha lo scopo di uniformare il flusso dei dati in uscita dal sistema. Sia che questi siano spinti fuori dal PC sia che questi siano tirati dentro il DAC.
Ogni combinazione PC/DAC trova il suo equilibrio in un valore differente impostato per tale cuscinetto. Valore che può essere trovato solo sperimentalmente, e da voi, in base alle configurazioni in uso sul vostro sistema.
Io, nel mio caso, utilizzo la modalità Push e vivo sereno.

Ribadisco però il concetto fondamentale:

LE DUE IMPOSTAZIONI NON HANNO NESSUNA DIFFERENZA ALL’ASCOLTO A PATTO CHE LA RIPRODUZIONE SIA CONTINUA E PERFETTAMENTE FLUIDA.

E con questa pagina si conclude la nostra vventura circa la configurazione di Foobar2000 intesa alla riproduzione Bit-Perfect, e quindi pienamente fedele al flusso dati originale.

Nei prossimi capitoli ci concentreremo sull’installazione e utilizzo delle componenti necessarie, a mio modo di vedere, al fine di sfruttare appieno il software; allo stesso tempo vedremo anche come modificare l’interfaccia utente così da poter verificare il corretto funzionamento del sistema.
Vedremo, inoltre, come aggiungere delle webradio alla libreria.

Ovviamente arriveremo anche al nocciolo della questione: rendere remotabile il sistema.

Finalmente posso scriverlo:

Buona musica!