Moode Audio Player - μια MPD based διανομή για Raspberry Pi

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

Ο Tim έχει το πιο σωστό μοντέλο ανάπτυξης. Με δεδομένο ότι έχει αποφασίσει να πορευτεί ως "one man show", επιμένει (ορθά) στην υποστήριξη μιας συσκευής και προσπαθεί να κάνει fine tune τη λύση του πάνω σε αυτήν.

Έχει βασίσει όλη του τη δουλειά πάνω σε ένα υφιστάμενο web interface/client (volumio 1.x/runeaudio) και πλέον μετά από τόσες αλλαγές μπορούμε να πούμε ότι αυτό που προσφέρει είναι σχεδόν δικό του.

Αυτά είναι τα θετικά.

Πάμε τώρα στα υπόλοιπα.

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

Έχοντας κάνει fork ένα συγκεκριμένο web interface, θα μένει πάντα εγκλωβισμένος στην αρχική ιδέα. Το interface αυτό το έχουν γράψει οι άνθρωποι του Runeaudio οταν ακόμα ήταν μέλη της ομάδας ανάπτυξης του Volumio. Το Runeaudio (που από πλευράς νέων εκδόσεων τουλάχιστον έχει πεθάνει μέχρι νεωτέρας), συνεχίζει να χρησιμοποιεί έναν πρόγονο του interface του Μoode και έτσι αυτή τη στιγμή έχουμε δυο λύσεις που έχουν μεν διαφορές, αλλά από "μακριά" θεωρούνται ίδιες.

H ομάδα του Volumio μετά από διάφορες αλλαγές, αποφάσισε να κάνει την καλύτερη δουλειά: Να το ξεφορτωθούν και να γράψουν ένα interface από το μηδέν, διώχνοντας έτσι και τις παθογένειες του εν λόγω κώδικα (παραδοσιακή λύση web serve/mysql/php και κατά συνέπεια overkill).

Γενικά πιστεύω ότι τα πάντα οδηγόυν στο νέο Volumio ως κυρίαρχο του παιχνιδιού, αν και ο Tim εχει ήδη κερδίσει μεγάλη μερίδα χρηστών. Απο κει και πέρα, θα πρέπει να βρει μια χρυσή τομή και να σταματήσει να προσθέτει features. Αν ακούς την ανάγκη του κάθε χρήστη ο οποίος τρέμει την μη ύπαρξη του Χ κουμπιού που του κάνει τη ζωή πιο εύκολη, καταλήγεις σε ένα bloated αποτέλεσμα. Γι' αυτό πιστεύω ότι το volumio δείχνει το μέλλον ως προς αυτό τον παράγοντα, παρουσιάζοντας ένα modular σύστημα με χρήση plugins όπου ο καθένας ενεργοποιεί ότι τον ενδιαφέρει προσθέτοντας τον απαραίτητο κώδικα.

Σε κάθε περίπτωση ο Tim αξίζει άπειρα συγχαρητήρια γιατί αν παρατηρήσετε είναι και ο μόνος που δεν έχει σταματήσει λεπτό την ανάπτυξη.


Edit:

Διάβασα ξανά ότι έγραψα και είναι εντελώς ότι να ναι, αλλά δε βαριέσαι, πρωί είναι ακόμα :D
 
Last edited:
Θα πάρω το ρίσκο να εκφράσω μια γνώμη άνευ δοκιμής, αν και σκοπεύω σύντομα να κάνω ένα crash test σε όλες τις διανομές.

Ο Tim έχει το πιο σωστό μοντέλο ανάπτυξης. Με δεδομένο ότι έχει αποφασίσει να πορευτεί ως "one man show", επιμένει (ορθά) στην υποστήριξη μιας συσκευής και προσπαθεί να κάνει fine tune τη λύση του πάνω σε αυτήν.

