Preparare Logitech Media Server per il resampling.
Dopo prove comparative utilizzando sulla macchina Player (nel mio caso un Futro S450
ma anche con altri thin client si hanno comportamenti e prestazioni sovrapponibili )indifferentemente
Daphile ovvero VoyageMpD + Squeezelite (con MPD inibito) ho dovuto constatare
che far eseguire il resampling su LMS comportava una prestazione
notevolmente superiore in ogni parametro percepito. Squeezelite esegue egregiamente il resampling
utilizzando una batteria di librerie molto efficienti richiedenti risorse molto contenute.
La principale componente per il resampling è costituita da "libsoxr".
Quindi la "battaglia si è svolta confrontando la prestazione di
questo componente con probabilmente il miglior software per il
resampling disponibile anche a confronto con software propietari.
Si parla di Sox che ha anche il merito d'essere open source,la sua
licenza è gratuita e disponibile per tutti.
Sox è stato utilizzato su Logitech Media Server per diverse sue
possibilita' funzionali. Quella del resampling è una delle tante
ma è sostanzialmente "nascosta" per un normale utilizzo. Frugando
in rete ne ho scoperto la possibile implementazione e quindi perchè
non provarla ? L'unico problema come si è evidenziato nella lunga
discussione sul thread sul resampling è che l'unica strada almeno
per il momento percorribile è attraverso la codifica FLAC.
Bisogna farsene una ragione e quindi che Flac sia infine.
Funzionalmente LMS utilizza tutti o quasi i codec disponibili
facendo ricorso al codice in forma testuale inserito nel file
denominato convert.conf. Tuttavia in alternativa si puo' instradare
LMS a utilizzare anche il codice inserito in un file denominato
custom-convert.conf. E' esattamente in questo file che noi abbiamo
la possibilita' d'inserire un codice "ad hoc" per far eseguire il
resampling dei file Flac.
Procedura:
In Linux bisogna creare il file, attribuirgli tutti i diritti,editarlo con il codice di testo e salvarlo .
Come si chiama in linux il file di default (convert.conf) eccolo quà :
codice:
/etc/squeezeboxserver/convert.conf
Il file custom da creare è il seguente:
codice:
/etc/squeezeboxserver/custom-convert.conf
Per farlo aprire il terminale e scrivere:
codice:
sudo touch /etc/squeezeboxserver/custom-convert.conf
attribuiamo i diritti con il codice:
codice:
sudo chmod 666 /etc/squeezeboxserver/custom-convert.conf
per poterlo editare e immettere il codice ( per resampling ):
codice:
sudo nano /etc/squeezeboxserver/custom-convert.conf
Nel campo dell'editor di testo immetteremo il codice prescelto
che nel mio caso è il seguente :
codice:
flc flc * *
# FT:{START=--skip=%t}U:{END=--until=%v}
[flac] -dcs $START$ $END$ -- $FILE$ | [sox] -q -t wav - -t flac -e signed -C 0 -b 32 - rate -v -b 98 -L -a 352800
ecco come si presenta nell'editor nano:
Fatto cio' con nano si preme Ctrl+x, digitiamo Y alla domanda e quindi Enter
Il file è quindi creato e salvato e funzionerà insieme al convert.conf.
Azione successiva riavviare il server LMS:
codice:
sudo service logitechmediaserver restart
A questo punto si apre l'interfaccia web > Settings > Advanced > File Type
alla voce FLAC si disattiva tutto tranne flac/sox e si preme il tasto "Apply"
Il resampling dei Flac via LMS è ora attivo e lo stream prodotto via LAN
verra' consegnato a Squeezelite che a sua volta lo cede cosi com'è al DAC.