Όπως θα θυμάστε μερικοί, στις τελευταίες εκδόσεις του MPD, υπότίθεται ότι έχει λυθεί ο ζήτημα με τα clicks κατά την ακρόαση DSD υλικού, όταν μεταπηδούμε σε άλλο track, πατάμε pause κλπ. Έκανα κάποιες δοκιμές με τον MPD 0.19.19 και DSD64 υλικό:
- Aune S16
Code:
Card 1, ID `DAC', name `S16 USB DAC'
Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (1 available)
2 channels, sampling rate 44100..384000 Hz
Sample formats: S32_LE
Code:
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 22050
buffer_size: 88200
To προόβλημα δεν έχει λυθεί και τα clicks παραμένουν ως είχαν.
- 9018k2m + DIYINHK XMOS
Code:
Card 1, ID `D20', name `DIYINHK USB Audio 2.0'
Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (1 available)
2 channels, sampling rate 44100..384000 Hz
Sample formats: S16_LE, S32_LE, SPECIAL, DSD_U32_BE
Code:
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 22050
buffer_size: 88200
Η αναπαραγωγή είναι άψογη χωρίς κανένα click. Παλιότερα ήταν το ίδιο χάλι με το Aune.
Επιπρόσθετα βλέποντας ότι το XMOS του κινέζου υποστηρίζει και DSD_U32_BE (για να είμαι πιο ακριβής, το υποστηρίζει επίσημα ως hardware ο kernel στο format αυτό), αποφάσισα να το δοκιμάσω με το extra πακέτο που φτιάχνω για MPD με υποστήριξη native dsd:
Code:
access: RW_INTERLEAVED
format: DSD_U32_BE
subformat: STD
channels: 2
rate: 88200 (88200/1)
period_size: 11025
buffer_size: 44100
Παίζει native κανονικότατα, αλλά παρόλα αυτά τα clicks έκαναν την επανεμφάνισή τους.
Έδωσα και ένα σχετικό feedback στον MPD bug tracker, χωρίς να αναφέρω τη δοκιμή μου με τον πατσαρισμένο MPD, για να μη αρχίσει στα μπινελίκια ο Max:
https://bugs.musicpd.org/view.php?id=4320
Ελπίζω να πάρω καμια ανθρώπινη απάντηση αυτή τη φορά και να καταλάβω τι ακριβώς παίζει.
--- Αυτόματη συγχώνευση μηνύματος ---
Να σημειωθεί ότι στον kernel που χρησιμοποιώ, θα έπρεπε το dsd format να υποστηρίζεται και από τiς δύο συσκευές:
https://github.com/hardkernel/linux/blob/odroidc2-3.14.y/sound/usb/quirks.c
Code:
/* XMOS based USB DACs */
switch (chip->usb_id) {
case USB_ID(0x20b1, 0x3008): /* iFi Audio micro/nano iDSD */
case USB_ID(0x20b1, 0x2008): /* Matrix Audio X-Sabre */
case USB_ID(0x20b1, 0x300a): /* Matrix Audio Mini-i Pro */
case USB_ID(0x22d9, 0x0416): /* OPPO HA-1 */
if (fp->altsetting == 2)
return SNDRV_PCM_FMTBIT_DSD_U32_BE;
break;
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;
Μπορεί να αναφέρει το Aune ως X1S, αλλά παρόλα αυτά, το usb interface είναι το ίδιο, όπως δείχνει και η παρακάτω εντολή:
Code:
[root@archphile ~]# lsusb -d 20b1:
Bus 001 Device 006: ID 20b1:3023 XMOS Ltd
--- Αυτόματη συγχώνευση μηνύματος ---
Με την ευκαιρία λοιπόν, έκανα άλλο ένα bug report:
https://github.com/lintweaker/xmos-native-dsd/issues/23