Έχει βασίσει όλη του τη δουλειά πάνω σε ένα υφιστάμενο web interface/client (volumio 1.x/runeaudio) και πλέον μετά από τόσες αλλαγές μπορούμε να πούμε ότι αυτό που προσφέρει είναι σχεδόν δικό του.

Αυτά είναι τα θετικά.

Πάμε τώρα στα υπόλοιπα.

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

Έχοντας κάνει fork ένα συγκεκριμένο web interface, θα μένει πάντα εγκλωβισμένος στην αρχική ιδέα. Το interface αυτό το έχουν γράψει οι άνθρωποι του Runeaudio οταν ακόμα ήταν μέλη της ομάδας ανάπτυξης του Volumio. Το Runeaudio (που από πλευράς νέων εκδόσεων τουλάχιστον έχει πεθάνει μέχρι νεωτέρας), συνεχίζει να χρησιμοποιεί έναν πρόγονο του interface του Μoode και έτσι αυτή τη στιγμή έχουμε δυο λύσεις που έχουν μεν διαφορές, αλλά από "μακριά" θεωρούνται ίδιες.

H ομάδα του Volumio μετά από διάφορες αλλαγές, αποφάσισε να κάνει την καλύτερη δουλειά: Να το ξεφορτωθούν και να γράψουν ένα interface από το μηδέν, διώχνοντας έτσι και τις παθογένειες του εν λόγω κώδικα (παραδοσιακή λύση web serve/mysql/php και κατά συνέπεια overkill).

Γενικά πιστεύω ότι τα πάντα οδηγόυν στο νέο Volumio ως κυρίαρχο του παιχνιδιού, αν και ο Tim εχει ήδη κερδίσει μεγάλη μερίδα χρηστών. Απο κει και πέρα, θα πρέπει να βρει μια χρυσή τομή και να σταματήσει να προσθέτει features. Αν ακούς την ανάγκη του κάθε χρήστη ο οποίος τρέμει την μη ύπαρξη του Χ κουμπιού που του κάνει τη ζωή πιο εύκολη, καταλήγεις σε ένα bloated αποτέλεσμα. Γι' αυτό πιστεύω ότι το volumio δείχνει το μέλλον ως προς αυτό τον παράγοντα, παρουσιάζοντας ένα modular σύστημα με χρήση plugins όπου ο καθένας ενεργοποιεί ότι τον ενδιαφέρει προσθέτοντας τον απαραίτητο κώδικα.

Σε κάθε περίπτωση ο Tim αξίζει άπειρα συγχαρητήρια γιατί αν παρατηρήσετε είναι και ο μόνος που δεν έχει σταματήσει λεπτό την ανάπτυξη.


Edit:

Διάβασα ξανά ότι έγραψα και είναι εντελώς ότι να ναι, αλλά δε βαριέσαι, πρωί είναι ακόμα :D


Καλό μήνα !
Με αφορμή την πρόθεση σου να κάνεις ένα crash test στις συγκεκριμένες διανομές, αναρωτιέμαι το εξής :

Έστω ότι χρησιμοποιείται ένα setup με δεδομένο hardware (Raspberry 2, HifiBerry Digi+) για να στείλει spdif σήμα σε dac .
Απ’ όσο γνωρίζω και στις τρεις Υλοποιήσεις χρησιμοποιείται το ίδιο το πρόγραμμα αναπαραγωγής (MPD).
Επίσης ο driver για το Digi+ είναι – φαντάζομαι – μια υλοποίηση κοινή για τις τρεις υλοποιήσεις.

Η επιλογή ενός διαφορετικού λειτουργικού συστήματος (raspian/debian/archlinux) καθώς και η χρήση ενός διαφορετικού γραφικού περιβάλλοντος, καταλαβαίνω ότι μπορεί να έχει επιπτώσεις στην ευκολία χρήσης, την σταθερότητα, τους χρόνους ανταπόκρισης κ.λ.π της κάθε Υλοποίησης.

