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

Έκανα τις δοκιμές μου και δούλεψε κανονικότατα σε cubox-i4 με το επίσημο app του spotify για android. Παρόλα αυτά το output που έπαιρνα ήταν στα 48khz καρφωμένο και δεν μπόρεσα να διαπιστώσω αν γι´ αυτό ευθυνόταν το cubox ή η software υλοποίηση.

Αν βγάλω άκρη όσον αφορά το sampling rate, θα ενσωματωθεί και θα είναι διαθέσιμο για arm7 συσκευές (δηλαδή όχι για το odroid c2).
 
Ωραία το περιμένω με ανυπομονησία γιατί προς το παρόν το στέλνω μέσω airplay.
Και παρεμπιπτόντως το παίζει στα 48 KHz
 
Από χτες έχω ξεκινήσει την προσπάθεια για τη δημιουργία ενός script που θα βοηθά το χρήστη να κάνει διάφορες ρυθμίσεις στο Archphile:

https://github.com/archphile/packages/blob/master/archphile-optimize/phileconf

Οι δυνατότητές μου στο scripting είναι πολύ περιορισμένες, αλλά αυτή τη φορά κάνω ότι μπορώ για ένα πιο advanced αποτέλεσμα.

Μην περιμένετε αυτοματισμούς, για ρύθμιση πχ της samba με το πάτημα μερικών κουμπιών. Παρόλα αυτά, τα πράγματα θα είναι πολύ πιο απλά για το μέσο χρήστη σε σχέση με την υπάρχουσα κατάσταση.

Παραθέτω και μερικά screenshots του πρώιμου σταδίου που βρίσκεται αυτή τη στιγμή:







 
Όπως θα θυμάστε μερικοί, στις τελευταίες εκδόσεις του 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
 
Last edited:
Ο coder που έχει υποστηρίξει όλα τα παραπάνω, είχε την ευγενική διάθεση να ασχοληθεί μαζί μου και έτσι λύθηκε η απορία του γιατί το Aune S16 δεν υποστηρίζει το format DSD_U32_BE.

Όπως θα δείτε στον κώδικά του:

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;


Έχει μεν υποστήριξη στο usb id 0x20b1, 0x3023, αλλά αυτό είναι στο section με altsetting=3. Το S16, έχει το ίδιο usb id με το X1s αλλά υποστηρίζει altsetting=2.

Eδώ υπάρχει ένα καλό και ένα κακό. Το καλό είναι ότι αν γίνει apply το παρακάτω patch που έφτιαξα:

https://github.com/archphile/linux-1/commit/d50eb765430e345d92535631b19c4a54eb835c4d.patch

το aune s16 αποκτά native dsd support.

Το κακό είναι ότι επειδή μαλακωδώς η aune έχει 2 διαφορετικά dacs με ίδιο usb id, για να υποστηριχθεί το S16, θα πρέπει να αφαιρεθεί η υποστήριξη του X1S.

Παραθέτω και το Link της συζήτησης για όποιον ενδιαφέρεται:

https://github.com/lintweaker/xmos-native-dsd/issues/23
 
Last edited:
Το κακό είναι ότι επειδή μαλακωδώς η aune έχει 2 διαφορετικά dacs με ίδιο usb id, για να υποστηριχθεί το S16, θα πρέπει να αφαιρεθεί η υποστήριξη του X1S.

.... πιπέρι πιπέρι!!! :flipout::flipout:-bye- πρόσεχε τον Νικόλα (bykrie) : :behead::hanged::violent-smiley-030:

καλή σου συνέχεια!
 
Περιμένοντας με ανυπομονα ένα καινούριο archphile image,πώς κάνουμε full backup το υπάρχον archphile σε μορφη .img;
 
Καλημέρα σε όλους,

έχω αρχίσει να σκέφτομαι τη λύση του archpile σε rasberry pi3 για να αντικαταστήσω το squeezbox touch. Θα ήθελα να ρωτήσω με ποιό τρόπο μπορώ να προσθέσω όλους τους δικτυακούς σταθμούς που ακούω σήμερα, οι οποίοι είναι τόσο από Ελλάδα όσο και εκτός. Επίσης, με ποιό τρόπο γίνεται η επιλογή. Θα πρέπει να χρησιμοποιήσω το MPad?

Ζητώ συγνώμη αν αυτά τα ερωτήματα έχουν απαντηθεί σε σε κάποιο post, που δεν κατάφερα να εντοπίσω.
 
Δεν υπάρχει άμεσος τρόπος για να προσθέσεις τους σταθμούς που ακούς σήμερα παρά μόνο αν το κάνεις χειροκίνητα.

Θα πρέπει για κάθε σταθμό να φτιάξεις ένα pls file το οποίο είναι της μορφής:

Code:
[playlist]
numberofentries=1
File1=http://37.130.228.60:8014
Title1=Radio Paradise
Length1=-1
Version=2

Και να το βάλεις σε συγκεκριμένη τοποθεσία.


Να σημειώσω ότι το Archphile δεν υπόστηρίζει ακόμη RPI3. Παρόλα αυτά έχεις αρκετές επιλογές σε διανομές για τη δουλειά που θες, οι οποίες ενδέχεται να κάνουν αυτό που θες με πιο εύκολο τρόπο.
 
