note libere

Upsampling in Squeezebox server

Ho già spiegato che personalmente non sono convinto dell’utilità dell’upsampling, ma circa un anno fa sono stato coinvolto in una serie di discussioni su diversi forum che vertevano sul ‘come’ fare upsampling usando Squeezebox server.

Da queste discusioni e dal parziale fallimento è nata l’idea di realizzare Squeezelite-R2 e C-3PO che presenterò più diffusamente nei prossimi articoli.

In modo nativo, è possibile usare sostanzialmente due metodi per fare decodifica di formato ed upsampling con LMS e Squeezelite:

Il primo praticato fino al rilascio di Squeezelite-R2 anche da Daphile è di farlo fare a Squeezelite, che utilizza al suo interno la libreria libsox0 ed è in grado di impostarne i parametri via riga di comando.

Vantaggi: funziona, minimo utilizzo di banda.

Svantaggi: alto carco di CPU sul client, è in contrasto con l’approccio minimalista.

il secondo è in LMS e prevede l’utilizzo di SOX (applicazione) passandogli gli opportuni parametri mediante files di configurazione (custom-convert.conf)

La rete è piena di guide su come fare ed è ancora possibile vedere quanto da noi allora prodotto, rileggendo la seguente discusione (sconsigliato).

Purtroppo, dopo mesi di fatiche, ci scontrammo con una …caratteristica… di LMS tale per cui non era possibile inviare ai lettori stream oggetto di upsampling e conversione PCM. O l’uno  o l’altro.

In pratica, partendo da files FLAC 44100/16 era necessario prima decodificarli in WAV, quindi farne l’upsample e di nuovo la conversione in FLAC, prima di poterli passare a squeezelite che li riconvertiva in WAV e inoltrava al DAC.

Vantaggi: funziona, carico di rete medio, carico di lavoro del player medio.

Svantaggi: alto carco di lavoro sul server (doppia conversione), utilizzo di banda medio, carco del player medio.

I fautori dell’upsampling comunque, ritenevano già allora di avvertire un miglioramanenti significativo nella seconda configurazione.

A settembre 2015, ho rilasciato Squeezelite-R2 che aggira l’ostacolo mettendosi in condizione di poter ricevere lo stream oggetto di upsampling già in formato PCM, così da limitare il suo compito al minimo assoluto. Viene adottato per primo da Daphile già dalle versioni di ottobre, anche il lavoro del server si semplifica.

A Novebre 2015 vede la luce anche la prima versione di C-3PO, un plugin di LMS il cui principale scopo è ‘liberare’ l’utente dalla necessità di utilizzare complicate impostazioni nei files di configurazione.

Ad oggi lo scopo è raggiunto, non tutto in C-3PO è semplice come potrebbe e dovrebbe essere ma funziona.

Grazie a Squeezelite-R2 ed a C-3PO è certamente possibile usare LMS per fare upsampling e transcoding in altissima qualità, usando un interfaccia web e non più files di configurazione.

Obiettivo raggiunto.

 

 

 

 

Lascio un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *