upsampling (universo LMS/Squeezelite/Squeezeplay)

Visualizzazione dei risultati da 1 a 10 su 874

Hybrid View

Messaggio precedente Messaggio precedente   Prossimo messaggio Prossimo messaggio
  1. #1
    tebibyte
    Registrato
    Aug 2011
    Età
    51
    Messaggi
    2,928
    configurazione

    Predefinito

    Originariamente inviato da UnixMan

    Che sia un problema di latenza? Come hai configurato SL? (soprattutto i buffer).
    SL tutto di default...non ho messo impostazioni

    Paolo prova a cambiare il valore da 55 a tipo 80 e riprova...
    se non cambio l'impostazione neanche io ho problemi...

  2. #2
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da antonellocaroli
    Paolo prova a cambiare il valore da 55 a tipo 80 e riprova...
    se non cambio l'impostazione neanche io ho problemi...
    ah. OK.

    Appena provato... con 80 non funziona, punto. Probabilmente c'è un limite max al valore del reference level. D'altro canto, oltre un certo livello probabilmente non avrebbe più molto senso usare il loudness.

    Da una rapida serie di prove veloci (sul manuale non l'ho trovato), direi che il limite max sia 75 (dB).
    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.»

  3. #3
    pebibyte L'avatar di marcoc1712
    Registrato
    Jan 2013
    Messaggi
    5,254
    configurazione

    Predefinito

    Originariamente inviato da UnixMan
    ah. OK.

    Appena provato... con 80 non funziona, punto. Probabilmente c'è un limite max al valore del reference level. D'altro canto, oltre un certo livello probabilmente non avrebbe più molto senso usare il loudness.

    Da una rapida serie di prove veloci (sul manuale non l'ho trovato), direi che il limite max sia 75 (dB).
    Più che ragionevole direi.
    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

  4. #4
    pebibyte L'avatar di marcoc1712
    Registrato
    Jan 2013
    Messaggi
    5,254
    configurazione

    Predefinito

    Ho fatto un minimo di prove con gain, loudness e remix (usato come controllo di balance) ed ho verificato che:

    a. loudness NON può essere usato con il primo parametro (gain) = 0, il comando non ha effetto in questo caso.
    b. gain deve essere compreso tra -50 e 15, indipendententemente (a quanto pare) dal valore di db_ref (???).
    c. db_ref (start) deve essere compreso tra 50 e 75.
    d. provoca facilmente clipping su tutta la catena, porre MOLTA attenzione.

    Non ho ancora ben capito SE e quale relazione intercorre tra i due parametri del loudness e tra questi ed il gain aggiunto mediante altri effetti (gain o remix, per quanto mi riguarda). Il messaggio di errore conseguente al punto b parla di 'delta', ma non capisco tra cosa, dal messaggio parrebbe tra gain e db_ref, ma in realtà pare un valore assoluto (o riferito al corrente, sconosciuto, valore della pressione sonora PRIMA dell'applicazione del loudness). Non è per nulla chiaro. La documentazione non è certo il loro punto forte!

    Questi sono i livelli di picco misurati:

    traccia originale = 3.69 db
    traccia con gain -20 = 22.65 db
    traccia con gain - 10 e loudness -10 55 = 22,35 db
    traccia con solo loudness -20 55 = 20.85 db

    posto che non ho capito perchè riducendo con 20 db di gain non si ottiene esattamente il risultato aspettato (-23.69 db) , si vede che la stessa isofonica applicata su 10 db di riduzione produce solo 0.3 db di differenza di picco, mentre su 20 db ne produce quasi 2, quindi probabilmente l'effetto avviene nei limiti della variazione di guadagno, cioè variazioni più gradi danno probabilmente effettto più sensibile a parità di curva isofonica (cioè di db_ref).

    Ma è una deduzione debole ed al buio, tutto dipende dal 'come' l'effetto della isofonica viene limitato.

    Una cosa interessante è l'opzione -G o -h + -r) che in pratica consiste nel far si che SOX 'reclami' l'headroom non utilizzato alla fine della catena degli effetti, garantendo in ogni caso l'assenza di clipping, ma NON per l'effett loudness in se, mi pare, dato che anche con -G e loudness 10 55 ho ottenuto clipping da quell'effetto, ma omettendo -G se ne hanno molti di più anche in rate, dithering ed output. Comunque, l'uso di guadagno positivo è sempre sconsigiabile.

    Può essere interessante provarlo,anche se io non ho mai sentito 'nostalgia' dei db persi per creare headroom... basta girare appena di più la manopolina...

    In pratica si traduce in un effetto gain aggiuntivo, applicato DOPO il rate ma prima del dithering e mi pare aggiunga tempo all'elaborazione. Da verificare che non costringa sox a bufferizzare tutto il file (cosa che sarebbe ragionevole).

    p.s.

    Effetto collaterale della prova fatta:

    Per misurare i picchi ho usato foobar sul pc di sviluppo e, vista la riduzione importante, ho dovuto alzare di molto il volume delle casse amplificate per 'ascoltarne' l'effetto, con il risultato che - in assenza di riproduzione - il rumore di fondo diventa molto più evidente (probabilmente ho anche un cavetto difettoso, muovendolo 'scricchiola'). Com'è e come non è, mi sono accorto che il 'tipo' ed il tono del rumore cambia sensibilmente quando lancio la conversione via SOX (muta, perchè produco i files).

    Ovvio che non è una condizione 'normale', si tratta di apparecchi low-fi e probabilmente un cavo parzialmente interrotto fa da antenna, ma se questa non è un'ennesima dimostrazione di come le attività della CPU (o di cos'altro) producano disturbi ben captabili da apparecchiature audio nelle vicinanze....
    Ultima modifica di marcoc1712 : 27-04-2016 a 14:57
    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

  5. #5
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da marcoc1712
    Ho fatto un minimo di prove con gain, loudness e remix (usato come controllo di balance) ed ho verificato che:

    a. loudness NON può essere usato con il primo parametro (gain) = 0, il comando non ha effetto in questo caso.
    uh? ma sei sicuro? Con quale versione di sox?

    Originariamente inviato da marcoc1712
    d. provoca facilmente clipping su tutta la catena, porre MOLTA attenzione.
    questo è abbastanza ovvio, visto che applica una equalizzazione che aumenta il livello di alcune parti dello spettro...

    Originariamente inviato da marcoc1712
    Una cosa interessante è l'opzione -G (o -h + -r) che in pratica consiste nel far si che SOX 'reclami' l'headroom non utilizzato alla fine della catena degli effetti, garantendo in ogni caso l'assenza di clipping.

    Può essere interssante provarlo,anche se io non ho mai sentito 'nostalgia' dei db persi per creare headroom... basta girare appena di più la manopolina...
    opzione globale "--guard" (eq. -G), oppure "gain -h" all'inizio della catena seguito da "gain -hr" in fondo (subito prima di "dither", che è e deve essere sempre l'ultimo).

    Funziona benissimo e, per le operazioni "offline", è comodissimo.

    Purtroppo per l'uso "online/on-the-fly" che ne facciamo noi è improponibile. Per funzionare in qualche modo prima deve processare/analizzare l'intero file per scoprire di quanto headroom ha bisogno... per cui aggiunge una latenza enorme (da qualche decina di secondi a qualche minuto, a seconda delle dimensioni del file e della velocità della macchina).

    ...ed ovviamente con LMS "rompe il gapless".
    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.»

  6. #6
    pebibyte L'avatar di marcoc1712
    Registrato
    Jan 2013
    Messaggi
    5,254
    configurazione

    Predefinito

    Originariamente inviato da UnixMan
    uh? ma sei sicuro? Con quale versione di sox?

    codice:
    C:\Documents and Settings\marco>"G:\Sviluppo\slimserver\Bin\MSWin32-x86-multi-th
    read\ffmpeg.exe" -vn -v 0 -ss 330.733333333333 -t 286.333333333334 -i "E:\Rock\J
    ackson Browne\Running on Empty (1977)\Jackson Browne - Running on Empty.wav" -f
    wav - | "C:\Programmi\sox-14-4-2\sox.exe" -V -t wav - -t wav --buffer=8192 prova
    1a.wav gain -10 loudness 0 55
    C:\Programmi\sox-14-4-2\sox.exe:      SoX v14.4.2
    
    Input File     : '-' (wav)
    Channels       : 2
    Sample Rate    : 44100
    Precision      : 16-bit
    Duration       : 06:45:47.89 = 1073741823 samples = 1.82609e+006 CDDA sectors
    File Size      : 0
    Bit Rate       : 0
    Sample Encoding: 16-bit Signed Integer PCM
    Endian Type    : little
    Reverse Nibbles: no
    Reverse Bits   : no
    
    C:\Programmi\sox-14-4-2\sox.exe INFO sox: Overwriting `prova1a.wav'
    
    Output File    : 'prova1a.wav'
    Channels       : 2
    Sample Rate    : 44100
    Precision      : 16-bit
    Duration       : 06:45:47.89 = 1073741823 samples = 1.82609e+006 CDDA sectors
    Sample Encoding: 16-bit Signed Integer PCM
    Endian Type    : little
    Reverse Nibbles: no
    Reverse Bits   : no
    Comment        : 'Processed by SoX'
    
    C:\Programmi\sox-14-4-2\sox.exe INFO loudness: has no effect in this configurati
    on
    C:\Programmi\sox-14-4-2\sox.exe INFO sox: effects chain: input        44100Hz  2
     channels
    C:\Programmi\sox-14-4-2\sox.exe INFO sox: effects chain: gain         44100Hz  2
     channels
    C:\Programmi\sox-14-4-2\sox.exe INFO sox: effects chain: dither       44100Hz  2
     channels
    C:\Programmi\sox-14-4-2\sox.exe INFO sox: effects chain: output       44100Hz  2
     channels
    C:\Programmi\sox-14-4-2\sox.exe WARN wav: Premature EOF on .wav input file
    
    C:\Documents and Settings\marco>

    Originariamente inviato da UnixMan
    Purtroppo per l'uso "online/on-the-fly" che ne facciamo noi è improponibile. Per funzionare in qualche modo prima deve processare/analizzare l'intero file per scoprire di quanto headroom ha bisogno... per cui aggiunge una latenza enorme (da qualche decina di secondi a qualche minuto, a seconda delle dimensioni del file e della velocità della macchina).

    ...ed ovviamente con LMS "rompe il gapless".
    Quello che temevo...
    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

  7. #7
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da marcoc1712
    a. loudness NON può essere usato con il primo parametro (gain) = 0, il comando non ha effetto in questo caso.
    azz... hai ragione!

    Genero un file con solo white noise:
    codice:
    sox -S -n wnoise.wav synth -n 00:00:10 whitenoise gain -10
    questo lo spettro (piatto, come atteso...):

    dopo di che:

    codice:
    sox wnoise.wav wn+l-0-50.wav loudness 0 50
    sox wnoise.wav wn+g-+9-l--9-50.wav gain +9 loudness -9 50
    Con il primo parametro (di "loudness") posto a "-9", lo spettro diventa questo:

    ...mentre con il primo parametro a zero resta piatto!

    edit: stupidamente non avevo aggiunto il "-V3" alla riga di comando, altrimenti avrei visto il warning... e mi sarei potuto risparmiare la fatica di fare gli spettri.

    Originariamente inviato da marcoc1712
    b. gain deve essere compreso tra -50 e 15, indipendententemente (a quanto pare) dal valore di db_ref (???).
    c. db_ref (start) deve essere compreso tra 50 e 75.
    [...]
    Non ho ancora ben capito SE e quale relazione intercorre tra i due parametri del loudness
    idem. Credevo di averlo capito, e invece... non avevo capito proprio nulla.

    Originariamente inviato da marcoc1712
    e tra questi ed il gain aggiunto mediante altri effetti (gain o remix, per quanto mi riguarda).
    se non ho completamente frainteso anche questo, in teoria i diversi effetti dovrebbero essere del tutto indipendenti tra loro, come se fossero programmi diversi che puoi combinare tra loro "in cascata" con una "pipe".

    Però, per applicare correttamente la correzione, in qualche modo "loudness" dovrebbe fare riferimento (anche) al livello effettivo dello stream che va a trattare, quindi dovrebbe risentire degli effetti (sul livello) di quanto fatto "a monte".

    Boh...

    Originariamente inviato da marcoc1712
    Il messaggio di errore conseguente al punto b parla di 'delta', ma non capisco tra cosa, dal messaggio parrebbe tra gain e db_ref, ma in realtà pare un valore assoluto (o riferito al corrente, sconosciuto, valore della pressione sonora PRIMA dell'applicazione del loudness). Non è per nulla chiaro. La documentazione non è certo il loro punto forte!
    no, decisamente.

    Originariamente inviato da marcoc1712
    Questi sono i livelli di picco misurati:
    come? con "stat"/"stats"? (altri "effetti" di sox)

    ah, ecco...
    Originariamente inviato da marcoc1712
    Per misurare i picchi ho usato foobar sul pc di sviluppo
    Per toglierti il dubbio sull'entità delle attenuazioni, potresti (ri)verificare anche con stat/stats.
    Ultima modifica di UnixMan : 27-04-2016 a 16:28
    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.»

  8. #8
    pebibyte L'avatar di marcoc1712
    Registrato
    Jan 2013
    Messaggi
    5,254
    configurazione

    Predefinito

    Si, ma se capisco bene nel secondo grafico la scala è molto diversa, tra valle e picco il delta è 0,5 db, giusto?

    Si, i diversi effetti sono in una 'catena', quindi indipendenti, ma il gain -hr finale (o il -G) 'dovrebbe' riconsiderare il tutto ed in effetti lo fa, ma probabilmente non riesce del tutto con il loudenss (che io avevo impostato con guadagno positivo però).

    Come fa a fare roiferimento al livello effettivo? dovrebbe avere un fonometro collegato. Per questo lo chiede a te (db_ref). In sostaza, la cosa più probabile è questa: Indichi a che livello di pressione sei (db_ref) quindi dici che variazione vuoi ottenere rispetto a quel livello e lui la applica mediante la isofonica corrispondente. QUindi la isofonica applicata NON è quella di db_ref, ma di db_ref + guadagno.

    In questo modo assumono un senso maggiore anche i ilimiti:

    loudness -50 50 = porta il livello a 0.
    loudenss +15 75 = porta il livello a 90.

    Sotto 0 db non ha senso il loudness, ovviamente, sopra 90 db (ma anche prima) non si applica più, i parametri psicoaucustici cambiano completamente. probabilmente bisogna leggerlo in questo modo, anche se se metti ANCHE il gain è come se mettesi uno shift ulteriore al db_ref, quindi 'falsi' il quadro (da qui i valori diversi di picco, presumibilmente).

    Comunque è troppo vago, dovrebbero spiegare meglio, magari mi guardo il codice.
    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

  9. #9
    pebibyte L'avatar di marcoc1712
    Registrato
    Jan 2013
    Messaggi
    5,254
    configurazione

    Predefinito

    Originariamente inviato da UnixMan
    edit: stupidamente non avevo aggiunto il "-V3" alla riga di comando, altrimenti avrei visto il warning... e mi sarei potuto risparmiare la fatica di fare gli spettri.
    Io ho solo tolto -q e messo -V, non -V3 e l'INFO (non è un warnibg) esce ugualmente.
    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

  10. #10
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da marcoc1712
    Si, ma se capisco bene nel secondo grafico la scala è molto diversa, tra valle e picco il delta è 0,5 db, giusto?
    sì, la scala è diversa. No, la differenza si riferisce alla posizione del "cursore" (puntatore del mouse), che era posizionato a caso. Non ho misurato quantitativamente l'effetto, mi premeva solo di visualizzare lo "shape".

    Originariamente inviato da marcoc1712
    Si, i diversi effetti sono in una 'catena', quindi indipendenti, ma il gain -hr finale (o il -G) 'dovrebbe' riconsiderare il tutto ed in effetti lo fa, ma probabilmente non riesce del tutto con il loudenss (che io avevo impostato con guadagno positivo però).
    ah, avevi attivato quello... ecco perché quei valori "strani", che non capivo da dove uscissero.

    Originariamente inviato da marcoc1712
    Come fa a fare roiferimento al livello effettivo? dovrebbe avere un fonometro collegato.
    Lol!

    Ovviamente per "livello effettivo" mi riferivo a quello dello stream in ingresso (quanto meno, in ingresso a "loudness", dopo le eventuali elaborazioni precedenti). Non tutti gli stream sono "normalizzati" allo stesso livello (tutt'altro...); se uno stream è normalizzato a 0dB (picchi massimi che raggiungono la massima ampiezza possibile) mentre un altro è normalizzato e.g. a -10dB, per applicare correttamente la correzione si dovrebbe tener conto di quella differenza.

    Originariamente inviato da marcoc1712
    Per questo lo chiede a te (db_ref).
    sì, questo mi era chiaro. Il dubbio resta su come usi esattamente quel valore (e l'altro), nonché se/come eventualmente tenga conto dell'ampiezza massima (relativa al f.s.) dello stream in ingresso.

    Originariamente inviato da marcoc1712
    In sostaza, la cosa più probabile è questa: Indichi a che livello di pressione sei (db_ref) quindi dici che variazione vuoi ottenere rispetto a quel livello e lui la applica mediante la isofonica corrispondente. QUindi la isofonica applicata NON è quella di db_ref, ma di db_ref + guadagno.
    che (se non ho capito male cosa intendevi dire) è proprio quello che pensavo. Ma, se così fosse, non dovrebbe funzionare anche con il primo parametro a 0dB?!

    Originariamente inviato da marcoc1712
    In questo modo assumono un senso maggiore anche i ilimiti:

    loudness -50 50 = porta il livello a 0.
    loudenss +15 75 = porta il livello a 90.
    cosa intendi con "livello", in questo caso? (quale livello?)

    Originariamente inviato da marcoc1712
    se metti ANCHE il gain è come se mettesi uno shift ulteriore al db_ref, quindi 'falsi' il quadro (da qui i valori diversi di picco, presumibilmente).
    penso proprio di sì... (vedi quello che dicevo poco sopra).

    Originariamente inviato da marcoc1712
    Comunque è troppo vago, dovrebbero spiegare meglio, magari mi guardo il codice.
    sì, temo sia l'unica soluzione per tagliare la testa al toro. A meno che non ci sia qualche spiegazione più chiara in qualche "risorsa" online (WiKi, ecc).
    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.»

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022