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

Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Λοιπόν, το Archphile μου έγινε πλήρως updated με βάση την παραπάνω διαδικασία και έτρεξα μια σειρά από δοκιμές, με ποικιλία αρχείων μέσα από CIFS/SMB share (καθότι έτσι θα παίζω ούτως ή άλλως..).

IMG_8167_resize.JPG

Το σύστημα αποτελείται από:

- Synology (xpenology) σε HP Microserver στο οποίο δημιουργήθηκε για τις ανάγκες της δοκιμής ειδικό share με τα συγκεκριμένα αρχεία της δοκιμής.
- RPi B+ v1.2 συνδεδεμένο με ethernet στο LAN μου.
- Buffalo III ως DAC με Amanero USB to I2S κάρτα.

Ακολουθούν screenshots από το htop ενώ παίζουν συγκεκριμένα αρχεία:

Αρχείο 44.1KHz:

RPi with Archphile playing 44.1 from LAN (not indexing NAS) new MPD.jpg

Το ίδιο αρχείο σε 96KHz:

RPi with Archphile playing 96 from LAN (not indexing NAS) new MPD.jpg

Το ίδιο αρχείο σε 192KHz:

RPi with Archphile playing 192 from LAN (not indexing NAS) new MPD.jpg

Το ίδιο αρχείο σε 352KHz:

RPi with Archphile playing 352 from LAN (not indexing NAS) new MPD.jpg

Αρχείο DSD (μικρής διάρκειας):

RPi with Archphile playing DSD (small file) from LAN (not indexing NAS) with new MPD.jpg

Αρχείο DSD (μεγάλο, ~1GB):

RPi with Archphile playing 1GB DSD (Tubular Bells) from LAN (not indexing NAS) with new MPD.jpg

Όπως βλέπετε, το DSD περνάει "αέρα".. Το PCM σε πολύ μεγάλες δειγματοληψίες φαίνεται να το ζορίζει, αλλά παρόλα αυτά από όσο άκουσα δεν έχει ακουστά προβλήματα.
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Εύγε για το τεστ! Νιώθω μια γλυκειά ανακούφιση
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Ερώτηση με ένα θέμα που λογικά θα προκύπτει σε πολλούς:

Τι γίνεται όταν η μουσική βιβλιοθήκη είναι πολύ μεγάλη; Το Update DB λογικά θα παίρνει πάρα πολλή ώρα.. τις πρώτες μου δοκιμές τις έκανα με το RPi να "βλέπει" το κυρίως Music share μου, το οποίο είναι κάπως τεράστιο.. Στο διάστημα που το είχα αναμμένο δεν κατάφερε να το κάνει index ολόκληρο.. not even close που λέμε..

Έτσι προκύπτει η επόμενη ερώτηση: Έστω ότι ολοκληρώνεται το Update DB. Αν προσθέσω μερικά κομμάτια θα τα βλέπω άμεσα όταν κάνω Browse Database ή θα πρέπει να κάνω πάλι Update DB?
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Το σκαναρισμα της βιβλιοθήκης είναι εντελώς θέμα cpu. Στο udoo πχ γίνεται αισθητά γρηγορότερα απ ότι στο Rpi. Το καλό είναι ότι μπορεις να παίρνεις backup τη βάση αυτή και να την επαναφέρεις σε νέα εγκατάσταση.

Όσον αφορά στο αν πρέπει να κάνεις update, όπως είναι στημένο από μένα, ναι. Εγώ προτιμώ να κάνω χειροκίνητο update. Παρόλα αυτά αυτό αλλάζει πολύ εύκολα από το mpd.conf. Αρκεί να αλλάξεις το:

auto_update “no”

σε yes και να επανεκκινησεις τον mpd:

systemctl restart mpd
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Ερώτηση με ένα θέμα που λογικά θα προκύπτει σε πολλούς:

Τι γίνεται όταν η μουσική βιβλιοθήκη είναι πολύ μεγάλη; Το Update DB λογικά θα παίρνει πάρα πολλή ώρα.. τις πρώτες μου δοκιμές τις έκανα με το RPi να "βλέπει" το κυρίως Music share μου, το οποίο είναι κάπως τεράστιο.. Στο διάστημα που το είχα αναμμένο δεν κατάφερε να το κάνει index ολόκληρο.. not even close που λέμε..

