Proprio così, me ne accorgo perchè sto utilizzando due LMS uno che gira su mac e l'altro che gira su PC, nel primo caso i file wav mandati in esecuzione suonano, nel secondo no.
Oltre a questo, se verifco nei log di squeezelite, mi accorgo che il lettore (che usa pcm.dll) riconosce i files che arrivano da mac correttamente per bitdepth e rate, mentre considera 44100/16 fisso gli altri.
Lo stesso problema si presenta (curiosamente al contrario) anche con la conversione SOX utilizzando -wav da mac, ma si riesce ad
evitare usando - raw ed impostando a mano i parametri del file di output e di upsampling. Su pc non va.
L'ho segnalato, ma sono certo che la risposta sarà... con flac funziona, passa per flac...
Secondo me l'errore è -flc in se. La riga deve essere
flc wav * *
Non c'è, purtroppo, nessun meccanismo automatico di richiamo in cascata, o almeno io non ne sono al corrente.
EDIT: Forse avevo capito male e non ti riferivi alla "-" prima del flc (che è un errore), scusa, ma dopo due giorni qualsiasi SOX...puzza!
Sbagliato... Forse si, ma considera quanto ho scritto sopra.
Comunque, per favore verifica le righe che ho postato con FLAC, se hai idee di miglioramenti correggi pure poi lasciamo tempo agli altri per provarle nelle diverse configurazioni.
Ultima modifica di marcoc1712 : 02-04-2015 a 18:20
Ciao, Marco.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
— E. F. Schumacher (mis-attributed to A. Einstein)
________________________________________________________________________________
Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE
quando si usa "raw" in ingresso è (ovviamente) necessario specificare tutti i dettagli del formato desiderato, altrimenti SOX non avrebbe alcun modo per capire come interpretare i dati in ingresso.
Lo stesso NON è vero in uscita, però: in tal caso SOX può utilizzare i default, per cui alcuni parametri (in particolare, nel nostro caso, il sample rate) possono essere omessi.
Va da sé che, ovviamente, per quanto riguarda il s/r in uscita il default utilizzato è quello più ragionevole, cioè quello dello stream "interno" prima della conversione finale. Se applichiamo la funzione "rate" è evidente che -se non diversamente richiesto- (il che sarebbe ovviamente un errore, che comporterebbe un ulteriore resampling) lo stream in uscita avrà lo stesso s/r che abbiamo chiesto alla funzione "rate", ed è quindi superfluo (e foriero di errori) specificarlo anche nella definizione dello stream di uscita.
Ad es.:
Notare come l'opzione "-V3" mostri in dettaglio la catena dei diversi processi:codice:$ sox -V3 Linn_01.flac -t raw -b 24 pippo.pcm gain -6 rate -v -b 90 -a 192000 dither -s sox: SoX v14.4.1 sox INFO formats: detected file format type `flac' Input File : 'Linn_01.flac' Channels : 2 Sample Rate : 44100 Precision : 16-bit Duration : 00:03:10.24 = 8389584 samples = 14268 CDDA sectors File Size : 14.0M Bit Rate : 590k Sample Encoding: 16-bit FLAC Endian Type : little Reverse Nibbles: no Reverse Bits : no Comments : TRACKNUMBER=1 title=String Quartet No. 16 in F Major: II. from The Complete String Quartets Vol.2 artist=Belcea Quartet album=String Quartet No. 16 in F Major, Op. 135: II. Vivace genre=Classical Date=2013 composer=Ludwig van Beethoven ALBUMARTIST=Belcea Quartet Output File : 'pippo.pcm' (raw) Channels : 2 Sample Rate : 192000 Precision : 24-bit Duration : 00:03:10.24 = 36526080 samples ~ 14268 CDDA sectors Sample Encoding: 24-bit Signed Integer PCM Endian Type : little Reverse Nibbles: no Reverse Bits : no Comments : TRACKNUMBER=1 title=String Quartet No. 16 in F Major: II. from The Complete String Quartets Vol.2 artist=Belcea Quartet album=String Quartet No. 16 in F Major, Op. 135: II. Vivace genre=Classical Date=2013 composer=Ludwig van Beethoven ALBUMARTIST=Belcea Quartet sox WARN dither: no `shibata' filter is available for rate 192000; using sloped TPDF sox INFO sox: effects chain: input 44100Hz 2 channels sox INFO sox: effects chain: gain 44100Hz 2 channels sox INFO sox: effects chain: rate 192000Hz 2 channels sox INFO sox: effects chain: dither 192000Hz 2 channels sox INFO sox: effects chain: output 192000Hz 2 channels
conversione di ingresso,
riduzione del guadagno(*),
resampling(*),
dithering(*),
conversione di uscita.
(*) come richiesto da riga di comando, nell'esatto ordine specificato.
Tanto per curiosità, ecco cosa succede se chiedo un resamplig ad un dato s/r ma poi specifico un formato di uscita con un s/r diverso:
Ovviamente, la funzione "rate" viene chiamata DUE volte. La prima da me, con i parametri che ho richiesto, mentre la seconda è chiamata automaticamente dalla conversione di uscita.codice:$ sox -V3 Linn_01.flac -t raw -b 24 -r 96000 pippo.pcm gain -6 rate -v -b 90 -a 192000 dither sox: SoX v14.4.1 sox INFO formats: detected file format type `flac' Input File : 'Linn_01.flac' Channels : 2 Sample Rate : 44100 Precision : 16-bit Duration : 00:03:10.24 = 8389584 samples = 14268 CDDA sectors File Size : 14.0M Bit Rate : 590k Sample Encoding: 16-bit FLAC Endian Type : little Reverse Nibbles: no Reverse Bits : no Comments : TRACKNUMBER=1 title=String Quartet No. 16 in F Major: II. from The Complete String Quartets Vol.2 artist=Belcea Quartet album=String Quartet No. 16 in F Major, Op. 135: II. Vivace genre=Classical Date=2013 composer=Ludwig van Beethoven ALBUMARTIST=Belcea Quartet Output File : 'pippo.pcm' (raw) Channels : 2 Sample Rate : 96000 Precision : 24-bit Duration : 00:03:10.24 = 18263040 samples ~ 14268 CDDA sectors Sample Encoding: 24-bit Signed Integer PCM Endian Type : little Reverse Nibbles: no Reverse Bits : no Comments : TRACKNUMBER=1 title=String Quartet No. 16 in F Major: II. from The Complete String Quartets Vol.2 artist=Belcea Quartet album=String Quartet No. 16 in F Major, Op. 135: II. Vivace genre=Classical Date=2013 composer=Ludwig van Beethoven ALBUMARTIST=Belcea Quartet sox INFO sox: effects chain: input 44100Hz 2 channels sox INFO sox: effects chain: gain 44100Hz 2 channels sox INFO sox: effects chain: rate 192000Hz 2 channels sox INFO sox: effects chain: rate 96000Hz 2 channels sox INFO sox: effects chain: dither 96000Hz 2 channels sox INFO sox: effects chain: output 96000Hz 2 channels
Da notare (anche se da questo output non si può vedere) che questa seconda chiamata a "rate" NON usa i parametri richiesti per la prima chiamata (quella "esplicita"), ma quelli di default.
Da notare inoltre come la funzione "dither" in questo caso è gestita in modo speciale: anziché essere chiamata nell'ordine specificato dalla riga di comando (dopo il primo "rate", quello "esplicito"), è chiamata come ultima funzione della catena, come è giusto che sia.
N.B.: questo non accade se "dither" non viene indicato come ultimo comando della catena "esplicita". SOX cioè è "furbo", ma non "prepotente" (e limitante). Evita di fare stupidaggini di suo ma, se per qualche strano motivo l'utente vuole aggiungere il dither prima di fare qualche altra operazione, sox non gli impedisce di farlo.
In altre parole, come ogni comando Unix che si rispetti, anche sox non pone limiti né restrizioni a ciò che l'utente gli dice di fare. Neanche per impedirgli di fare ca%%ate:
“UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.”
![]()
Ciao, Paolo.
«Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»
Perchè? non credo proprio:
1. L'upsampling è finalmente e certamente sul server (quello che dacPassion non riusciva a fare), solo la conversione è sul renderer, cosa che non mi piace perchè avvenendo (anche) dopo l'upsampling è uno spreco di risorse.
2. Secondo me dove funziona correttamente la comunicazione tra LMS e squeezelite con WAV (ma bisogna provare con files costruiti offline per limitare le variabili e verificare nei log di squeezelite) vanno bene anche il metodo che ho proposto e che Paolo ha corretto, ma rimane il beneficio del dubbio fino a che non si trova una configurazione sicuramente funzionante.
3.Molti dei comandi che ho visto girare alla prova del fuoco si sono rivelato sbagliati, parevano dare il risultato cercato perchè semplicemente funzionavano a metà... Per forza erano anche molto leggeri, peccato non facesso upsampling per nulla.
Non è finita qui, se capiamo il problema con wav, possiamo certamente ottimizzare le cose (aspettiamo la risposta di Michael), ma adesso disponiamo di un modo certamente funzionante e misurabile, eventualmente da confrontare (per consumo di risorse e qualità sonora) con l'upsampling su squeezelite.
Sarebbe interessante capire come fanno altri sistemi (es. HQP) alle prese con l'upsamling: passano sempre da Flac?
Io ho capito (meglio) una cosa: Ci sarebbe bisogno come il pane di un sistema per gestire 'facilmente' questo genere di cose in LMS, ma è talmente incasinato che capisco perchè se ne tengono tutti così ben lontani...
Ah, ovviamente, tu devi aggiungere IR ad FT per gli stream remoti in flc flc * *.
Ciao, Marco.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
— E. F. Schumacher (mis-attributed to A. Einstein)
________________________________________________________________________________
Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE
Ho introdotto nel custom quanto segue:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
flc pcm * *
# FT:{START=--skip=%t}U:{END=--until=%v}
[sox] -V3 -t flac - -t wav -b 24 - gain -3 rate -v 192000
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Questo il log del server con il debug di
player.source
player.streaming
player.streaming.direct
player.streaming.remote
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::...
[15-04-02 16:10:50.4676] Slim::Player::TranscodingHelper::checkBin (242) Checking formats for: flc-flc-transcode-*
[15-04-02 16:10:50.4678] Slim::Player::TranscodingHelper::enabledFormat (209) Checking to see if flc-flc-transcode-* is enabled
[15-04-02 16:10:50.4680] Slim::Player::TranscodingHelper::enabledFormat (217) There are 3 disabled formats...
[15-04-02 16:10:50.4683] Slim::Player::TranscodingHelper::enabledFormat (223) Testing flc-aif-*-* vs flc-flc-transcode-*
[15-04-02 16:10:50.4685] Slim::Player::TranscodingHelper::enabledFormat (223) Testing flc-pcm-*-* vs flc-flc-transcode-*
[15-04-02 16:10:50.4723] Slim::Player::TranscodingHelper::enabledFormat (223) Testing wav-flc-*-* vs flc-flc-transcode-*
[15-04-02 16:10:50.4726] Slim::Player::TranscodingHelper::checkBin (250) enabled
[15-04-02 16:10:50.4729] Slim::Player::TranscodingHelper::checkBin (252) Found command: [flac] -dcs $START$ $END$ -- $FILE$ | [sox] -q -t wav - -t flac -C 0 $RESAMPLE$ -
[15-04-02 16:10:50.4733] Slim::Player::TranscodingHelper::getConvertCommand2 (446) Matched: flc->flc via: [flac] -dcs $START$ $END$ -- $FILE$ | [sox] -q -t wav - -t flac -C 0 $RESAMPLE$ -
15-04-02 16:06:00.0071] Slim::Player::StreamingController::_eventAction (271) 00:19:99:78:43:a5: StatusHeartbeat in PLAYING-STREAMING -> Slim::Player::StreamingController::_CheckSync
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
l'ultima riga si ripete in play finchè dura la riproduzione
player1:thin client+voyage - player2:futros450+Debian > Usb Transport: I2soverUSB + DAC (6x1704+I/V a tubi) - Attenuatore passivo Lightspeed
Ampli finale: OTL 6C33 - MyRef Fremen Ed. - Diff.: Diapason Adamantes II - Guida LMS+Squeezelite - B
Stiamo parlando di un caso in qui c'è un evidente problema di fondo, ma se ometti -r nella descrizione del file raw in uscita, neanche gli stream (non i file wav) convertiti in uscita da mac funzionano più.
Questo è il motivo che mi ha originariamente portato a specificare tutti i parametri, ma come giustamente dici tu, sei da solo e devi porre maggiore attenzione, se sbagli, paghi. Infatti, prima di capire che era diverso per le due macchine, mi ero completamente perso, solo le prove da OS con i file 'fisici' mi ha consentito di ricostruire la situazione, ammesso ci sia effettivamente riuscito.
Il problema - oggettivamente - è la terrificante curva di appendimento ed il pauroso numero di errori (tipicamente stupidi) ai quali ti costringe prima di poter fare una cosa furba, ma tanto l'alternativa (il vecchio macOs) non esiste più... Ah, sì, qualcuno mi ha parlato di pazzi a redmont che fanno qualcosa di diverso, micro...qualcosa...
Ciao, Marco.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
— E. F. Schumacher (mis-attributed to A. Einstein)
________________________________________________________________________________
Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE
la situazione a contorno è questa:
PC principale:
Sist.Op.= Mint con LMS
PC thin client Futro:
SO = Voyage + Squeezelite
Ps: sto cercando di stare al passo e trovare punti fermi ma le sabbie mobili stanno per inghiottirmi.
player1:thin client+voyage - player2:futros450+Debian > Usb Transport: I2soverUSB + DAC (6x1704+I/V a tubi) - Attenuatore passivo Lightspeed
Ampli finale: OTL 6C33 - MyRef Fremen Ed. - Diff.: Diapason Adamantes II - Guida LMS+Squeezelite - B
Stai applicando questo comando:
[flac] -dcs $START$ $END$ -- $FILE$ | [sox] -q -t wav - -t flac -C 0 $RESAMPLE$ -, non quello che hai postato tu.
O hai casino nei conf file o non hai riavviato il server, verifica.
EDIT: Come prima cosa - dopo aver riavviato il server - verifca di avere abilitato
FLAC -> PCM [sox] in tipi files.
e di aver disabilitato le altre opzioni, quindi ricontolla i log, posta se riesci anche quelli di squeezelite.
Ultima modifica di marcoc1712 : 02-04-2015 a 19:13
Ciao, Marco.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
— E. F. Schumacher (mis-attributed to A. Einstein)
________________________________________________________________________________
Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE
Ciao, Marco.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
— E. F. Schumacher (mis-attributed to A. Einstein)
________________________________________________________________________________
Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE
Allora,
se non siete dei testardi inveterati come il soootscritto, è probabile che staite pensando di mollare tutto o lo abbiate già fatto. Mi auguro di no.
@DacPassion, i tre comandi che ho postato poco sopra sono quelli che risolvono il tu problema e fanno l'upsampling su mac, per favore provali e riporta le impresioni.
@Filippo e Giovanni, potete provarli anche voi o, anche in parallelo, continuare a testare il metodo che passa da WAV con le ultime indicazioni di Paolo, ma sappiate che non mi stupirei si presentassero problemi.
ANche per capire un po megli oquello che stiamo facendo, vi consiglio di individuare un qualsiasi file flac44/16, farne una copia 'a perdere' come flac_44_16.flac in una cartella vuota che chiamiamo provaSox per comodità, come quindi:
a. Individuare la cartella di installazione di LMS , quindi in ./BIN avrete l'elenco delle version idisponibili, individuate quella del vostro OS , es. MioOs e dentro dovrebbero esserci sox.exe e flac.exe.
b. segnatevi il path della cartella MioOs es ./BIN/pathToMioOs
quindi da dentro provaSox:
./BIN/pathToMioOs/sox -V3 -t flac flac_44_16.flac -t wav -b 24 pcm_192_24.wav gain -3 rate -v 192000
AL termine del comando, se tutto è andato bene, avrete il file pcm_192_24.wav nella cartella, provate ad eseguirlo in LMS e ditemi come va.
Ciao
Ultima modifica di marcoc1712 : 02-04-2015 a 21:08
Ciao, Marco.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
— E. F. Schumacher (mis-attributed to A. Einstein)
________________________________________________________________________________
Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE
Ci sono attualmente 3 utenti che stanno visualizzando questa discussione. (0 utenti e 3 ospiti)