Raspberry Pi2/Pi3 για audio χρήση - AVClub audio player

Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Αν στο mpd.conf δεν ορίσεις τίποτα, αρχικά θα προσπαθήσει να παίξει native dsd. Αν ορίσεις, η μόνη ρύθμιση που υπάρχει είναι για dop. Όταν η συσκευή δεν υποστηρίζει dsd θα παίξει αφού όμως κάνει μετατροπή σε pcm (όχι dop).

Το rpi με i2s κάνει το τελευταίο.


Επανέρχομαι στο θέμα του dop/native dsd/dsd to pcm.


Στο Linux έχει ξεκινήσει η υποστήριξη native dsd για συγκεκριμένα usb interfaces. Υπάρχουν και κάποια παράλληλα ανεπίσημα projects (από developer της mytek που ασχολούνται με αυτό). Το δικό μου dac φοράει το XMOS του DIYINHK που απ' όσο έχω διαβάσει θα αποκτήσει υποστήριξη native, αλλά προς στιγμή αρκούμαι στο dop (και για να πω την αμαρτία μου δεν γνωρίζω την τεχνική διαφορά των 2). Παρακάτω θα δώσω το output της μόνης εντολής που διασφαλίζει αν παίζουμε bit perfect και δίνει τις λεπτομέριες.


Περίπτωση 1: Ενεργοποιημένο το dop (dsd_usb "yes" ή dop "yes" - και τα δυο ενεργοποιούν το dop 1. Στο Archphile υπάρχει το πρώτο)

Code:
cat /proc/asound/card0/pcm0p/sub0/hw_params 
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 22050
buffer_size: 88200

Εδώ βλέπουμε το Bit depth στα 32 bit (συμβαίνει κατά κόρον στο Linux το τελικό depth να γίνεται 32 bit, κάτι που δεν επηρρεάζει το bit perfectness) και το sample rate στα 176400.


Περίπτωση 2: Απενεργοποημένο το dop


Εδώ υποτίθεται ότι απουσία setting στο mpd.conf, αν το dac το υποστηρίζει, θα παίξει native.


Code:
cat /proc/asound/card0/pcm0p/sub0/hw_params 
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 131072


Παρατηρούμε ότι διπλασιάστηκε και το rate και κάπου εδώ σηκώνω τα χέρια ψηλά, διότι δεν μπορώ να καταλάβω αν παίζω native ή γίνεται convert on the fly σε PCM. Ενεργοποιώ verbose logging και έχω τα εξής logs:


1. Με ενεργοποιημένο dop:

Code:
Apr 17 21:21 : output: opened plugin=alsa name="MY DAC" audio_format=352800:dsd:2


Mε απενεργοποιημενο dop:

Code:
Apr 17 21:22 : output: opened plugin=alsa name="MY DAC" audio_format=352800:32:2


Γενικώς τα αποτελέσματα είναι μια τρέλα και δεν μπορώ να βγάλω κανένα συμπέρασμα. Όποιος καταλαβαίνει κάτι παραπάνω, ας παραθέσει γνώμη μπας και βγάλουμε άκρη!



Edit: Ξέχασα το βασικότερο. Το Αρχείο είναι αυτό:

 
Last edited:
Απάντηση: Raspberry Pi2 για audio χρήση - AVClub audio player

Μιχάλη,κανονικά το DSD αναφέρει 2.822.400 Ηz (ως native).
Ta dac που το αναπαράγουν στα win είναι εύκολο να τα καταλάβεις,χρησιμοποιούν ASIO 2.2 drivers.
Τα υπόλοιπα είτε παίζουν DoP είτε κανονική μετατροπή σε PCM αναφέρουν 352.8.
Το 176.4 δεν έχει λόγο να υπάρχει παρά μόνο αν το dac δεν μπορεί να πάει παραπάνω οπότε το περιορίζει κανείς με σχετική ρύθμιση.
Όχι από μόνο του όμως...
Παράξενα όλα αυτά.
 
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Νόμιζα ότι με χρήση dop το output που βλέπουμε είναι 24/176400.