Έτσι προκύπτει η επόμενη ερώτηση: Έστω ότι ολοκληρώνεται το Update DB. Αν προσθέσω μερικά κομμάτια θα τα βλέπω άμεσα όταν κάνω Browse Database ή θα πρέπει να κάνω πάλι Update DB?

εφόσον έχεις λ.χ. 5ΤΒ και χιλιαδες directory λογικό είναι να πάρει πολύ ώρα, το επόμενο Update θα είναι πολύ συντομότερο
(gigabit ethernet θα βολεβε ....)

σου προτείνω μια δομή σαν αυτή
\Mpdmusiclib
+---\local_usb
+---\new_files
+---\main_library

ολα softlinks
( ln -s /mnt/flac/mainlib )

(mpd.conf : follow_outside_symlinks "yes")
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Ξέχασα και γω να αναφέρω ότι κάθε επόμενο update θα είναι πολύ γρήγορο και θα εξαρτάται από το πλήθος των αρχείων που προστέθηκαν.


Το follow_outside_symlinks είναι έτοιμο!



Oσον αφορά στα shares, η προεπιλογή είναι η εξής:


Γίνεται mount το samba share στο /mnt/nas-samba και αυτό με τη σειρά του γίνεται symlinked στο /var/lib/mpd/music. Εννοείται ότι μπορείς να φτιάξεις όσα shares θες αρκεί μετά να τα λινκάρεις στο /var/lib/mpd/music.


Επίσης η library είναι το αρχείο /var/lib/mpd/mpd.db

Παλαιότερα είχα κάνει το εξής:

- Backup του αρχείου
- Νέα εγκατάσταση
- stop του mpd service. (systemctl stop mpd)
- copy τη βάση στη θέση που πρέπει να βρίσκεται
- start το mpd service (systemctl start mpd)

και η βάση ήταν έτοιμη χωρίς να χρειαστεί να ξαναγίνει scan από την αρχή. Σε όλο το παραπάνω, δεν είχα ασχοληθει καν να δώσω τα default permissions της βάσης και πάλι δούλεψε μια χαρά.


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


@dimdim
η πρώτη σου εντύπωση ηχητικά πως ήταν;
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Το σκαναρισμα της βιβλιοθήκης είναι εντελώς θέμα cpu. Στο udoo πχ γίνεται αισθητά γρηγορότερα απ ότι στο Rpi. Το καλό είναι ότι μπορεις να παίρνεις backup τη βάση αυτή και να την επαναφέρεις σε νέα εγκατάσταση.

Όσον αφορά στο αν πρέπει να κάνεις update, όπως είναι στημένο από μένα, ναι. Εγώ προτιμώ να κάνω χειροκίνητο update. Παρόλα αυτά αυτό αλλάζει πολύ εύκολα από το mpd.conf. Αρκεί να αλλάξεις το:

auto_update “no”

σε yes και να επανεκκινησεις τον mpd:

systemctl restart mpd

Θα το ψάξω αυτό να δω τι σημαίνει και πως δουλεύει.. Ευχαριστώ!

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

εφόσον έχεις λ.χ. 5ΤΒ και χιλιαδες directory λογικό είναι να πάρει πολύ ώρα, το επόμενο Update θα είναι πολύ συντομότερο
(gigabit ethernet θα βολεβε ....)

Η συλλογή δεν είναι ούτε ΤΒ αλλά είναι πολλά αρχεία.. "legacy" MP3s κτλ κτλ.

To GbE δεν θα βοηθούσε, το RPi είναι 100άρι. Πάντως ενώ έκανε scan δημιουργούσε σοβαρό load στο Synology (το οποίο θυμίζω είναι αρκετά "γκαζιάρικο", διπύρηνο κτλ κτλ), κυρίως στο file system του (το οποίο είναι Synology Hybrid RAID).

σου προτείνω μια δομή σαν αυτή
\Mpdmusiclib
+---\local_usb
+---\new_files
+---\main_library

ολα softlinks
( ln -s /mnt/flac/mainlib )

(mpd.conf : follow_outside_symlinks "yes")