Αυτή η ίδια διαφοροποίηση θα μπορούσε μήπως να επιφέρει διαφοροποιήσεις και επί του ακουστικού αποτελέσματος ? και εάν ναι γιατι ?

Φιλικά
Σταύρος
 
Πολύς κόσμος ορκίζεται ότι όλες οι διαφορετικές διανομές παίζουν και διαφορετικά. Αλλά αν δεν κάνεις τις δικές σου δοκιμές δεν θα πεισθείς (είτε ότι έχουν διαφορές είτε ότι δεν έχουν)..
 
Δεν αμφισβητώ το ότι κάποιοι ακούν διαφορές, το αντίθετο !
Όμως εκτός από την πειραματική απόδειξη, κάποια θεωρητική τεκμηρίωση/επεξηγηση θα πρέπει να υπάρχει...
 
Υπάρχει. Θεωρητικά ανάλογα με το ποια και πόσα processess τρέχουν, καθώς και το ποιος πυρήνας είναι φορτωμένος, αλλάζει και το noise signature του RPi. Αυτό το noise signature περνάει στο DAC και τελικά επιφέρει αλλαγές κυρίως στα αναλογικά στάδιά του.

Απλά επίσης θεωρητικά αυτές οι αλλαγές στο noise signature είναι τόσο μικρές που δεν θα έπρεπε να ακούγονται.
 
Δημήτρη,πολυ σημαντικός παράγοντας απο όσα εχω καταλάβει για την διαδικασία ειναι και οι προτεραιότητες,εκτός των παραπάνω. Που φυσικά ειναι συνυφασμένες μαζι τους αφού η ουρά που περιμένει επεξεργασία θα ειναι μικρότερη.
 
Υπάρχει. Θεωρητικά ανάλογα με το ποια και πόσα processess τρέχουν, καθώς και το ποιος πυρήνας είναι φορτωμένος, αλλάζει και το noise signature του RPi. Αυτό το noise signature περνάει στο DAC και τελικά επιφέρει αλλαγές κυρίως στα αναλογικά στάδιά του.

Απλά επίσης θεωρητικά αυτές οι αλλαγές στο noise signature είναι τόσο μικρές που δεν θα έπρεπε να ακούγονται.

Ευχαριστώ πολύ για την πληροφόρηση !
Τελευταία δοκιμάζω το RuneAudio, το οποίο – αν καταλαβαίνω καλά - ισχυρίζεται περίπου το ίδιο, παρέχοντας μάλιστα δυνατότητα χρήσης διαφορετικών «Sound Signatures» ή αλλιώς «optimization profiles».

Σύμφωνα με τους δημιουργούς του :
...Each of the profiles includes a set of performance tweaks that act on specific system kernel parameters. They are not enabling Digital Signal Processing (DSP) nor any other sound effect - the output remains untouched (bit perfect). By applying settings that act on kernel latency parameters (and probably on the amount of overall jitter), we have found that each of these profiles introduces an audible impact on the overall sound quality.
The actual sonic results vary depending on the other equipment in use in your system, as well as the acoustic properties of the room itself. So, we invite you to experiment and ultimately choose a profile according to your personal taste. (If you can't hear any differences... don't worry, they are subtle. You can safely use the default settings.)


Φιλικά
Σταύρος
 
Αυτά τα profiles τα είχαν ετοιμάσει επί εποχής RPI 1 το οποίο αγκωμαχούσε.

Έχω κάνει πολλές δοκιμές στη δική μου διανομή με αυτές τις παραμέτρους και δεν κατάλαβα Χριστό και απ όσο διαβάζω αρκετοί κατοχοι πιο σύγχρονου hardware συμφωνούν μαζί μου.

Παρόλα αυτά δίνω στους χρήστες μου τη δυνατότητα να παίξουν μέσω ενός script που τις περιλαμβάνει.
 