Θα το ψάξω κι άλλο γιατί το usb interface μου υποστηρίζεται επίσημα από το alsa σε native dsd mode.
 
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

όσον αφορά σύγκριση μεταξύ
Raspbery Pi2 και pc με linux με mpd

έχετε άποψη;

αναφέρομαι σε ηχητικές διαφορές σε redbook υλικό και όχι σε άλλες ευκολίες (πχ υποστήριξη streams κλπ)

αρχίζετε να με ψήνετε, και αν άκουγα διαφορά ευχαρίστως θα άλλαζα σε Rpi
 
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Νόμιζα ότι με χρήση dop το output που βλέπουμε είναι 24/176400.

Θα το ψάξω κι άλλο γιατί το usb interface μου υποστηρίζεται επίσημα από το alsa σε native dsd mode.

Η μέθοδος DoP στέλνει το DSD stream σαν PCM πακέτα στα 24/176.4 αλλά αυτά τα πακέτα τα "αποκωδικοποιεί" το USB to I2S interface σου ώστε να στείλει στο DAC πραγματικό σήμα DSD. Οπότε, αν τραβάς πληροφορίες για το σήμα από το DAC chip σου, πρέπει να σου δείξει DSD, όχι PCM.

Το Amanero μου πάντως βγάζει μια χαρά DSD σε συνεργασία με το RPi με Archphile μου.

Btw, ηχητικά δεν υπάρχει καμία διαφορά μεταξύ της μεθόδου DoP vs. Native DSD. Το ίδιο σήμα μεταφέρεται, ο τρόπος μόνο αλλάζει.
 
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Αυτό που λες έχω καταλάβει κ γω. Τις πληροφορίες τις τραβάω από το xmos παραπανω οπότε τουλάχιστον το dop παίζει σωστά.
 
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Δοκιμάζω τώρα στο Archphile ακρόαση από youtube με απόλυτη επιτυχία. Θέλει τα εξής:

1. Ενεργοποιημένο ffmpeg στο mpd.conf
2. Ενεργοποιημένο upnp/dlna
3. Bubbleupnp εφαρμογή στο Anrdroid


Επιλέγουμε το Archphile ως renderer στο bubbleupnp, πάμε στην εφαρμογή youtube, βρίσκουμε ένα βίντεο, το κάνουμε share στο bubbleupnp και ακούγεται από το Archphile άμεσα.


Έχω στο νου μου και πιο άμεσο τρόπο. Θα τον δοκιμάσω και θα σας πω. Πάντως η χρηση upnp/dlna είναι μανούλα για κάτι τέτοια.

ωραία νέα !!!! δεν κατάλαβα βέβαια αν θα μπορώ να το κάνω με τον gmpc ...
 
Απάντηση: Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Η μέθοδος DoP στέλνει το DSD stream σαν PCM πακέτα στα 24/176.4 αλλά αυτά τα πακέτα τα "αποκωδικοποιεί" το USB to I2S interface σου ώστε να στείλει στο DAC πραγματικό σήμα DSD. Οπότε, αν τραβάς πληροφορίες για το σήμα από το DAC chip σου, πρέπει να σου δείξει DSD, όχι PCM.

Το Amanero μου πάντως βγάζει μια χαρά DSD σε συνεργασία με το RPi με Archphile μου.

Btw, ηχητικά δεν υπάρχει καμία διαφορά μεταξύ της μεθόδου DoP vs. Native DSD. Το ίδιο σήμα μεταφέρεται, ο τρόπος μόνο αλλάζει.

