Archphile - μια audiophile διανομή για Raspberry Pi, Udoo, Cubox-i και Odroid C1+/C2

Internet King

Supreme Member
24 June 2006
4,763
Π. Φάληρο, Αθήνα
Οταν παίζεις ένα αρχείο DSD σε native mode και εφόσον υποστηρίζεται το native DSD από το DAC και το USB interface , τότε δεν πραγματοποιείται μετατροπή σε δειγματοληψία 352KHz.
Τι εννοείς "παίζω και με μη ενεργοποιημένο DoP dsd αρχείο που το μετατρέπει σε 352 και native αρχείο 352" ;
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Εγώ με το επίσημο πακακι παίζω χωρις κανένα θέμα.

Sent from my MI MAX 2 using Tapatalk
 

nickvas19

AVClub Addicted Member
11 August 2011
2,008
μας αρρωστησες να πουμε.

Σε ευχαριστω φιλοοος για το img :) :) :)

Πες και λιγα λογια για το mamboberry....χτυπαει dac του 500αρικου....θελει τροφοδοσια δικη του;
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Για το mamboberry θα γράψω σε άλλο νήμα και αφού το ακούσω καλά.

Πάντως μιλάμε για dac που η φτηνή του έκδοση κάνει 60 και η ακριβή του 120. Αντιλαμβάνεσαι ότι τουλάχιστον εγώ δε θα μπω στη διαδικασία να συγκρίνω με dac που κάνουν 5 φορές πάνω.

Sent from my MI MAX 2 using Tapatalk
 

nickvas19

AVClub Addicted Member
11 August 2011
2,008
οκ αναμενουμε.

Δεν εχει να κανει η τιμη παντως. το ρασπερι παιζει καλυτερα απο λαπτοπ.το ενα κανει 40ε το αλλο παραπανω. οπως και ενα dac πχ το ifi που το εβαλα διπλα σε ενα ενσωματωμενο dac απο ενισχυτη,το ifi επαιξε πολυ χειροτερα. Εαν κρινω απο την φιλοσοφια που επικρατει στο rpi θαρρω οτι θα ναι πολυ πολυ καλο, ησυχο και με αναλυση.ειναι γνωστο οτι οι διαφορες στα dac ανα 500ε ειναι μικρες συνηθως της ταξεως 3-5%.μην το θεωρεις παραλογο οποτε αυτο που σου λεω.

Αυτο που δεν καταλαβα ειναι εαν εχει δικη του τροφοδοσια και εαν ειναι εχτρα.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Παιρνει πάνω του την τροφοδοσία αυτο και τροφοδοτεί με τη σειρά του το rpi.

Με κάθε επιφύλαξη νομίζω ότι αν θέλει κάποιος μπορεί να ρίξει και ξεχωριστές τροφοδοσιες αφαιρώντας ένα jumper.

Σε κάθε περίπτωση νομίζω ότι ένα και καλό τροφοδοτικό πάνω στο dac αρκεί.

Ας μη συνεχίσουμε άλλο όμως στο νήμα του archphile γι αυτό.

Sent from my MI MAX 2 using Tapatalk
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Re: Απάντηση: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo, Cubox-i και

Οταν παίζεις ένα αρχείο DSD σε native mode και εφόσον υποστηρίζεται το native DSD από το DAC και το USB interface , τότε δεν πραγματοποιείται μετατροπή σε δειγματοληψία 352KHz.
Τι εννοείς "παίζω και με μη ενεργοποιημένο DoP dsd αρχείο που το μετατρέπει σε 352 και native αρχείο 352" ;

Λοιπόν, για να λυθούν όλες οι απορίες, ξεκινάω από USB dac. Η εντολή που μας δείχνει τι φτάνει στο receiver είναι αυτή:

Code:
cat /proc/asound/card*/pcm*p/sub*/hw_params


Αποτελέσματα με dop yes


- DSD64

Code:
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 22050
buffer_size: 88200

- DSD128

Code:
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 131072



Αποτελέσματα με dop no ή με απουσία εντελώς της γραμμής αυτής - γίνεται έλεγχος αν το dac υποστηρίζει native DSD, αλλίως γίνεται conversion σε PCM