Επειδή όλες οι διανομές είναι παραμετροποιήσημες , άλλες περισσότερο και άλλες λιγότερο, είναι πολύ πιθανόν να υπάρχουν και ηχητικές διαφορές μεταξύ τους.
Αν για παράδαειγμα κάποιος επιλέξει να ενεργοποιήσει το upsampling στα 192KHz , ενώ το μουσικό κομμάτι είναι γραμμένο στα 44.1KHz, τότε είναι πολύ πιθανόν σε ένα καλό σύστημα να γίνονται αντιληπτές οι ηχητικές διαφορές, υποκειμενικές πάντα γιατί υπάρχουν και άτομα που προτιμούν ηχητικά τον ήχο των MP3 και επίσης είναι πολλοί που δεν ακούνε διαφορές σε σύγκριση από το ασυμπίεστο κομμάτι σε WAV ή flac.
 
Σε λίγο θα είναι διαθέσιμη η νέα έκδοση Moode από τον Tim Curtis, η οποία θα βασίζεται στον Advance Audio Kernel (custom έκδοση 4.4.23).

Θα λυθούν απ´ότι φαίνεται αρκετά θέματα αλλά κυρίως τα ακόλουθα:

http://www.diyaudio.com/forums/pc-based/271811-moode-audio-player-raspberry-pi-481.html

The following are enabled via <params> supplied to the dtoverlay in config.txt

- 352.8k and 384k sample rates for es9023, pcm512x, pcm514x

- Integer bit clock divider for es9023 codec for less jitter on 48K and 96K sample rate

- DSD128 via 352.8k sample rate (either DoP or DSD -> PCM on-the-fly)
- Bypass pcm512x, pcm514x oversampling filter via 384k sample rate

ES9018
- simple-bclk-64fs
- Descr: Use a "fixed" 64fs bclk_ratio for 2 channel, 32/24/16 bit audio
 
Το πρώτο bold αφορά το ESS9023 DAC Chip και είναι πιθανόν ότι θα λύσει οριστικά, ή θα μειώσει δραστικά, το πρόβλημα με τις δειγματοληψίες που ήταν πολλαπλάσια του 48KHz.

Το δεύτερο αφορά το ESS9018 και την απαιτηση για 64fs bclk_ratio για stereo 32/24/16 bit audio.

Λεπτομερείς αναλύσεις υπάρχουν στην diyaudio.com (βλ. σύνδεσμο)
 
Re: Απάντηση: Moode Audio Player - μια MPD based διανομή για Raspberry Pi

Το πρώτο bold αφορά το ESS9023 DAC Chip και είναι πιθανόν ότι θα λύσει οριστικά, ή θα μειώσει δραστικά, το πρόβλημα με τις δειγματοληψίες που ήταν πολλαπλάσια του 48KHz.

Πρόβλημα με τα SR της οικογένειας των 48Κ δεν θα έπρεπε να υπάρχει, καθότι ο κρύσταλλος του RPi είναι στα 19.2MHz, νούμερο ακέραιο πολλαπλάσιο του 48. Αλλά μέχρι τώρα το RPi δεν χρησιμοποιούσε τα 19.2MHz για να παράγει απευθείας τα 48Κ αλλά από τα 19.2MHz δημιουργούσε με PLL ένα ενδιάμεσο ρολόι (500MHz αν θυμάμαι καλά) από το οποίο με fractional division έβγαζε το ρολόι των 48Κ. Αυτός ο τρόπος δημιουργίας του ρολογιού υποτίθεται ότι είχε κάποια πλεονεκτήματα σε σχέση με την απ' ευθείας διαίρεση των 19.2M, αλλά στην πράξη (και στο audio) απλά εισήγαγε περισσότερο jitter.

Αυτό που φαίνεται να αλλάζει με τον Advance Audio Kernel (του clivem, σεβαστού μέλος του diyaudio.com) είναι ότι τα ρολόγια των 48Κ γίνονται πλέον generate με ακέραιη διαίρεση, πιθανολογώ απευθείας από το ρολόι των 19.2MHz.