Δημήτρη,στο Jriver με ASIO ή Wasapi,όντως στέλνει πακέτα 176.4.
Με Asio Proxy όμως (foo_dsd_asio,εμφανίζεται μόνο αν το έχει εγκαταστήσει κανείς και στο foobar) στέλνει πακέτα 352.8 και από τα όσα έψαξα,το σωστό είναι αυτό.
Χάος είπατε;
 
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

As seen above, the Windows platform basically offers a solution with the ASIO driver and the raw data format supported by USB Audio 2.0. This is not as ideal as having a dedicated DSD path via USB, but this is safe and straightforward.

Since the Apple OS only allows a PCM path, we have to find a way to put DSD audio data into PCM frames, which are then sent via the native USB driver. DSD has a sample size of 1 bit and a sample rate of 2.8224MHz. In other words, the data rate is 2.8224Mbits/sec. This is equivalent to 16-bit PCM at a rate of 176.4kHz. In order to clearly identify when this PCM stream contains DSD and when it contains PCM, we will need additional bits. The PCM format with the next higher bit rate is 24 bits at a sample rate of 176.4kHz. This gives us 8 extra bits for this marker of identifier. It seems like a bit overkill if all we need is 2 states (8 bits give us 256 states), but we will see that this extra overhead comes in handy. Here is how we can use the 24 bits in each sample and for each channel:

...

Two solutions are possible depending on whether or not the used PCM transmission scheme is capable of supporting the PCM rate of 352.8kHz:

The solution described above for 64FS DSD can easily be extended for 128FS by simply raising the underlying PCM sample rate from 176.4kHz to 352.8kHz. All the marker bytes and bit ordering remain the same.

...

http://www.positive-feedback.com/Issue60/dsd_usb.htm
 
Απάντηση: Raspberry Pi2 για audio χρήση - AVClub audio player

Και φώτο,προσέξτε την δειγματοληψία επάνω στις δυο φώτο.η μία λέει 176.4 (Wasapi έξοδος) η άλλη 352.8 (foo_dsd_asio έξοδος)
Και το τρελό είναι πως και στις δύο περιπτώσεις αναφέρει πως το σήμα είναι αναλλοίωτο! (μπλε φωτάκι).


ΓŽΒ§Γβ€°ΓΒΓŽΒ―Γβ€š Γβ€žΓŽΒ―Γβ€žΓŽΒ»ΓŽΒΏ3.pngΓŽΒ§Γβ€°ΓΒΓŽΒ―Γβ€š Γβ€žΓŽΒ―Γβ€žΓŽΒ»ΓŽΒΏ1.jpg
 
Απάντηση: Raspberry Pi2 για audio χρήση - AVClub audio player

Μιχάλη,δοκίμασε DSD128 ή DSD256 να δούμε τι θα αναφέρει.
Κανονικά πρέπει να δείξει 352.8 και 1411.2 αντίστοιχα.
 
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Με ενεργοποιημένο dop και DSD128 από 2L:

Code:
cat /proc/asound/card0/pcm0p/sub0/hw_params 

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


--- Αυτόματη συγχώνευση μηνύματος ---

Για να κλείσω αυτή την παρένθεση με τα DSD αρχεία, επαληθεύσαμε ότι με τις παραμέτρους dsd_usb "yes" ή dop "yes" στο mpd.conf, εφόσον το dac/usb interface μας υποστηρίζει dsd, θα αναπαράξουμε DSD μέσω Dop.

Αναφορικά με το native, προσπαθώ να καταλάβω από χτες τι γίνεται. Κάνω δοκιμές στο Udoo με kernel 4. Επίσης έχω alsa 1.0.29 που υποτίθεται ότι έχει στα σίγουρα υποστήριξη των native dsd formats. Ακόμα άκρη δεν έχω βγάλει, αλλά θεωρώ ότι κάποια πατάτα έχουν κάνει στον mpd και ακόμη δεν έχει υποστηριχθεί σωστά.

Στην αρχή αυτής της συζήτησης ανέφερα για ανεπίσημα projects πίσω από τα οποία είναι η mytek απ όσο κατάλαβα. Αναφέρομαι σε αυτά:

