Introduzione
Lo scopo di questa guida è quello di istruire l'utente all'uso di Logitech Media Server e Squeezelite.
Entrambi i software hanno necessità di essere installati in un sistema operativo. La descrizione che segue è orientata all'utilizzo prevalente di installazioni sotto Linux che a ragione o torto viene ritenuto da chi scrive il sistema in grado di offrire per la sua elasticità e potenza le migliori performance in sede d'ascolto finale. Per la natura stessa dei due programmi che funzionano in network per offrire il massimo di prestazione, dopo molte sperimentazioni e prove si è dovuto constatare che la differenziazione in programma Server assunta da L.M.S e programma Player puro assunto da Squeezelite dovevano esitare in due macchine distinte: PC server con LMS + PC player minimale fanless direttamente collegato al DAC via USB e via LAN al PC server. Nelle possibili configurazioni di questo sistema si puo' anche far risiedere in una sola macchina sia il server LMS che il Player Squeezelite.
Allo sviluppo del sistema hanno partecipato diversi utenti che hanno portato contributi estremamente importanti ma sicuramente il più grande passo evolutivo è stato letteralmente la scoperta di due soluzioni molto innovative e determinanti per il cambio di marcia del sistema nella sua configurazione di partenza. I software messi a punto dal Nostro Amico Marco Curti esperto di programmazione che sono il Plugin C3PO per LMS e una versione modificata nel codice di Squeezelite che ha preso il nome definitivo di Squeezelite-R2
Logitech Media Server 7.9 è un software la cui funzione è multilivello, vale a dire che la sua azione si svolge adempiendo a diverse funzioni.
Funzione database:
- si incarica di riconoscere i dischi e il loro contenuto
- riconosce i file e il loro nome
- organizza i file come un database
- riconosce le tracce audio contenute in cartelle
- riconosce il formato delle tracce
Funzione di decodifica:
L.M.S. riconosce diversi formati audio lossless e lossy.
Ogni formato viene decodificato e preparato per inviare uno stream che viene impacchettato per essere gestito in rete secondo il protocollo TCP. Chi è deputato a ricevere, riconoscendo lo stream nel suo formato in output, è un altro programma, inscindibile da L.M.S. per funzionare - Squeezelite.
Nella sua funzionalità originaria sia L.M.S. che Squeezelite utilizzano FLAC come codifica riconosciuta e preferenziale.
In origine quindi il formato PCM WAV o AIFF è in sostanza inutiliizzabile se prima L.M.S. non si occupa di trasformarlo in FLAC. Questo è un grave difetto.
Vedremo in seguito che un fondamentale intervento praticato a due livelli su questo bug è stato:
- modificare Squeezelite per abilitarlo a gestire il PCM;
- includere in L.M.S. nella forma Plugin, quindi come componente, il software C3PO.
Il plugin C3PO opera, dopo la decodifica, una transcodifica utilizzando il programma SOX incluso in LMS. SOX è il deputato a operare la transcodifica da FLAC o da altri formati nella produzione del formato PCM WAV o AIFF. Siccome si è operata anche la modifica a Squeezelite, ciò che prima era impossibile adesso lo è con il nuovo Squeezelite-R2 - ottenere uno stream in PCM che può essere interpretato, accettato e scritto per il DAC direttamente senza ulteriori interventi.
Perché allora il nostro Marco Curti ha fatto questo grande lavoro sul codice?
La risposta risiede in una previsione stavolta opinabile: il PCM retituisce più informazione o modalità d'informazione a chi ascolta.
La Prova: ce la offre solo il campo d'azione dell'ascolto finale.
L.M.S. è un software che per funzionare ha necessità di un sistema operativo di appoggio. Essendo L.M.S. multi-piattaforma, questo può essere Windows, Linux o OSX.
Pertanto è possibile utilizzarlo in diversi ambienti, ma in tutti la sua interfaccia grafica è un'interfaccia Web. Ciò significa che lo si raggiunge e lo si configura utilizzando un web browser qualunque. Per farlo, una volta installato, nella barra degli indirizzi basta scrivere l’IP della macchina dove risiede seguito da “:9000" - ad es. “192.168.1.100:9000". Se L.M.S. si trova sulla stessa macchina dove si sta operando, invece, è sufficiente scrivere “localhost:9000“ .
Il caposaldo dell'adozione di L.M.S e Squeezelite è la possibilità quindi di avere due macchine indipendenti alle quali si assegna uno specifico compito da eseguire al massimo della potenza e del risultato in termini di performance. La macchina Server deve essere potente e dotata di GUI grafica di qualità per espletare al massimo le sue varie funzioni. A essa verrà affidata anche un'altra importante funzione: il Resampling. Senza dilungarsi troppo il resampling è un'opzione e quindi una scelta. Se ne può fare a meno.
Tuttavia con certe macchine DAC, magari con interfaccia hardware USB capace di gestire il PCM NOS (private del resampling hardware), la prestazione può raggiungere livelli elevatissimi adottando il resampling software, talvolta estremamente evoluto con certi algoritmi: vedi Sox. Sox è opensource ed è uno dei migliori in assoluto e, guarda caso, è adottato di default in L.M.S.. Far eseguire il resampling a Sox nel server con l'insostituibile ausilio del plugin C3PO permette prima di tutto di eseguirlo nel modo migliore e col minor dispendio di energie sia in termini elettrici e di impegno della CPU, sia per la qualità intrinseca dello stream prodotto e finito. Infatti, anche Squeezelite è in grado di eseguire il resampling dotandolo delle dipendenze e delle librerie necessarie (libsoxr in primis), ma il risultato finale nell'esperienza soggettiva personale ma anche di svariati altri utenti è sicuramente un gradino inferiore.
Da qui, la scelta deliberata e consapevole di lasciare alla macchina client, dove cioè risiede Squeezelite, compiti minimi e molto poco dispendiosi. Dal punto di vista elettrico e di uso della CPU, Squeezelite non fa quasi nulla dal punto di vista del calcolo. Tutto quello che serve e ben confezionato lo ha già fatto il server che lo trasmette nel modo migliore e più sicuro via TCP/IP sulla LAN al client Squeezelite, che opera in stretta vicinanza col DAC.
Nell'indice viene riportata la parte strettamente tecnica per dotare sia il PC Server che il PC Client del necessario Sistema Operativo di appoggio. Ricordo che questa guida è riferita all'adozione di Linux. Chi vuole utilizzare Windows o MAC può farlo tranquillamente. Sia per Win che per MAC installati sul PC Server è disponibile l'eseguibile di L.M.S. che può essere installato sulle rispettive piattaforme.
Gli eseguibili sono disponibili online a questo indirizzo Web: Some Software Beta Downloads - Version 7.9
Installazione S.O Linux sul server
I possibili Sistemi Operativi non richiedono necessariamente l'installazione su HD.
Si suggerisce di iniziare installando il S.O. prescelto su pendrive USB dotata di persistenza in modo da ottenere al riavvio il sistema benché in live con tutti i settaggi personali e i programmi che si vorrà installare pronti e configurati come desidera l'utente. Chi vuole direttamente installare su HD con S.O. presente lo farà scaricando e installando l'eseguibile di L.M.S..
Nell'indice è indicato al primo paragrafo come installare Mint. Se lo si desidera, al posto di Mint può essere installato Lubuntu 15.04 che è più leggero ma non meno efficiente con la stessa procedura. Si scarica sul desktop di Windows la ISO della Live.
Ci si dota di pendrive vuota (formattata FAT32). Si è in precedenza installato Lili USB Creator su Windows.
I dettagli qui .
Installare L.M.S. dettagli qui.
Una volta installato L.M.S. su Linux (Mint o Lubuntu o Debian ) è necessario montare i dischi dove teniamo cartelle e file. Questo passaggio in Linux è obbligatorio mentre non è necessario con Windows (essi verrano riconosciuti automaticamente).
I dettagli qui.
Una volta installato L.M.S. e montati i dischi (nella cartella /media) andiamo a controllare alla pagina Web dei Settings di L.M.S. se sono stati montati correttamente e visibili:
Si va su sfoglia e cerchiamo la dir /media che dovrebbe contenere i dischi col nome attribuito in precedenza:
A questo punto dobbiamo far eseguire a L.M.S. lo scan dei dischi. Dopo aver selezionato la prima cartella, per es. /media/musica, si preme il tasto "Ripeti analisi". Immediatamente possiamo controllare il processo muovendoci verso la pagina Informazioni dove avremo un riscontro del processo in corso...sotto vedete il processo in corso:
Installare il Plugin C3PO
Come ho già detto questo software innovativo creato da M.Curti (marcoc1712 ) permette a L.M.S. di effettuare la transcodifica per ottenere da un file FLAC un file PCM WAV o AIFF ma non solo questo. L'altra innovazione è di permettere il Resampling completamente sul server per la mediazione di una decodifica impartita attraverso Sox. Ciò ha richiesto un intervento sul codice che si è sviluppato con l'aiuto degli utenti come beta-tester. Il plugin è anch'esso multipiattaforma essendo utilizzabile non solo con Linux, ma anche con Windows e Mac come peraltro LMS stesso. Rimando al thread aperto all'uopo da Marco stesso che invito caldamente a visionare anche perché probabilmente più importante rispetto alla mia guida rivolta settorialmente a Linux. Quindi rimando alla pagina sottoriportata che chiarisce il peso di questo Plugin:
Benvenuti, qui si parla di Squeezebox server (LMS), Squeezelite-R2 e C-3PO
L'operazione da fare è veramente molto semplice. Nella pagina dei Settings si va al menu Plugins. Si scorre la pagina fino in fondo e si immette nella casella di testo in corrispondenza di archivi aggiuntivi il seguente testo (link): http://www.marcoc1712.it/downloads/repository.xml
Subito dopo aver premuto il tasto applica comparirà subito sopra la dicitura C-3PO transcoding Helper, con accanto il quadratino vuoto dove metteremo la spunta. Fatto questo e premuto Applica comparirà una finestrella che ci chiede di completare l'installazione.
Si dà OK e dopo aver dato applica comparirà un'altra finestra che invita a riavviare LMS.
Si apre il terminale e si scrive: sudo service logitechmediaserver restart
Fatto!
Dovrebbe comparire a questo punto spuntato fra i Plugin attivi il C3PO.
Indice
1) Preparare il PC Server in Linux
2) Installare Logitech Media Server su Mint (procedura manuale)
3) LMS - Montare i dischi dove son contenuti i file (procedura manuale)
4) Preparare Logitech Media Server per il resampling (obsoleta dopo introduz. Plugin C3PO)
5) Installazione di VoyageMPD su pendrive USB (Install. S.O di base)
6) Installare Squeezelite su VoyageMPD - Appendice per Squeezelite modificato per stream pcm/wav e avvio automatico di Squeezelite su PC Player (procedura manuale)
7) Squeezelite in Daphile nel PC player (player alternativo con Squeezelite modificato)
8) Patch Timer per Voyage (Debian) (procedura manuale)
9) Installare su Voyage il Kernel Liquorix (procedura manuale)
10) Installare Debian 8.2 + Squeezelite-mc2-i386 su USB (Install. S.O di base)
11) Debian post-installazione con aasetup.sh (Install. automatica avanzata by Paolo/UnixMan)
12) Installare ALSA in Debian 8.2 (procedura manuale)
13) Installare kernel Liquorix in Debian 8.2 (procedura manuale standard by UnixMan)
TIPS:
By blueray : modifica GRUB
By blueray : settare IP statico su Voyage
By bigtube : check del sistema Debian con RealTimeQuickScan
By blueray : massimizzare il "latency timer"del bus PCI