- DSD64

Code:
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 88200 (88200/1)
period_size: 11025
buffer_size: 44100


- DSD128

Code:
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 22050
buffer_size: 88200

- DSD256

Code:
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 131072


Στο πρώτο σετ από αποτελέσματα βλέπουμε ότι παίζει με dop. Το format είναι 32 bit PCM, ενω τα sample rates ξεκινούν απο 176400 για DSD64 και διπλασιάζονται για κάθε επόμενο DSD.

Στο δεύτερο σετ, έχει γίνει ο έλεγχος από τον MPD και έχει διαπιστώσει οτι το dac παίζει native DSD. Το format είναι DSD_U32_BE και το sampling rate είναι 88200 για DSD64 και διπλασιάζεται για κάθε επόμενο DSD.

Να σημειωθεί ότι αν με DOP yes πάω να παίξω DSD256 και το receiver υποστηρίζει μέχρι DSD128 με αυτό το πρωτόκολλο, ο MPD κάνει επίσης τον γνωστό έλεγχο και ή γυρνάει σε PCM ή σε native DSD, στην περίπτωσή μου δηλαδή ακόμα και με DOP yes, σε DSD 256 το αποτέλεσμα είναι:


Code:
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 131072


Με την πρώτη ευκαιρία, ότανθα ξαναέχω το AUNE S16 σπίτι μου που δεν υποστηρίζει native DSD σε Linux, θα σας δείξω τα αντίστοιχα outputs.
 

sat lover

Established Member
18 November 2007
272
Δεν μπορω να καταλάβω γιατί δεν μου σκαναρει τα nas.Έχω βαλει nas1 nas2 οπως τα ειχα στην προηγούμενη εγκατάσταση με τις ιδιες γραμμές στο fstab,περασα με filezilla την σωσμενη database,τίποτα!Οι usb δισκοι φάνηκαν αμεσως στο library update.
 

DomieMic65

Supreme Member
10 July 2006
9,689
Αθήνα
Το δικό μου DAC υποτίθεται πως παίζει native dsd μέχρι 128 σίγουρα κ δεν θυμάμαι για 256.
Παρ όλα αυτά με "DoP no" γίνεται μετατροπή.
Πρέπει να αλλάξω κάτι στο mpd.conf;
Ευχαριστώ!
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Το δικό μου DAC υποτίθεται πως παίζει native dsd μέχρι 128 σίγουρα κ δεν θυμάμαι για 256.
Παρ όλα αυτά με "DoP no" γίνεται μετατροπή.
Πρέπει να αλλάξω κάτι στο mpd.conf;
Ευχαριστώ!

Στο blog μου έχω γράψει ένα αναλυτικό post που εξηγώ τι ακριβώς συμβαίνει με όλα αυτά:

http://thepenguin.eu/2017-12-22-mpd-and-dsd-files/

Στην πράξη δεν αρκεί το dac σου να υποστηρίζει native dsd, αλλά θα πρέπει να υποστηρίζεται αυτη η λειτουργία και σε Linux.

Αν με dop no, δεν βλέπεις ότι έδειξα παραπάνω, τότε ο MPD κάνει fallback σε DSD το PCM, οπότε δεν ασχολείσαι παραπάνω και απλόυστατα ανοίγεις το dop και ξενοιάζεις.


Να σου πω την αμαρτία μου, περισσότερο εμπιστεύομαι το dop παρά το native dsd, γιατι το πρώτο είναι πιο δοκιμασμένο και γιατί έχω πεισθει ότι δε υπάρχει καμία απολύτως διαφορά μεταξύ τους.
 

DomieMic65

Supreme Member
10 July 2006
9,689
Αθήνα
Στο blog μου έχω γράψει ένα αναλυτικό post που εξηγώ τι ακριβώς συμβαίνει με όλα αυτά:

http://thepenguin.eu/2017-12-22-mpd-and-dsd-files/

Στην πράξη δεν αρκεί το dac σου να υποστηρίζει native dsd, αλλά θα πρέπει να υποστηρίζεται αυτη η λειτουργία και σε Linux.

