HQPlayer DFF to DSF

Visualizzazione dei risultati da 1 a 10 su 24

Hybrid View

Messaggio precedente Messaggio precedente   Prossimo messaggio Prossimo messaggio
  1. #1
    kibibyte L'avatar di Maggio
    Registrato
    Nov 2013
    Messaggi
    376

    Predefinito HQPlayer DFF to DSF

    DFFtoDSF è una utility creata da Miska per convertire i DSD da un formato all'altro.
    Qualcuno è a conoscenza dei comandi da utilizzare per la conversione (nello ZIP non trovo uno straccio di info)?
    Grazie

  2. #2
    Moderatore L'avatar di bibo01
    Registrato
    Oct 2010
    Messaggi
    4,591
    configurazione

    Predefinito

    Credo sia:

    dff2dsf "infile" "outfile" [tagfile]


    PS: ora c'è la v1.2.0
    Ultima modifica di bibo01 : 14-10-2014 a 16:57

  3. #3
    kibibyte L'avatar di Maggio
    Registrato
    Nov 2013
    Messaggi
    376

    Predefinito

    Si. Ma esiste un comando per fare tutto l'album e non file per file?

  4. #4
    nibble
    Registrato
    May 2012
    Località
    Firenze
    Età
    50
    Messaggi
    92
    configurazione

    Predefinito

    Perdonate l'ignoranza ma a che fine la conversione?

  5. #5
    kibibyte L'avatar di giordy60
    Registrato
    Dec 2010
    Località
    prov. cremona
    Età
    63
    Messaggi
    466
    configurazione

    Predefinito

    Originariamente inviato da mordo
    Perdonate l'ignoranza ma a che fine la conversione?
    HQPlayer non legge le iso
    il sistema audio
    Server HDPlex (i7-6700-WS2016) HQPlayer in Ramdisk + HQPDcontrol> Macmini (roon core + Tidal e qobuz ) ma anche hqplayer client con qobuz installato su portatile> HDPlex NAA (celeron G1840T-WS2016) NAD in Ramdisk, ma anche miniPC fitlet con immagine x86 per NAA > switch rete tp-link, Denafrips Ares2, SPLvolume2, monitor klein+hummel o410+sub Neumann KHo810

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

    Predefinito

    Originariamente inviato da Maggio
    Si. Ma esiste un comando per fare tutto l'album e non file per file?
    se sei su Linux (oppure se installi bash su windoze) ti basta dare:

    codice:
    for file in *.dff; do dff2dsf  "$file"  "$file.dsf"; done
    per convertire in un colpo solo in .dsf tutti i files .dff contenuti nella directory corrente.
    Ultima modifica di UnixMan : 14-10-2014 a 23:46 Motivo: corretta una svista nel comando...
    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.»

  7. #7
    kibibyte L'avatar di Maggio
    Registrato
    Nov 2013
    Messaggi
    376

    Predefinito

    Proverò! Grazie

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

    Predefinito

    Originariamente inviato da Maggio
    Proverò! Grazie
    di nulla.

    BTW: piccolo escursus didattico per spiegare il comando.

    Nei sistemi Unix non sono i singoli comandi (programmi) a dover gestire, ciascuno per proprio conto (se lo fanno) le "wildcard" (metacaratteri) come '*' '?', ecc (come avviene in DOS/windoze), ma è la stessa "shell" (AKA "CLI", Command Line Interface/Interpreter) a farlo, per tutti.

    Quando su una riga di comando scrivo ad es. *.dff, la shell sostituisce automaticamente questa stringa con la lista di tutti i files che corrispondono al pattern specificato (in questo caso tutti quelli il cui nome termina in .dff) prima di avviare qualsiasi altro comando (i comandi/programmi quindi non vedono le wildcard, ma direttamente la lista di files corrispondente).

    Il comando: "for <nome_variabile> in <lista>; do <comando> ; done" definisce un ciclo, che esegue il comando indicato dopo il "do" tante volte quanti sono gli elementi della <lista>, assegnando di volta in volta il valore corrispondente (il singolo elemento della lista) alla variabile il cui nome è stato specificato in "nome_variabile".

    Inoltre, sempre la shell sostituisce le stringhe "$nome_variabile" con il valore assegnato alla variabile con quel nome.

    In definitiva, il risultato è che il ciclo esegue "n" volte (in questo caso una per ogni file .dff) il comando specificato dopo il "do" (in questo caso dff2dsf), con i relativi argomenti, in questo caso "$file" "$file.dsf", che vengono sostituiti di volta in volta con un elemento della lista, cioè il nome di un file .dff.

    P.S.: nel comando che ho scritto nel post precedente c'era un errore (ora ho corretto): il primo argomento deve essere solo "$file" e non "$file.dff" come avevo erroneamente scritto, altrimenti al comando dff2dsf verrebbero passati come primo argomento nomi del tipo file.dff.dff, ovviamente inesistenti.

    A questo punto dovrebbe essere evidente che il risultato saranno dei files con nomi del tipo "xxxxx.dff.dsf".

    Non è un problema (anzi, potrebbe tornare utile per ricordarsi che sono stati convertiti), ma è "brutto".

    Se si vogliono ottenere dei files con nomi più "civili" di tipo "xxxxx.dsf", i files si possono rinominare a posteriori, ad es. con il comando:

    codice:
    rename 's/\.dff\.dsf/.dsf/' *.dff.dsf
    N.B.: solo se si è su una Debian o derivate (Mint, *Ubuntu, ecc) che hanno il comando rename scritto in Perl che usa quella sintassi! Purtroppo altre distribuzioni (tipicamente tutte le parenti di RedHat/Fedora) usano un comando "rename" diverso che usa una sintassi completamente diversa.

    In alternativa più elegantemente si può modificare il ciclo in modo da utilizzare direttamente il nome "giusto". Ad es.:
    codice:
    for file in *.dff; do dff2dsf  "$file"  "$(basename "$file" .dff).dsf"; done
    La sintassi "$(<comando>)" esegue il comando al suo interno e sostituisce a sé stessa l'output del comando specificato all'interno delle parentesi, in questo caso "basename" che, utilizzato in quel modo, "taglia via" la stringa specificata come secondo argomento dalla fine del primo. Il risultato finale è che si ottiene il nome del file "senza estensione" (cui segue quella nuova, ottenendo così il nome di destinazione desiderato).

    Ora provatevi a fare una cosa del genere con la GUI di windoze (o MacOS) senza dover compiere una infinità di operazioni ripetitive a mano, se ci riuscite...

    P.S.: va da sé che il comando puoi anche salvarlo sotto forma di comodo "script". Basta scriverlo in un file che ad es. puoi chiamare "dff2dsf.sh":
    codice:
    #!/bin/bash
    
    for file in *.dff 
       do dff2dsf  "$file"  "$(basename "$file" .dff).dsf"
    done
    rendere eseguibile il file con il comando:
    codice:
    chmod +x dff2dsf.sh
    e spostarlo in una dir inclusa nel PATH, ad es. /usr/local/bin oppure ~/bin (cioè $HOME/bin/).

    A questo punto, ogni volta che vuoi convertire tutti i .dff in una directory in .dsf, non devi fare altro che dare il comando df2dsf.sh ed il gioco è fatto.
    Ultima modifica di UnixMan : 15-10-2014 a 00:09
    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