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
Clearaudio Emotion + Satisfy + Grado Gold1 > Phono D3A DIY
Futro S450 + Daphile / Amanero + Buffalo 2 (trident) uscita a TU Cinemag 15/15B DIY / Jlsounds + Lector Digicode TDA1541 S1
Monoblocchi D3A 2A3 (electrolytich free!!) DIY / Coral Beta8 in BLH DIY
Clearaudio Emotion + Satisfy + Grado Gold1 > Phono D3A DIY
Futro S450 + Daphile / Amanero + Buffalo 2 (trident) uscita a TU Cinemag 15/15B DIY / Jlsounds + Lector Digicode TDA1541 S1
Monoblocchi D3A 2A3 (electrolytich free!!) DIY / Coral Beta8 in BLH DIY
Paolo prima di tutto ti chiedo scusa perchè non avevo visto l'edit ai tuoi post precedenti... L'edit è mortale...
Detto ciò, cerchiamo di fare un punto.
Non è che io 'voglia' uscire in PCM e nemmeno usare per forza flac | sox, sto cercando una soluzione praticabile.
Un errore commeso è stato fidarsi del fatto che i comandi postati funzionassero, ma messi alla prova in riga di comando... non è sempre così.
Purtroppo, quindi, bisogna fare un passo indietro, individuare la giusta combinazione e quindi provare a trasferirla in LMS, che è quello che sto facendo, con le mie fino a ieri NULLE conoscenze di sox e teoria del resampling ed ancora scarsissime oggi.
Quindi ribadisco l'invito SE siete a conoscenza del giusto comando o sequenza di comandi, verificato e testato in riga di comando, da utilizzare per la conversione e l'upsampling con sox, passatemeli e vediamo di integrarli in Custom-convert.conf, ma in realtà sto facendo più debug dei comandi che altro.
In tutto questo processo di prove è emerso il fatto che lo stesso file che foobar vede tranquillamente come WAV, prodotto dalla conversione OFFLINE con sox ed inviato a squeezelite via LMS in modo nativo (senza ulteriore conversione) da mac o da PC win ha risultati diversi e questo si riperquote - ovviamente - anche su tutti gli stream in uscita in formato wav.
Vorrei capire se è un problema solo in win32 o se è comune ad altri ambienti, per poter fornire maggiori informazioni al programmatore Logitech che ci sta lavorando su mia segnalazione e vorrei anche poter escludere che sia un 'vizio' di creazione dei files stessi.
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
infatti SOX lo aggiunge automaticamente (alla fine, come ultimo step) solo se ce n'è bisogno cioè se, nella sequenza di comandi che ha eseguito, c'è una operazione che ne richieda l'applicazione (ad es. una "riquantizzazione" con riduzione del "bit depth"). In caso contrario non lo fa:
l'opzione "-D" serve ad impedire che ciò venga fatto anche quando sox ritiene che sia opportuno farlo; va aggiunta solo per casi particolari, ad es. quando lo stream debba subire ulteriori elaborazioni e/o quando si voglia aggiungere il dithering a posteriori con un altro software.In most cases, SoX can determine whether the selected processing requires dither and will add it during output formatting if appropriate.
invece può esserlo:
il resampling con conversione da 16/44 a 24/192 (che in realtà è ottenuto con la sequenza: 16/44 -> 32/44 -> 32/192 -> 24/192) è proprio uno di questi casi.•an effect has increased effective bit-depth within the internal processing chain
certamente ma, dato che il risultato è esattamente identico, non ha alcun senso complicarsi la vita inutilmente. Molto meglio lasciar fare tutto a sox, dandogli in pasto direttamente il file originale.
penso di no, quello dovrebbe essere corretto. Errore mio non aver specificato -b 24 in uscita. Probabilmente, se non diversamente specificato, il default in uscita è 16bit.
N.B.: considera che "internamente" SOX ignora quale sia il formato dei dati in ingresso ed in uscita: qualsiasi essi siano, la prima operazione che fa -sempre- è quella di convertire i dati in ingresso nel suo formato interno (PCM a 32bit), mentre l'ultima operazione che fa è quella di convertire nuovamente i dati elaborati dal suo formato interno a quello richiesto in uscita, eventualmente applicando le ulteriori elaborazioni richieste per ottenere tale formato (eventuali resampling, riduzione del bit-depth, dithering, ecc).
Per questo se tu dai il comando:
sox -V3 file_di_ingresso.flac -b 24 -r 192000 file_di_uscita.wav
ottieni effettivamente che venga effettuato (automaticamente) il resampling. Salvo che (come per tutte le operazioni automatiche) in tal caso vengono utilizzate le opzioni di default e NON hai modo di cambiarle.
che c'entra l'opzione "-b" del comando "rate" (che cambia la banda passante del filtro di resampling) con il clipping?
Per evitare il clipping è necessario ridurre l'ampiezza del segnale (con il comando "gain") prima di procedere con le ulteriori elaborazioni.
Per questo suggerivo di aggiungere "gain -6" (prima di rate):
(qualora -6dB non fossero sufficienti si può aumentare l'attenuazione ad es. a -9 o più. Viceversa la si può ridurre qualora fosse sufficiente una attenuazione minore).codice:sox -V3 file_di_ingresso.flac -b 24 file_di_uscita.wav gain -6 rate -v 192000
P.S.: ovviamente è possibile che il filtro più semplice (di ordine inferiore) richiesto dalla minore banda passante (rate -b 90) riduca o addirittura elimini la probabilità di incorrere in "clipping" (overflow) durante i calcoli. Ma si tratta di una "soluzione" indiretta e limitante (nel senso che ti obbliga a scegliere determinate opzioni di resampling piuttosto che altre, mentre ovviamente vogliamo essere liberi di scegliere le opzioni di resampling che vogliamo, solo sulla base di quali "suonano" meglio nel nostro sistema). La soluzione "propria" e diretta è appunto quella di ridurre preventivamente il valore numerico dei campioni utilizzando la funzione "gain".
Ultima modifica di UnixMan : 02-04-2015 a 17:07
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.»
Tutto giusto, tranne che per il -r, puoi dare anche le opzioni di rate, ma devi curare tu che -r ed il rate siano congruenti. Se esci raw sei obbligato.
Errore mio per il -b, chissà perchè mi ero fissato che fosse il volume.
Il problema è che qualsiasi cosa esca dopo un -t wav non va se è diverso da 44100/16. Almeno da mac, così come non vanno i files wav > 44100/16 se suonati da PC, facendo uscire raw da mac (con i parametri opportuni) da mac funziona, da pc no.
Io temo sia perchè, in realtà, il pcm proveniente da mac viene interpretato come AIF e non WAV, per quets mi piacerebbe qualche conferma o smentita da altri ambienti.
Il fatto che a standard, esca mediante FLAC --force-raw-format (e funzioni) mi sembra significativo.
Salvo diverse indicazioni, per il momento direi che la strada da battere è quella di uscire in FLAC e lasciare (almeno) la conversione a Squeezelite, dopo l'upsampling, anche se a me pare un'inutile spreco di risorse.
Io porvo questa, se qualcuno ha riscontri o idee diverse ci aggiorniamo.
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
aspetta, chiarisci meglio... dunque, vediamo se ho capito bene:
converti "offline" un file con sox, da flac (o quel che sia) in wav.
Questo file wav (con foobar, quindi da win) funziona correttamente.
Dopo di che "carichi" quello stesso file wav con LMS, sia su win che su mac.
...ed ottieni risultati diversi?!
In che senso? come te ne accorgi?
Ops, sorry... sì, ovviamente hai ragione.
err... di nuovo errore mio. Anche in questo caso stavo pensando solo a SOX, senza considerare LMS.
L'errore presumibilmente è qui:
se ho ben capito, quella riga indica ad LMS in quale caso (per quale tipo di file) deve utilizzare il comando che segue, nonché quale formato attendersi in uscita dal comando stesso.codice:-flc pcm * *
Nella riga in questione, LMS dovrebbe utilizzare il comando che segue quando il file in ingresso è un flac (giusto), e si aspetta di ricevere dal comando un stream pcm, "raw" (sbagliato!!).
Il comando corretto dovrebbe essere quindi questo:
codice:-flc wav * * # FT:{START=--skip=%t}U:{END=--until=%v} [sox] -V3 -t flac $FILE$ -t wav -b 24 - gain -6 rate -v 192000
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.»
Appena provato...
cancellato flc flc in convert.conf
messo in custom-convert.conf
Suono esce ma non resemplato...il dac segna 44100codice:-flc pcm * * # FT:{START=--skip=%t}U:{END=--until=%v} [sox] -V3 -t flac $FILE$ -t wav -b 24 - gain -6 rate -v 384000
Idem come sopracodice:-flc wav * * # FT:{START=--skip=%t}U:{END=--until=%v} [sox] -V3 -t flac $FILE$ -t wav -b 24 - gain -6 rate -v 384000
Idemcodice:-flc pcm * * # FT:{START=--skip=%t}U:{END=--until=%v} [flac] -dcs --force-raw-format --endian=little --sign=signed file.flac | [sox] -D -t raw -r 44100 -b 16 -c 2 -s -L - -t wav -r 192000 -b 24 - rate -v -b 90
Scusate, sto scrivendo da una posizione impossibile, intanto posto poi elaboro.
Queste sono le righe da metter in custom-covert.conf per fare upsampling passando SEMPRE da FLAC.
Provato e funzionante su mac, Dac Passion per favore prova.
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 24 - rate -v -M -a -b 90.7 192000 dither -S
aif flc * *
# FT:{START=--skip=%t}U:{END=--until=%v}
[flac] -cs --totally-silent --compression-level-0 $START$ $END$ -- $FILE$ | [sox] -q -t flac - -t flac -e signed -C 0 -b 24 - rate -v -M -a -b 90.7 192000 dither -S
wav flc * *
# FT:{START=--skip=%t}U:{END=--until=%v}
[flac] -cs --totally-silent --compression-level-0 $START$ $END$ -- $FILE$ | [sox] -q -t flac - -t flac -e signed -C 0 -b 24 - rate -v -M -a -b 90.7 192000 dither -S
In tipi file bisogna scegliere flac flac/sox, aif flac/sox , wav flac/sox, il resto disabilitato.
Immagino sia possibile usare solo sox, ma questo provoca un glitch all'inizio del brano, passare per Flac lo evita, oltre ad abilitare le ricerche veloci.
Ad oggi è il meglio cheio riesca a fare, almeno su mac.
Ultima modifica di marcoc1712 : 02-04-2015 a 18:03
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 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)