La soluzione di tutto non dovrebbe/potrebbe essere il RAM drive??

Pagina 1 di 3 1 2 3 ultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    gibibyte L'avatar di DacPassion
    Registrato
    Jul 2014
    Messaggi
    1,250

    Predefinito La soluzione di tutto non dovrebbe/potrebbe essere il RAM drive??

    Nelle varie discussioni con Marco e gli altri ci siamo sempre detti che uno dei maggiori motivi di separare il server dal player è quello di far eseguire al server la parte "sporca" del lavoro (conversione da flac a waw ed eventuale upsampling). Ora mi domando, con la funzione RAM drive o RAM play o come la volete chiamare ad esempio daphile (usato nella sua classica configurazione server e client nella stessa macchina) prima di mettere in play il disco lo converte in waw eventualmente lo upsampla e lo carica in RAM. Una volta caricato in RAM il lavoro della CPU crolla (siamo sui livelli di utilizzo come singolo player) con l'ulteriore vantaggio che anche l'utilizzo della rete sta a zero.
    Insomma dovrebbe essere tutto perfetto ma...
    Perché c'è un ma, da cosa dipende? Cosa mi sfugge??
    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

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

    Predefinito

    Originariamente inviato da DacPassion
    Insomma dovrebbe essere tutto perfetto ma...
    Perché c'è un ma, da cosa dipende? Cosa mi sfugge??
    p.es. la latenza?

    (ovvero sia il fatto che tra quando decidi di ascoltare un brano ed il momento in cui quello comincia effettivamente a suonare passa tutto il tempo necessario a processarlo... comodo, no?).

    p.es. il fatto che, collegato direttamente al DAC, anziché avere un oggetto a basso consumo e basso rumore sei costretto ad avere un computer abbastanza potente da poter elaborare i files in tempi ragionevoli, e quindi verosimilmente più rumoroso?

    Come se non bastasse, delle due una:

    1) usi un NAS;

    oppure

    2) sei costretto ad avere lo storage (il/gli HDD con la musica) connesso alla macchina collegata all'impianto.

    Nel caso 1) ti ritrovi comunque con del traffico di rete(*), mentre nel caso 2) peggio che andar di notte, ti trovi tutto il rumore dei dischi.

    (*) in effetti, se usi il RAM-disk e non carichi altri files mentre ne sta suonando uno, puoi evitare il traffico durante la riproduzione... al prezzo di dover aspettare un mucchio di tempo tra una traccia e la successiva (pensa che bello con quegli album in cui non c'è e non ci dovrebbe essere soluzione di continuità tra una traccia e l'altra...) oppure di dover pre-caricare e pre-processare un intero album alla volta (il che significa che una volta che hai deciso quale ascoltare, puoi andarti a prendere un caffè al bar prima che quello si metta a suonare...).
    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
    byte
    Registrato
    May 2012
    Età
    50
    Messaggi
    188

    Predefinito

    Ovviamente essendo tutti diversi abbiamo opinioni diverse.
    Io sto usando due daphile e carico un album intero in ram sul server e non mi sembra che ci metta un eternitá direi che tra trovare il cd fisico prenderlo e inserirlo nel lettore ci metto lo stesso tempo anzi meno e la riproduzione ne guadagna eccome se ne guadagna il tutto con un atom 525. Ovviamente ascolto un album per volta se invece devo fare zapping tra i brani evito e ascolto senza caricare in ram. Sul server é collegato un disco usb ad alte prestazioni un lacie d2 e il rumore usando il player su altra macchina non é un problema.

  4. #4
    gibibyte L'avatar di DacPassion
    Registrato
    Jul 2014
    Messaggi
    1,250

    Predefinito

    Dunque... la prova che ho fatto l'ho eseguita con il futro (con 2gb di RAM) quindi lo stesso pc che userei (uso) come singolo player. Utilizzando il 1541 upsamplo a 88/92khz quindi non impiega molto tempo per elaborare l'intero disco (nel caso i 2gb siano sufficienti a contenere l'intero album). Come storage ho utilizzato un nas, quindi zero dischi e zero traffico di rete mentre ascolto.
    Però manca lo stesso qualcosa, perché ?? Che spiegazione può esserci??
    (Ps intendo rispetto alla solita configurazione: server c3po, player minimale)
    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

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

    Predefinito

    Originariamente inviato da DacPassion
    Dunque... la prova che ho fatto l'ho eseguita con il futro (con 2gb di RAM) quindi lo stesso pc che userei (uso) come singolo player. Utilizzando il 1541 upsamplo a 88/92khz quindi non impiega molto tempo per elaborare l'intero disco (nel caso i 2gb siano sufficienti a contenere l'intero album). Come storage ho utilizzato un nas, quindi zero dischi e zero traffico di rete mentre ascolto.
    Però manca lo stesso qualcosa, perché ?? Che spiegazione può esserci??
    (Ps intendo rispetto alla solita configurazione: server c3po, player minimale)
    1. il processo di transcode di LMS lavora PER TRACCIA. quindi NON c'è modo di mettere in RAMDISK (o in un buffer, per la via) un intero album (suddiviso per tracce) DECODIFICATO prima di iniziarne la riproduzione. Non si può, punto e basta, LMS non funziona così.

    E' certamente possibile farlo usando il transcoder ESTERNAMENTE a LMS, nel processo che carica il RAMDISK, ma non è come lavora LMS e - ma posso sbagliarmi - nemmeno Daphile (*).

    Dubito che i tempi per convertire un album di 60 minuti potrebbero scendere sotto a qualche secondo, certo, sempre meno che cercare un CD, caricarlo, ecc. La qualità della conversione dipenderà comunque dai parametri utilizzati (dithering, qualità, filtri,...).

    Quanto segue è riferito ad un RAMDISK riempito per semplice copia, senza conversione di formato e/o upsampling, in caso contrario, ci si troverà sempre nelle condizioni 2 o 3, mai nella 4, quindi C-3PO è escluso a priori.

    2. Se si utilizza WAV come formato di storage, lo si manda al player locale e lo si esegue così com'è, può avere un senso usare il RAMDISK in alternativa al buffer di grandi dimensioni in ingresso al player, ma non ci si illuda, COMUNQUE la comunicazione avviene PER TRACCIA, quindi si ha 'traffico' TCP/IP' (anche se locale) ed interrupt alla CPU in funzione della dimensione dei buffer e del period count impostati (se ALSA) o automaticamente determinati (se PA), quindi con ogni porbabilità, ma conviene provare, lo stesso scopo lo raggiunge un buffer in ingresso al player di generose dimensioni ed una impostazione dei parametri ALSA non orientata a limitare la latenza (che sarà comunque MOLTO inferiore rispetto al RAMDISK).

    3. Se nelle condizioni di cui sopra si usa un player remoto, a mio avviso è comunque importante un buffer in ingresso capace di contenere comodamente la traccia, quindi non so quanto possa essere utile il RAMDISK iniziale, credo realmente poco, se poi si usa FLAC o altro come formato, lasciando al player la conversione, ancora meno.

    4. SE transcoding ed upsampling si fanno fare a C-3PO o ad LMS, ritengo del tutto inutile (se non dannoso) il RAMDISK iniziale, il processo di conversione può (in modo nascosto e trasparente) provocare l'uso di molta RAM (fino alla dmensione del file convertito) e/o la scrittura su disco di file temporanei in stati intermedi, quindi che l'origine sia un RAM disk assume ben poco significato...

    In questo caso, con player locale, è probabilmente preferibile usare un ampio buffer in ingresso al Player, capace di contenere l'intera traccia (io uso 1Gb), che è la condizione più vicina all'utilizzo di un RAMDISK immediatamente a valle del player che si possa simulare.

    Nelle stesse condizoni ma con player remoto, diventa a mio avviso fondamentale avere un buffer ampio in ingresso al player, mentre ritengo indifferente l'utilizzo o meno del ramdisk iniziale sul server.

    In tutte le condizioni (ed in particolare la 4) è FONDAMENTALE accertarsi di non provocare paginazioni a causa del RAMDISK e/o della dimensione dei buffer, la cura sarebbe di certo peggiore del male.

    (*) Mi postate per favore la riga di transcode usata da Daphile con attivo il RAMDISK e l'upsamplig/decode? (da qualche parte si accede al log).

    Grazie.
    Ultima modifica di marcoc1712 : 22-01-2017 a 18:47
    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

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

    Predefinito

    Ho verificato il codice di Daphile in merito.

    In effetti cliccando sul play from RAM viene lanciato il processo di transcode per ogni traccia della playlist corrente, con output su file (nel ramdisk) invece che verso il player, dopo di che lms lancia il porcesso di esecuzione a partire dal formato di file che è identico a quello che si aspetta il player, riconducendosi al caso 2 del mio precedente post.

    Temo però funzioni SOLO per il player locale, io non ho modo semplice di verificare cosa succede per un player remoto DAPHILE, ma per un player remoto 'semplicemente' squeezelite non funziona, non compare nemmeno l'icona del play from ram.

    Qualcuno può verificare?

    Grazie.

    p.s.

    Ci sono differenze tra quello che fa Daphile e C-3PO/Squeezelite-R2 nel transcode?

    In C-3PO puoi specificare molti più parametri rispetto a quanto fai in Daphile, che conseguentemente usa i suoi default o quelli di SOX, dipende da come li imposti. Analogo discorso per i parametri di squeezelite, ma puoi ottenere ESATTAMENTE le stesse combinazioni, nel qual caso a parità di hw mi apsetterei le stessse possibili differenze che un diverso OS (o diverse configurazioni dello stesso OS) possono introdurre.
    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

    se si vuole usare un ramdisk in quel modo (cioè, facendo decodifica e pre-processing a priori, e poi mandando in play il wav già elaborato), non ha più alcun senso usare LMS e soci... basta uno script banale per automatizzare la procedura (un comando di sox, eventualmente con un ciclo per processare in un colpo solo "n" files), e poi usare banalmente aplay o simili...
    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

    Originariamente inviato da UnixMan
    se si vuole usare un ramdisk in quel modo (cioè, facendo decodifica e pre-processing a priori, e poi mandando in play il wav già elaborato), non ha più alcun senso usare LMS e soci... basta uno script banale per automatizzare la procedura (un comando di sox, eventualmente con un ciclo per processare in un colpo solo "n" files), e poi usare banalmente aplay o simili...
    Allora, con una serie di giri strani e 2 chiavette sono riuscito ad usare il miniPc come Server ed una VM sul server come client, entrambi con Daphile, in questo modo si ottiene questo:

    a. Accedendo al 'client' daphile, questo presenta la web gui del SERVER cui è collagato e non consente di fare play from ram.
    b. Accedendo al 'server' daphile, presenta la sua web gui e selezionando il palyer daphile - sia interno che esterno - consente di fare play from ram ed effettivamente fa il decode e l'upsampling prima di inviare al player.

    Una volta capito che all'indirizzo del player in realtà viene presentato il server ed immaginando che la limitazione sia un refuso, è possibile in sostanza fare decode ed upsamling SUL SERVER indirizzando un suo RAMDISK , quindi inviare in modo 'nativo' (cioè escludendo qualsiasi uteriore trattamento) gli streams al server leggendo da ramdisk.

    @Paolo, quello che dici è vero, ma non credo usando un server remoto, questo è indubbiamnete un modo per farlo, tenedo il player minimale. Mi tengo i miei bei dubbi sul fatto che sia utile, proprio perchè su un server remoto filtrato da un trasferimento via rete ed un buffer in ingresso il cui comportamento è sostanzialmente dipendente solo dal 'consumo' del player, ma tant'è.

    IN pratica si possono configurare 4 distinte condizioni di test, che producono - all'ingresso di squeezelite - le stesse medesime informazioni:

    a. flac 44100 -> Transcode wav HD -> ramdisk -> LMS -> Squeezelite.
    b. flac 44100 -> LMS -> Transcode wav HD -> Squeezelite.
    c. (flac 44100 -> Transcode->) wav HD -> LMS -> Squeezelite
    d. (flac 44100 -> Transcode->) wav HD -> ramdisk -> LMS -> Squeezelite


    Dato che trovate differenze tra a e b, sarebbe interessanta capire:

    1. se e quali differenze ci sono tra c e d.

    Se NON ci sono differenze appprezzabili:

    2. Se c e d sono più simili ad a o a b.

    Altrimenti

    3. Se ci sono differenze (e quali) tra a e d e/o b e c.
    4. se le differenze di cui al punto 3 sono paragonabili per intensità a quelle tra a e b, oppure minori o maggiori.

    Ci permetterebbe di isolare l'influenza del ramdisk.
    Ultima modifica di marcoc1712 : 22-01-2017 a 23:34
    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
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da marcoc1712
    @Paolo, quello che dici è vero, ma non credo usando un server remoto,
    leggermente più macchinoso, ma si può fare: redirigi l'output del comando (sox) che fa decodifica ed upsampling ad una pipe che, ad es. via ssh, scrive l'output su un ramdisk sul "player" remoto. Dopo di che, sempre via ssh o simili, avvii aplay lì...
    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.»

  10. #10
    gibibyte L'avatar di DacPassion
    Registrato
    Jul 2014
    Messaggi
    1,250

    Predefinito

    Probabilmente non ho capito bene la risposta, oppure/e il mio quesito non era chiaro.
    Ho fatto la seguente prova su macchina singola (cioè player e server nella stessa macchina con daphile) con storage su nas:
    Mandando in play un determinato album utilizzando la funzione play from ram ho notato che prima del play ovviamente c'è un gran lavoro di rete (file che vengono prelevati dal nas) e di processore (decoding da flac a waw e upsampling) poi invece durante la riproduzione il traffico di rete sta a zero e il processore ha impiego molto basso (paragonabile all'impiego dello stesso pc come singolo player).
    Perché nonostante le condizioni apparentemente siano positive e anzi maggiormente favorevoli non ho le stesse prestazioni all'ascolto dell'uso di due macchine separate?? Allora non si tratta solo di alleggerire il carico del pc durante il play, che altro c'è??
    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

Pagina 1 di 3 1 2 3 ultimo

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