Ήδη είναι έτσι η δομή μου στο \Music μου.. έχω φακέλλους Library, Incoming, Incoming New, κτλ κτλ.
Παίζει ρόλο κατά πόσο θα το "σπάσω" και σε επίπεδο MPD? Να εμφανίζονται στον MPD σαν διαφορετικά SAMBA shares ώστε να γίνονται index ξεχωριστά το καθένα;

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

@dimdim [/B]η πρώτη σου εντύπωση ηχητικά πως ήταν;

Είχα πιο πολύ το νου μου στο να δουλέψει σωστά, δεν έδωσα πολλή σημασία στον ήχο.. ήταν περασμένη και η ώρα.. Πάντως δεν μου έκανε κάποια εντύπωση (κακή δηλαδή :p).
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Δεν ξέρω αν θα κερδίσεις κάτι αν τα σπάσεις στον mpd.

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

Πάντως ευχαριστώ πολύ για το όλο feedback, γιατί χωρίς αυτό, δεν θα καταλάβω ποτέ ανάγκες που δεν έχουν προκύψει ακόμα σε μένα.
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

To GbE δεν θα βοηθούσε, το RPi είναι 100άρι. Πάντως ενώ έκανε scan δημιουργούσε σοβαρό load στο Synology (το οποίο θυμίζω είναι αρκετά "γκαζιάρικο", διπύρηνο κτλ κτλ), κυρίως στο file system του (το οποίο είναι Synology Hybrid RAID).
σπόντα ήταν βρε :D
Ήδη είναι έτσι η δομή μου στο \Music μου.. έχω φακέλλους Library, Incoming, Incoming New, κτλ κτλ.
Παίζει ρόλο κατά πόσο θα το "σπάσω" και σε επίπεδο MPD? Να εμφανίζονται στον MPD σαν διαφορετικά SAMBA shares ώστε να γίνονται index ξεχωριστά το καθένα;
οχι ένα direcory βάζεις σα library στο mpd.conf
και soft-symlinks για ότι θες απο κάτω
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Βασικά σε πρώτη φάση θα τον αφήσω να τα κάνει index όλα και από εκεί και πέρα βλέπουμε.. μπορεί να είναι non-issue τελικά αν κάνει έξυπνο incremental update.

Διαβάζω ότι κρίνει ποια αρχεία έχουν αλλάξει με βάση το modification time.
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Βασικά σε πρώτη φάση θα τον αφήσω να τα κάνει index όλα και από εκεί και πέρα βλέπουμε.. μπορεί να είναι non-issue τελικά αν κάνει έξυπνο incremental update.

Διαβάζω ότι κρίνει ποια αρχεία έχουν αλλάξει με βάση το modification time.

Ανάλογα με το επίπεδο logging που έχεις ορίσει στο Mpd.conf
Μπορείς να βλέπεις ποια αρχεία σκανάρει εκείνη τη στιγμή
Οπότε εφόσον λ.χ. ενεργοποιήσεις το auto-update Και κάνεις restart mpd, ξεκίνα να βλέπεις το log
Ή και όταν ξεκινήσεις manual update

tail –f /var/log/mpd.log
(ctrl+C για exit)

ειδικά όταν σκανάρεις τεράστιες βιβλιοθήκες, καλό είναι να ξέρεις ως που έχει φτάσει το σκανάρισμα.
Ανάλογα και με την παραμετροποίηση του mpd.conf θα σκανάρει και dsf και ότι άλλο τύπο αρχείων αυτόματα (πέραν των τυπικών mp3/flac/wav)
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Btw to logging είναι στο default και αυτό μπορεί να αλλάξει πχ σε verbose στο mpd.conf.

Αυτό που πρέπει να έχουν όλοι τους υπόψιν είναι ότι το /var/log γράφεται όλο στη ram και χάνεται σε κάθε reboot. Εν γένει για να μην επιβαρύνεται η sd card είναι disabled διάφορα logs (πχ journald), το bash history (linked στο /dev/null) κλπ.
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Αυτό που πρέπει να έχουν όλοι τους υπόψιν είναι ότι το /var/log γράφεται όλο στη ram και χάνεται σε κάθε reboot. Εν γένει για να μην επιβαρύνεται η sd card είναι disabled διάφορα logs (πχ journald), το bash history (linked στο /dev/null) κλπ.