Αν με dop no, δεν βλέπεις ότι έδειξα παραπάνω, τότε ο MPD κάνει fallback σε DSD το PCM, οπότε δεν ασχολείσαι παραπάνω και απλόυστατα ανοίγεις το dop και ξενοιάζεις.


Να σου πω την αμαρτία μου, περισσότερο εμπιστεύομαι το dop παρά το native dsd, γιατι το πρώτο είναι πιο δοκιμασμένο και γιατί έχω πεισθει ότι δε υπάρχει καμία απολύτως διαφορά μεταξύ τους.

ΟΚ... ευχαριστώ!
Οι ερώτηση ήταν περισσότερο εγκυκλοπαιδική!! Άλλωστε τόσο καιρό με Mac με DoP έπαιζα!
Θα διαβάσω πάλι την ανάρτηση σου..
 

Internet King

Supreme Member
24 June 2006
4,763
Π. Φάληρο, Αθήνα
Απάντηση: Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo, Cubox-i και

Το δικό μου DAC υποτίθεται πως παίζει native dsd μέχρι 128 σίγουρα κ δεν θυμάμαι για 256.
Παρ όλα αυτά με "DoP no" γίνεται μετατροπή.
Πρέπει να αλλάξω κάτι στο mpd.conf;
Ευχαριστώ!

Προφανώς το DAC σου , δεν παίζει native DSD σε συνδυασμό με το RPi3 ή/και το linux distribution. Πολύ πιθανόν το ίδιο να συμβαίνει και με τα υπόλοιπες γνωστές διανομές όπως Moode 4, Volumio.
Γι' αυτό το λόγο σου ζήτησα να μου εξηγήσεις πως είναι δυνατόν να παίζεις σε native DSD και η δειγματοληψία να μετατρέπεται αυτόματα σε 252.8KHz (DXD).
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Re: Απάντηση: Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo, Cubox-i

Προφανώς το DAC σου , δεν παίζει native DSD σε συνδυασμό με το RPi3 ή/και το linux distribution. Πολύ πιθανόν το ίδιο να συμβαίνει και με τα υπόλοιπες γνωστές διανομές όπως Moode 4, Volumio.
Γι' αυτό το λόγο σου ζήτησα να μου εξηγήσεις πως είναι δυνατόν να παίζεις σε native DSD και η δειγματοληψία να μετατρέπεται αυτόματα σε 252.8KHz (DXD).


Αυτό δεν έχει να κάνει με Linux διανομές και Archphile, Moode κλπ. Τα πράγματα είναι πιο απλά:

1. το DAC να υποστηρίζει native DSD
2. το native DSD mode του DAC να υποστηρίζεται από τον Linux kernel:


https://github.com/torvalds/linux/blob/master/sound/usb/quirks.c


Αν πατε σχετικά προς το τέλος, θα δείτε πως καταχωρίζονται τα dacs στον κώδικα.


Το 2 μπορεί να γίνει και με patch στον kernel, αν γνωρίζουμε κάποια έξτρα στοιχεία για το dac. Μια από τις βασικές προυποθέσεις είναι ο USB receiver να διαφημίζει προς τα έξω ένα διαθέσιμο special altset:

Αυτό μπορέι να διαπιστωθεί εύκολα με την εντολή

Code:
cat /proc/asound/card*/stream0

Αν την τρέξουμε για το USB receiver του DIYINHK πχ, θα δούμε ότι το native dsd έχει οριστέι στο altset 3 που είναι και το special:

Code:
[root@archphile music]# cat /proc/asound/card*/stream0
DIYINHK DIYINHK USB Audio 2.0 at usb-c9100000.usb-1.2.1, high speed : USB Audio


Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us
  Interface 1
    Altset 2
    Format: S16_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us
  Interface 1
    Altset 3
    Format: SPECIAL DSD_U32_BE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us


Σε dac που δεν υποστηρίζεται απο τον kernel για native dsd, στο Altset 2 ή 3 de ua δείτε να λέει DSD_U32_BE. Απλά θα πρέπει να υπάρχει ένα Altset που να λέει special.

Με το altset γνωστό, μετά χρειάζεται το id του receiver:

Code:
[root@archphile music]# lsusb
Bus 001 Device 004: ID 20b1:2009 XMOS Ltd


Συνδυάστε όλα αυτά με το λινκ που έδωσα παραπάνω και θα δείτε πως καταχωρίζεται ένα dac στον κώδικα του kernel. Aν πάτε χαμηλά όπως έγραψα και πιο πάνω, μεταξύ άλλων θα δείτε:


Code:
case USB_ID(0x20b1, 0x000a): /* Gustard DAC-X20U */
    case USB_ID(0x20b1, 0x2009): /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
    case USB_ID(0x20b1, 0x2023): /* JLsounds I2SoverUSB */
    case USB_ID(0x20b1, 0x3023): /* Aune X1S 32BIT/384 DSD DAC */
    case USB_ID(0x2616, 0x0106): /* PS Audio NuWave DAC */
        if (fp->altsetting == 3)
            return SNDRV_PCM_FMTBIT_DSD_U32_BE;
        break;


Mε λίγα λόγια στο altset 3 έχει καταχωριστέι η συσκευή:

Code:
    case USB_ID(0x20b1, 0x2009): /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */


Που είναι και το receiver του παραδείγματός μου.
 
Last edited:

DomieMic65

Supreme Member
10 July 2006
9,689
Αθήνα
Re: Απάντηση: Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo, Cubox-i

Προφανώς το DAC σου , δεν παίζει native DSD σε συνδυασμό με το RPi3 ή/και το linux distribution. Πολύ πιθανόν το ίδιο να συμβαίνει και με τα υπόλοιπες γνωστές διανομές όπως Moode 4, Volumio.
Γι' αυτό το λόγο σου ζήτησα να μου εξηγήσεις πως είναι δυνατόν να παίζεις σε native DSD και η δειγματοληψία να μετατρέπεται αυτόματα σε 252.8KHz (DXD).

Ναι μάλλον όπως το λες είναι!
Πότε μου το ζήτησες; Δεν το είδα...
Προφανώς όπως έγραψε και ο Μιχάλης πιο πάνω γίνεται μετατροπή σε PCM αν ο DAC δεν υποστηρίζει native DSD, στην περίπτωση που είναι “DoP off”.
Όταν επιστρέψω στο σπίτι θα κάνω τους ελέγχους με την πιο πάνω εντολή να δω τι αποτελέσματα δίνει για να σιγουρευτώ!
 

Internet King

Supreme Member
24 June 2006
4,763
Π. Φάληρο, Αθήνα
Η αναπαραγωγή μουσικών έργων σε native DSD, σε ένα πολύ καλό σύστημα, είναι μια καλή εμπειρία. Οι διαφορές θεωρώ ότι είναι μικρές, ωστόσο η μουσική ακούγεται πιο καθαρά και ταυτόχρονα πιο φυσικά. Σαν να ακούς ένα πολύ καλό πικάπ με μια καλύτερη κεφαλή. Ο ήχος είναι πιο ζεστός , πιο αναλογικός θα έλεγα. Επίσης παρατηρώ μεγαλύτερο βάθος της μουσικής σκηνής και μείωση των συριστικών στις ανθρώπινες γυναικείες φωνές, χωρίς να χάνεται η λεπτομέρεια και η ανάλυση.
Πρέπει κάποιος να γνωρίζει πολύ καλά ένα σύστημα για να αντιληφτεί τόσο μικρές διαφορές.
 

tuxx

Supreme Member
3 January 2014
3,319
/dev/null
Re: Απάντηση: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo, Cubox-i και

Η αναπαραγωγή μουσικών έργων σε native DSD, σε ένα πολύ καλό σύστημα, είναι μια καλή εμπειρία. Οι διαφορές θεωρώ ότι είναι μικρές, ωστόσο η μουσική ακούγεται πιο καθαρά και ταυτόχρονα πιο φυσικά. Σαν να ακούς ένα πολύ καλό πικάπ με μια καλύτερη κεφαλή. Ο ήχος είναι πιο ζεστός , πιο αναλογικός θα έλεγα. Επίσης παρατηρώ μεγαλύτερο βάθος της μουσικής σκηνής και μείωση των συριστικών στις ανθρώπινες γυναικείες φωνές, χωρίς να χάνεται η λεπτομέρεια και η ανάλυση.
Πρέπει κάποιος να γνωρίζει πολύ καλά ένα σύστημα για να αντιληφτεί τόσο μικρές διαφορές.