Γειά σου Μιχάλη,

θεωρώ πως το ίδιο ισχύει και για το Udoo Quad καθώς και για τις υπόλοιπες πλατφόρμες που υποστηρίζει το archphile.

Αν καταβαίνω καλά το archphile είναι προσανατολισμένο στη βέλτιστη αναπαραγωγή υλικού που υπάρχει ήδη αποθηκευμένο σε NAS και όχι σε υλικό από το Internet.

Συγχαρητήρια για την προσπάθειά σου
 
Σε ευχαριστώ πολυ.

Το Archphile είναι εντελώς ίδιο για όλες τις συσκευές.

Οι δύο βασικές λειτουργίες είναι η τροφοδότησή του με αρχεία μουσικής από usb (σκληρός δίσκος, usb stick κλπ) και από NAS.

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

Αν έχεις το url ενός σταθμού, αν θες να τον ακούσεις για μια φορά, μπορείς να το κάνεις από το web interface, απλά δεν μπορείς να τον αποθηκεύσεις.
 
...
Παρόλα αυτά, ο τρόπος να βάλεις τους ραδιοφωνικούς σταθμούς που σου περιέγραψα δεν είναι δύσκολος, απλώς δεν είναι αυτοματοποιημένος μέσα από κάποιο γραφικό περιβάλλον. Μέχρι πρότεινος δεν υπήρχε εναλλακτικός τρόπος και στις άλλες διανομές, τώρα δεν ξερω τι κάνουν.

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


Μιχάλη αν δλδ τρέξει το image του Archphile για το rpi2 σε rpi3 δεν θα δουλέψει;
 
σκέφτομαι να το δοκιμάσω

πότε έχεις στο χρονοδιάγραμμα την υποστήριξη του rpi3? ή να τρέξω το image του rpi2?
 
Αχμμμ, θα φάω ξύλο;
Για εμάς που έχουμε ξεχασμένο κάποιο netbook με atom, για να μην πάει χαμένο, θα μπορούσε να βγει κάποια X86 έκδοση του archphile;
Σε αυτή την περίπτωση ο atom θα μπορεί να σηκώσει τα flac 24/192; για παραπάνω δεν το κόβω.
 
Για RPI 3, με κάθε επιφύλαξη μπορείτε να δοκιμάσετε να μπουτάρετε με το image του RPI2, να μπείτε με ssh και να αναβαθμίσετε τα παρακάτω πακέτα:

Code:
pacman -Sy linux-raspberrypi raspberrypi-firmware raspberrypi-firmware-bootloader raspberrypi-firmware-bootloader-x raspberrypi-firmware-examples raspberrypi-firmware-tools

Δεν το έχω δοκιμάσει εδώ και μήνες και μιας που το ArchlinuxARM είναι rolling release distro και τα πακέτα αλλάζουν εκδόσεις συνεχώς, δεν έχω ιδέα πια αν θα μπουτάρει μετά από αυτό.

Αναφορικά με νέα έκδοση δεν υπάρχει κανένα συγκεκριμένο πλάνο.

Αναφορικά με υποστήριξη x86 δεν υπάρχει κανένα άμεσο σχέδιο για κάτι τέτοιο. Παρόλα αυτά σε δοκιμές μου αναπαρήγαγα παραπάνω από 24/192 με χειρότερο και παλαιότερο επεξεργαστή.
 
:grinning-smiley-043 :SFGSFGSF:

Μακάρι κάποια στιγμή στο μέλλον να βρεις χρόνο και διάθεση να ασχοληθείς. Μπράβο για όλη την δουλειά σου.
 
Αχμμμ, θα φάω ξύλο;
Για εμάς που έχουμε ξεχασμένο κάποιο netbook με atom, για να μην πάει χαμένο, θα μπορούσε να βγει κάποια X86 έκδοση του archphile;
Σε αυτή την περίπτωση ο atom θα μπορεί να σηκώσει τα flac 24/192; για παραπάνω δεν το κόβω.

γιατί να μη μπορεί παραπάνω;

στο αρχαίο EeePC 901 που έχω και τρέχει MPD server,
όταν είχα δοκιμάσει αρχεία 24/192, η χρήση της CPU ήταν στο 2%,

στα 16/44 που ακούω, η CPU παίζει μεταξύ 0 και 1% και βγάζω πόσες ώρες με την παλιά μπαταρία
 
Καλησπέρα και χρόνια πολλά,

θέλω να ρωτήσω κάτι που ενδεχομένως να έχει απαντηθεί. Πως μπορώ να πάρω το περιεχόμενο της κάρτας SD που χρησιμοποιώ με το rpi και οποία έχει μέσα το archphile παραμετροποιημένο σύμφωνα με τα δικά μου δεδομένα και να τη σώσω σαν img σε ένα αρχείο ατο σκληρό του υπολογιστή μου, σαν backup ώστε αν πάθει κάτι να μπορώ να φλασάρω την εικόνα της σε νέα κάρτα;

Ποιες εντολές πρέπει να γράψω στο τερματικό του mac αφού βάλω την κάρτα του rpi στον υπολογιστή για να μεταφερθεί το περιεχόμενο της σαν ένα αρχείο img δηλαδή;