Μπράβο σωστή επιλογή!
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Έκανα ένα mini test.

- Udoo quad με wifi (κοντά στο router)

- fileserver το desktop pc μου (Archlinux/nfs/ext4) amd5600+ με 4gb ram (μηχάνημα 6ετίας +) και wd black 1T

- library με 7000 αρχεία (κατά πλειοψηφία flacs)


Πάτησα mpc update για πρώτη φορά και μέτρησα όσο χρόνο χρειάστηκε το μηχάνημα να μπει ξανά σε idle κατάσταση. Για το σκανάρισμα των 7000 αρχείων χρειάστηκαν κάτι λιγότερο από 4 λεπτά.


Θα επαναλάβω το ίδιο και στο Rpi αργότερα.
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Έκανα μερικές δοκιμές ακόμα..

Το RPi πλέον "βλέπει" το share που περιέχει όλη τη μουσική συλλογή μου (80.740 αρχεία, συνολικά 1,25ΤΒ).

Το update παίρνει περίπου 4 λεπτά. Not bad.

Ενεργοποίησα και το auto_update. Για να δούμε πως θα πάει..

Επόμενο σετ από δοκιμές: σύνδεση μέσω I2S με το Buffalo. Δεν ξέρω πότε θα αξιωθώ - πρέπει να γίνει μερικό ξεκοίλιασμα..
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Έκανα μερικές δοκιμές ακόμα..

Επόμενο σετ από δοκιμές: σύνδεση μέσω I2S με το Buffalo. Δεν ξέρω πότε θα αξιωθώ - πρέπει να γίνει μερικό ξεκοίλιασμα..

Είχα την ευκαιρία να παίξω αρκετά με i2s. Είναι μυστήρια υπόθεση με θετικά τα πρώτα αποτελέσματα. Νομίζω ότι πολύ σύντομα θα έχω μια πληρέστερη εικόνα ώστε να μπορώ να βοηθήσω και κάθε ενδιαφερόμενο!
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Μετά από μηνες απροβλημάτιστης χρήσης με USB stick & streaming, καιρός να αναβαθμίσω και γω στην τελευταία έκδοση και να περάσω στη χρήση SMB share (~10K files). Θα ποστάρω εντυπώσεις !
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Έκανα μια δοκιμή για τη μεταφορά της βάσης του mpd σε νέα εγκατάσταση ώστε να μη χρειάζεται να σκανάρεται από το μηδέν όλο το library, ειδικά σε περιπτώσεις μεγάλων βιβλιοθηκών:

Backup:

- με ένα πρόγραμμα όπως o filezilla, παίρνουμε backup το αρχείο /var/lib/mpd/mpd.db


Restore σε νέα εγκατάσταση:

- systemctl stop mpd
- επαναφέρουμε το παραπάνω αρχείο στην αρχική του θέση
- chmod 644 /var/lib/mpd/mpd.db
- chown mpd:audio /var/lib/mpd/mpd.db
- systemctl start mpd


και είμαστε έτοιμοι.
 
Re: Archphile - μια audiophile διανομή για Raspberry Pi, Udoo και Cubox-i

Τις τελευταίες μέρες προσπαθώ να βγάλω μια σοβαρή άκρη με το i2s:

http://archphile.org/blog/archphile-and-i2s-dacs

Είμαι αισιόδοξος απ ότι έχω δει μέχρι τώρα. Πέρα από τα i2s dacs που έχουν φτιαχτεί για Rpi, με ενδιαφέρει η συνεργασία του Rpi με κλασικές dac υλοποιήσεις και αυτό είναι κάτι που θα διαπιστωθεί με feedback από τους χρήστες.

Σε λίγες μέρες θα βγάλω ένα νέο image που θα έχει ενσωματωμένα όσα χρειάζονται για i2s.

Τελος θέλω να στείλω ένα ευχαριστώ στον Gordon από την iqaudio που επικοινώνησε μαζί μου και μου έστειλε σήμερα δώρο ένα Pi dac+ για να κάνω δοκιμές. Όταν το παραλάβω θα γράψω πρώτες εντυπώσεις.