Εννοείται ότι για την οικογένεια των 44.1Κ (η οποία είχε και το μεγαλύτερο πρόβλημα..) δεν έχει αλλάξει κάτι και δεν μπορεί να αλλάξει γιατί ότι και να γίνει δεν είναι ακέραιο πολλαπλάσιο των 19.2MHz.

Η μόνη λύση εκεί είναι FPGA και reclocking, ή απλά χρήση USB to I2S.

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

Στην πρώτη περίπτωση θα μειωθεί το jitter , όταν χρησιμοποιείται η διασύνδεση i2s, που παρέχεται από το RPi, όταν λειτουργεί ως master.

Να σημειώσω ότι το 9023 λειτουργεί πάντα αναγκαστικά ως slave στο RPi. Δεν έχει δυνατότητα να παίξει ως master.
 
Χθες ανακοίνωσε ο developer Tim Curtis, ότι η νέα έκδοση του Moode θα είναι η 3.0, με κύρια νέα χαρακτηριστικά που θα ανεβάσουν το επίπεδο του ήχου σε "high-end"

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

Να σημειώσω ότι το 9023 λειτουργεί πάντα αναγκαστικά ως slave στο RPi. Δεν έχει δυνατότητα να παίξει ως master.

Για το 9023 το παραπάνω ισχύει, ενώ το RPi2 μπορεί να λειτουργήσει ως master αλλά και ως slave, κάτι που έγινε γνωστό με το hifiberry dac pro (την έκδοση με τα δύο ρολόγια) το οποίο με το κατάλληλο λογισμικό (& driver) θέτει το RPi2 σε λειτουργία slave.
 
Re: Απάντηση: Moode Audio Player - μια MPD based διανομή για Raspberry Pi

Χθες ανακοίνωσε ο developer Tim Curtis, ότι η νέα έκδοση του Moode θα είναι η 3.0, με κύρια νέα χαρακτηριστικά που θα ανεβάσουν το επίπεδο του ήχου σε "high-end"

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



Για το 9023 το παραπάνω ισχύει, ενώ το RPi2 μπορεί να λειτουργήσει ως master αλλά και ως slave, κάτι που έγινε γνωστό με το hifiberry dac pro (την έκδοση με τα δύο ρολόγια) το οποίο με το κατάλληλο λογισμικό (& driver) θέτει το RPi2 σε λειτουργία slave.


Καλός και άγιος ο Tim, αλλά δεν αντέχω αυτό το hi end marketing :D

Ορίστε τι εννοεί:




Να σημειωθεί ότι όλα τα i2s καλούδια που έχεις περιγράψει σε προηγούμενα posts, τα οποία προέρχονται από τον kernel του clivem, υπάρχει σοβαρή περίπτωση να σταματήσουν να αναπτύσσονται. Ο clivem, έπειτα από διαμάχη με τους κατασκευαστές του kali reclocker, αποφάσισε ότι θίχτηκε τόσο πολύ που η καλύτερη λύση γι' αυτόν ήταν να σταματήσει την ανάπτυξη του kernel του και να σβησει και τα sources από το github.

Πρακτικά αυτό σημαίνει ότι αυτή τη στιγμή υπάρχει kernel για το επόμενο moode, αλλά είναι πολύ πιθανόν να είναι one off και να μην υπάρχει συνέχεια.


Edit:

Για την ιστορία, η ΤΙ, περιγράφει το 1794 ως 192Khz dac. Παρακάτω θέτει το όριο στα 200Khz:

http://www.ti.com/lit/ds/symlink/pcm1794.pdf

Βέβαια και το 9023 στη θεωρία δεν παίζει 352.8, αλλά στην πράξη τα καταφέρνει.
 