Όταν μιλάμε για native DSD vs DOP αναφερόμαστε για το πως φτάνουν τα data από το transport στο USB receiver και μόνο.


Με δεδομένο το παραπάνω, συγνώμη αλλά αμφισβητώ πλήρως όσα έγραψες.


Από εκεί και μετά ο δρόμος είναι ίδιος και στην συντριπτική πλειοψηφία των DACS ακολουθεί μετατροπή σε PCM (το μονο dac που εγώ ξέρω να μην κάνει κάτι τέτοιο είναι το AK4490 αν έχει υλοποιηθεί σωστά).
 

DomieMic65

Supreme Member
10 July 2006
9,689
Αθήνα
Re: Απάντηση: Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo, Cubox-i

Αυτό δεν έχει να κάνει με Linux διανομές και Archphile, Moode κλπ. Τα πράγματα είναι πιο απλά:

1. το DAC να υποστηρίζει native DSD
2. το native DSD mode του DAC να υποστηρίζεται από τον Linux kernel:


https://github.com/torvalds/linux/blob/master/sound/usb/quirks.c


Αν πατε σχετικά προς το τέλος, θα δείτε πως καταχωρίζονται τα dacs στον κώδικα.


Το 2 μπορεί να γίνει και με patch στον kernel, αν γνωρίζουμε κάποια έξτρα στοιχεία για το dac. Μια από τις βασικές προυποθέσεις είναι ο USB receiver να διαφημίζει προς τα έξω ένα διαθέσιμο special altset:

Αυτό μπορέι να διαπιστωθεί εύκολα με την εντολή

Code:
cat /proc/asound/card*/stream0

Αν την τρέξουμε για το USB receiver του DIYINHK πχ, θα δούμε ότι το native dsd έχει οριστέι στο altset 3 που είναι και το special:

Code:
[root@archphile music]# cat /proc/asound/card*/stream0
DIYINHK DIYINHK USB Audio 2.0 at usb-c9100000.usb-1.2.1, high speed : USB Audio


Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us
  Interface 1
    Altset 2
    Format: S16_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us
  Interface 1
    Altset 3
    Format: SPECIAL DSD_U32_BE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us


Σε dac που δεν υποστηρίζεται απο τον kernel για native dsd, στο Altset 2 ή 3 de ua δείτε να λέει DSD_U32_BE. Απλά θα πρέπει να υπάρχει ένα Altset που να λέει special.

Με το altset γνωστό, μετά χρειάζεται το id του receiver:

Code:
[root@archphile music]# lsusb
Bus 001 Device 004: ID 20b1:2009 XMOS Ltd


Συνδυάστε όλα αυτά με το λινκ που έδωσα παραπάνω και θα δείτε πως καταχωρίζεται ένα dac στον κώδικα του kernel. Aν πάτε χαμηλά όπως έγραψα και πιο πάνω, μεταξύ άλλων θα δείτε:


Code:
case USB_ID(0x20b1, 0x000a): /* Gustard DAC-X20U */
    case USB_ID(0x20b1, 0x2009): /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
    case USB_ID(0x20b1, 0x2023): /* JLsounds I2SoverUSB */
    case USB_ID(0x20b1, 0x3023): /* Aune X1S 32BIT/384 DSD DAC */
    case USB_ID(0x2616, 0x0106): /* PS Audio NuWave DAC */
        if (fp->altsetting == 3)
            return SNDRV_PCM_FMTBIT_DSD_U32_BE;
        break;


Mε λίγα λόγια στο altset 3 έχει καταχωριστέι η συσκευή:

Code:
    case USB_ID(0x20b1, 0x2009): /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */


Που είναι και το receiver του παραδείγματός μου.

Στον κώδικα πιο πάνω λέει altset 2... ξεκινάει από το 0;