https://github.com/lintweaker/xmos-native-dsd
https://github.com/lintweaker

Τα projects μόνο ανεπίσημα δεν είναι καθώς η δουλειά αυτού του ανθρώπου είναι που πλέον έχει ενσωματωθεί σε kernel κλπ.


Για να δούμε ποια interfaces θεωρητικά υποστηρίζονται αυτή τη στιγμή upstream στον kernel του raspberry pi (αυτό δε σημαίνει ότι οι kernels που έχετε εγκατεστημένους αυτή τη στιγμή το υποστηρίζουν), αρκεί να δούμε το παρακάτω αρχείο:

https://github.com/raspberrypi/linux/blob/rpi-3.18.y/sound/usb/quirks.c


Αναφορικά με XMOS που ενδιαφέρουν αρκετούς από εμάς, θα υποστηριχθούν σίγουρα συσκευές με usb id που εμπεριέχει το 20b1. Αυτό το τσεκάρουμε ως εξής:

Code:
lsusb -d 20b1:

Πχ δείτε το output σε μένα:

Code:
[root@archphile ~]# lsusb -d 20b1:
Bus 001 Device 003: ID 20b1:2009 XMOS Ltd

Έκανα search για 20b1 και βρήκε το XMOS του DIYINHK κάτι που επιβεβαιώνεται και από τον κώδικα στον kernel:

Code:
/* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
	case USB_ID(0x20b1, 0x2009):
		if (fp->altsetting == 3)
			return SNDRV_PCM_FMTBIT_DSD_U32_BE;


Στον τελευταίο kernel οι συσκευές είναι περισσότερες οπότε θεωρώ ότι μέσα στους επόμενους μήνες θα έχουμε βγάλει μια άκρη για το τι συμβαίνει ακριβώς με το native mode, αν και εφόσον η απόδοση είναι ίδια με το DoP δεν καιγόμαστε και πολύ.
 
Last edited:
Re: Απάντηση: Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Δημήτρη,στο Jriver με ASIO ή Wasapi,όντως στέλνει πακέτα 176.4.
Με Asio Proxy όμως (foo_dsd_asio,εμφανίζεται μόνο αν το έχει εγκαταστήσει κανείς και στο foobar) στέλνει πακέτα 352.8 και από τα όσα έψαξα,το σωστό είναι αυτό.
Χάος είπατε;

Δεν ξέρω αν αυτό είναι το "σωστό" γιατί δεν καταλαβαίνω τι παραπάνω έχει να προσφέρει σε σχέση με το 24/176.4. Προφανώς μιλάω για το απλό DSD των 2.8MHz. Αν πάμε στα 5.6MHz προφανώς θέλουμε άλλο τόσο sampling rate για να χωρέσει να περάσει η πληροφορία.

Ένα ακόμα καλό με το 24/176.4 είναι ότι χωράει να περάσει ακόμα και από κλασικό s/pdif interface. Υπάρχουν DACs που λειτουργούν και έτσι, π.χ. το Aune S16. Δεν απαιτεί δηλαδή USB interface.
 
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Εγώ θεωρώ πως αν ψάχνουμε το "σωστό" θα πρέπει να δεχτούμε ότι ορίζεται στο dop standard για το οποίο έδωσε παραπάνω ο Τάσος λινκ.

Σύμφωνα με αυτό, όσα dop outputs έχω ποσταρει παραπάνω ακολουθούν πλήρως το πρότυπο.


Επίσης για να μη δημιουργείται σύγχυση με τα outputs αυτά, καθώς πάντοτε το bit depth αναφέρεται ως 32 bit, η εξήγηση που έχω βρει είναι ότι στην alsa, αν η συσκευή υποστηρίζει 32bit, τα 16 ή 24 "πακετάρονται σε 32bit" και στέλνονται σε αυτή. Η διαδικασία αυτή είναι loseless.

Εδώ και μια σύντομη αναφορά από κάποιον xbmc developer:

http://forum.kodi.tv/showthread.php?tid=149566&pid=1278535#pid1278535

Στα περισσότερα dacs και με όποια Linux διανομή δοκιμάσετε, εφόσον έχετε 32bit interface στο dac, το ouput θα δείχνει 32bit format.
 
Last edited:
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Πολλά USB interfaces δουλεύουν συνέχεια στα 32bit, π.χ. το Amanero. Αυτό δεν είναι πρόβλημα μιας και τα bits που περισσεύουν απλά γεμίζονται με μηδενικά. Δεν αλλάζει κάτι στο "χρήσιμο" bit depth. Επίσης το αντίστοιχο κάνουν και τα DACs που δεν βλέπουν πάνω από 24bits - απλά κάνουν truncate (κόβουν και πετάνε) τα μηδενικά που περισσεύουν.
 
Απάντηση: Raspberry Pi2 για audio χρήση - AVClub audio player

Δεν έχω καμία αντίρηση,απλώς αναρωτιέμαι γιατί ο Anisiutkin που είναι ο developer και στα δύο (linux και win) τα έχει δώσει διαφορετικά.
Φυσικά συντάσσομαι με την θεωρία που ανέβασε ο Τάσος,ούτε λόγος αφού είναι έτσι...

Πέρα από τον ήχο πάντως,είναι εντυπωσιακό να βλέπεις τα 1411.2 που αναφέρει ο Jriver. (καλό το amanero,το περνάει,να 'χαμε όμως και ντακ να το αναπαράγει native :flipout: )
 
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Ο Ρώσος είναι developer για SACD ISO σε δικό του MPD fork με κώδικα που δεν έχει γίνει accepted από τους devs του MPD λόγω αδειών. Τα παραπάνω που δοκιμάζω εγώ είναι στον επίσημο MPD όπου δεν υπάρχει κώδικας από αυτόν. Όλες οι δοκιμές ήταν με dsf αρχεία και όχι με ISO. Ήταν παράλειψη μου η μη αναφορά σε αυτό.
 
Απάντηση: Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Ο Ρώσος είναι developer για SACD ISO σε δικό του MPD fork με κώδικα που δεν έχει γίνει accepted από τους devs του MPD λόγω αδειών. Τα παραπάνω που δοκιμάζω εγώ είναι στον επίσημο MPD όπου δεν υπάρχει κώδικας από αυτόν. Όλες οι δοκιμές ήταν με dsf αρχεία και όχι με ISO. Ήταν παράλειψη μου η μη αναφορά σε αυτό.

:a0210:
Κακώς κατάλαβα δηλαδή πως χρησιμοποιεί τον ίδιο.
Οπότε εξηγείται.
 
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Ερώτηση σε όσους σύνδεσαν το RPi2 με εξωτερικό τροφοδοτικό:

Βλέπω ότι έχει χρησιμοποιηθεί τμήμα έτοιμου καλωδίου φόρτισης κινητού που καταλήγει σε micro usb type B.

Τα καλώδια όμως είναι ΠΑΡΑ πολύ μικρής διατομής, πράγμα που σημαίνει ότι δεν μπορούν να μεταφέρουν το απαιτούμενο ρεύμα των 2,000 mA (μέγιστο) που αναφέρει ο dimdim σε προηγούμενο ποστ.

Είτε χρειάζεται άλλη καλωδίωση, είτε το μήκος πρέπει να παραμένει σε πολύ κοντό μήκος ώστε η συνεπαγόμενη πτώση τάσης να μην προβληματίσει (δηλαδή να μην πέσει κάτω από τα 4.75 V)...
 
Re: Raspberry Pi2 για audio χρήση - AVClub audio player

Εγω έβαλα οτι πιο χοντρό βρήκα και το μήκος ειναι <10cm.