Last edited:
Τι κι αν σταματήσει σήμερα ο clivem την ανάπτυξη του kernel, αύριο θα κάνει κάνει άλλο, ίσως κάτι δικό του από το οποίο θα κερδίσει ενδεχομένως και κάποια χρήματα. Δεν τον κόβω για αργόσχολο ή χασομέρη.
Από την άλλη ο Tim ελπίζω να ανεβάσει σύντομα την V3.
Εγώ προσωπικά δεν πιστεύω ότι θα γίνεται αντιληπτή οποιαδήποτε ηχητική διαφορά.
Από την πρώτη έκδοση του Moode έως και την πλέον πρόσφατη 2.7 δεν έχει αλλάξει κάτι ουσιαστικό ή/και μετρήσιμο στον ήχο. Αναφέρομαι σε αλλαγές που βελτιώνουν αποδεδειγμένα τον ήχο της συγκεκριμένης διανομής.
 
Σου εγγυώμαι ότι δεν πρόκειται να γίνει καμία αλλαγή η οποία θα βελτιώσει τον ήχο του Moode και ότι το "high end", αναφέρεται στην υποστήριξη των παραπάνω dacs, καθώς και σε υποστήριξη εν γένει μεγαλύτερων sampling rates λόγω των patches του clivem. Εκτός και αν θεωρέι high end προσθήκη την υποστήριξη sqeezelite (η οποία παρεμπιπτόντως είναι πολύ ενδιαφέρουσα προσθήκη).

Σε ένα τέτοιο configuration, δηλαδή Linux/MPD, δεν μπορούν να γίνουν και πολλά περισσότερα από αυτά που ήδη έχουμε κάνει και για το λόγο αυτό δεν ακούς διαφορές από έκδοση σε έκδοση.

Πράγματα με τα οποία μπορεί κάποιος να παίξει επιπλέον είναι:

- realtime (που είναι επικίνδυνο στο RPI, καθώς τα διάφορα kernel trees είναι unstable)
- kernel parameters ή profiles ή όπως θες πες το (με τα οποία όσο και να έπαιξα δεν κατάλαβα διαφορά)
- irq affinity, process optimization (με τα οποία έχω καεί τελευταία και πάλι διαφορά δε βλέπω)
- ευρύτερο OS tweaking (και πάλι έχω δοκιμάσει ένα σκασμό πράγματα και καταλήγω ότι ο ήχος δεν επηρρεάζεται)


Y.γ. Προσωπικά βγάζω σπυριά με το high end marketing και θεωρώ ότι τέτοια προσέγγιση μόνο κακό κάνει στο computer audio.
 
Last edited:
Κάτι τέτοια λέμε και τελικά κάποιοι αποφασίζουν να ακολουθήσουν τον δρόμο που θα τους οδηγήσει στο High-End με αγορές καλωδίων, μαντζουνιών και αναγεννητικών προϊόντων.
:flipout:
 
Περίεργα παιχνίδια παίζονται στο στρουμφοχωρίο :P

http://www.diyaudio.com/forums/pc-based/271811-moode-audio-player-raspberry-pi-498.html#post4866498

Εν ολίγοις, έχει εμφανιστεί στο Diyaudio o Michelangelo του Volumio μετά από χρόνια, ρωτώντας επίμονα που μπορεί να βρει sources του kernel (με τα clivem patches) τον οποίο ετοιμάζεται να ενσωματώσει στην επόμενη έκδοση.

Ο Michelangelo δεν είναι χαζός. Ξέρει ότι ο clivem έχει σβήσει τον πηγαίο κώδικά του και έτσι ο Tim έχει ξεμείνει με kernel χωρίς source, κάτι που με όρους GPL είναι φάουλ. To όλο ζήτημα λύνεται αν έστω και κάποιος έχει φυλάξει τα sources του clivem και τα ανεβάσει οπουδήποτε στο internet.

Δεν ξέρω, κάτι δε μ' αρέσει σε όλο αυτό. Το να "χτυπάς" έναν χομπίστα επειδή είχε την ατυχία να ξεμείνει χωρίς source λόγω πολύ συγκεκριμένων καταστάσεων δεν είναι και πολύ λογικό, εκτός αν εσύ δεν είσαι χομπίστας!