Ανοίγω αυτό το θέμα ώστε να συζητήσουμε γενικώς για το δημοφιλές πρόγραμμα αναπαραγωγής μουσικής MPD.
url: http://www.musicpd.org/
- Τι είναι ο MPD
Πρόκειται για ένα open source πρόγραμμα αναπαραγωγής μουσικής, δημοφιλές στον κόσμο του Linux (παρότι παίζει σχεδόν σε όλα τα OS) εδώ και πολλά χρόνια. Βασικό του χαρακτηριστικό είναι η client/server λογική λειτουργίας. Εγκαθίσταται σε ένα computer (server) όπου είναι και το transport μας και ελέγχεται είτε από τον ίδιο υπολογιστή είτε από οποιοδήποτε pc/smartphone/tablet το οποίο βρίσκεται στο ίδιο δίκτυο, με κατάλληλα προγράμματα τα οποία λέγονται clients.
Όσοι είστε συνηθισμένοι σε προγράμματα αναπαραγωγής για windows/mac (foobar, amarra κλπ) θα πρέπει να μπείτε σε μια διαφορετική λογική, καθώς ο MPD δεν έχει γραφικό περιβάλλον. Δεν είναι ένας τυπικός player στον οποίον φορτώνουμε μια playlist και ξεκινά την αναπαραγωγή με το πάτημα ενός κουμπιού. O MPD έχει λογική server. Είναι ένα service το οποίο εκκινεί στο background και για να επικοινωνήσουμε μαζί του θέλουμε οπωσδήποτε κάποιον client (συνήθως gui). Για τους clients θα μιλήσουμε εκτενώς αργότερα.
- Εγκατάσταση και ρύθμιση του MPD
Σε linux διανομές ο MPD εγκαθίσταται μέσα από τον package manager της διανομής(apt/synaptic, pacman κλπ).
Εγκατάσταση και ρύθμιση σε MAC: http://mpd.wikia.com/wiki/Mpd_on_OS_X_Snow_Leopard
Εγκατάσταση και ρύθμιση σε Windows: http://www.musicpd.org/download/win32/ http://mpd.wikia.com/wiki/Windows_Compatibility
Στα παραπάνω links θα βρείτε και σχετικές οδηγίες για ρύθμισή του, αλλά για να είμαι ειλικρινής, αυτό είναι και το πιο δύσκολο κομμάτι της όλης διαδικασίας καθώς όλο το configuration γίνεται μέσα από το editing ενός αρχείου, του mpd.conf. Ένα παράδειγμα ενός configuration (από τη διανομή Archphile που φτιάχνω εγώ) είναι το παρακάτω:
Στο παρόν νήμα παρόλα αυτά δε θα εστιάσω καθόλου στο configuration του αρχικά, αλλά θα αρκεστώ στην πρόταση έτοιμων λύσεων παρακάτω. Σε γενικές γραμμές άξιο αναφοράς είναι πως τόσο το resampling (με sox κλπ) όσο και η λειτουργία σε bit perfect mode είναι πολύ εύκολα ρυθμίσιμες με ελάχιστες γραμμές στο configuration.
- Διαχείριση μουσικής βιβλιοθήκης
Ο MPD λειτουργεί με library. Όλη η μουσική που υπάρχει στο path που έχουμε ορίσει να βλέπει, σκανάρεται με το πάτημα ενός κουμπιού από τον client και μπαίνει σε μια βάση δεδομένων. Δεν μπορούμε να κάνουμε browse και να παίξουμε ένα αρχείο το οποίο δεν υπάρχει στη library.
- Clients
Υπάρχουν πραγματικά πολλοί clients. Θα δώσω screenshots για μερικούς από αυτούς και links για διάφορους άλλους.
GMPC (Linux/Unix/Mac Os X/Windows)
YMPD (web interface - Linux)
Mpdroid (Android)
Για κατόχους Apple συσκευών:
Mpod https://itunes.apple.com/us/app/mpod/id285063020?mt=8
Mpad https://itunes.apple.com/us/app/mpad/id423097706?mt=8
Λίστα με σχεδόν όλους τους clients: http://mpd.wikia.com/wiki/Clients
- Έτοιμες λύσεις:
Όπως ανέφερα και πιο πάνω, o MPD υποστηρίζει πληθώρα λειτουργικών συστημάτων, παρόλα αυτά αποτελεί κυρίως ένα software προοριζόμενο για Linux. Επειδή όμως για κάποιον μη εξοικειωμένο με το Linux το στήσιμο του OS και στη συνέχεια του MPD είναι σχεδόν αδύνατον, υπάρχουν κάποιες ευκολότερες εναλλακτιές.
Για PC:
http://www.ap-linux.com/
http://linux.voyage.hk/
Για embedded boards (Raspberry Pi, Cubox, Udoo κλπ):
https://volumio.org/
http://www.runeaudio.com/
http://tcmods.org/
http://archphile.org/
Μια που εμπλέκομαι ενεργά στο Archphile, θα κάνω μια ιδιαίτερη αναφορά στα τελευταία, καθώς είναι ο πιο εύκολος τρόπος να δοκιμάσουμε και να χρησιμοποιήσουμε τον MPD. Οι παραπάνω Linux διανομές προορίζονται για το Raspberry Pi αλλά και για διάφορες άλλες συσκευές. Έχουν εγκατεστημένο MPD και επίσης έχουν εγκατεστημένο και client στο ίδιο OS το οποίο είναι προσβάσιμο στο τοπικο δίκτυο μια που οι clients αυτοί είναι web interfaces. Παρόλα αυτά σε όλες τις διανομές μπορούμε να χρησιμοποιήσουμε ταυτόχρονα όσους εναλλακτικούς clients θέλουμε.
- Αρχεία αναπαραγωγής που υποστηρίζονται:
Εξαρτάται από το configuration του εκάστοτε MPD. Ένα παράδειγμα από τον MPD του archphile είναι το παρακάτω:
Tι δεν υποστηρίζεται:
Επισήμως δεν υποστηρίζονται SACD και DVD-A ISO. Παρόλα αυτά, το Archphile αυτή τη στιγμή προσφέρει εναλλακτικό πακέτο MPD όπου υποστηρίζει επιτυχώς και τα δύo:
http://archphile.org/blog/experimental-package-sacddvd-iso-support/
Eπίσης από τις δοκιμές που έχω κάνει, δεν έχω καταφέρει ακόμη να αναπαράξω APE, αν και μάλλον κάτι δεν κάνω σωστά, οπότε και επιφυλάσσομαι.
- Ποιότητα αναπαραγωγής
Ο ΜPD σε συνδιασμο με Linux OS χαίρει μεγάλης εκτίμησης από την Computer Audio κοινότητα για την ποιότητα αναπαραγωγής του. Δεν είναι τυχαίο ότι αποτελεί την καρδιά γνωστών και ακριβών εμπορικών λύσεων. Παρόλα αυτά δεν είμαι αρμόδιος να αναφερθώ σε συγκρίσεις με άλλα δημοφιλή προγράμματα καθώς δεν έχω μπει σε διαδικασία Α/Β τεστ.
- Πλεονέκτημα έναντι των εναλλακτικών λύσεων
Χρησιμοποιώντας συγκεκριμένες διανομές, ή στήνοντάς τον από το μηδέν σε κάποιο Linux OS, μπορούμε να φτιάξουμε ένα εντελώς custom headless σύστημα, λιτό, χωρίς γραφικό περιβάλλον και με ελάχιστα services ανοιχτά. Έτσι το γυμνό OS που έχουμε στήσει, ασχολείται αποκλειστικά με την αναπαραγωγή μουσικής χωρίς να διακόπτεται από οποιαδήποτε άλλη διεργασία.
url: http://www.musicpd.org/
- Τι είναι ο MPD
Πρόκειται για ένα open source πρόγραμμα αναπαραγωγής μουσικής, δημοφιλές στον κόσμο του Linux (παρότι παίζει σχεδόν σε όλα τα OS) εδώ και πολλά χρόνια. Βασικό του χαρακτηριστικό είναι η client/server λογική λειτουργίας. Εγκαθίσταται σε ένα computer (server) όπου είναι και το transport μας και ελέγχεται είτε από τον ίδιο υπολογιστή είτε από οποιοδήποτε pc/smartphone/tablet το οποίο βρίσκεται στο ίδιο δίκτυο, με κατάλληλα προγράμματα τα οποία λέγονται clients.
Όσοι είστε συνηθισμένοι σε προγράμματα αναπαραγωγής για windows/mac (foobar, amarra κλπ) θα πρέπει να μπείτε σε μια διαφορετική λογική, καθώς ο MPD δεν έχει γραφικό περιβάλλον. Δεν είναι ένας τυπικός player στον οποίον φορτώνουμε μια playlist και ξεκινά την αναπαραγωγή με το πάτημα ενός κουμπιού. O MPD έχει λογική server. Είναι ένα service το οποίο εκκινεί στο background και για να επικοινωνήσουμε μαζί του θέλουμε οπωσδήποτε κάποιον client (συνήθως gui). Για τους clients θα μιλήσουμε εκτενώς αργότερα.
- Εγκατάσταση και ρύθμιση του MPD
Σε linux διανομές ο MPD εγκαθίσταται μέσα από τον package manager της διανομής(apt/synaptic, pacman κλπ).
Εγκατάσταση και ρύθμιση σε MAC: http://mpd.wikia.com/wiki/Mpd_on_OS_X_Snow_Leopard
Εγκατάσταση και ρύθμιση σε Windows: http://www.musicpd.org/download/win32/ http://mpd.wikia.com/wiki/Windows_Compatibility
Στα παραπάνω links θα βρείτε και σχετικές οδηγίες για ρύθμισή του, αλλά για να είμαι ειλικρινής, αυτό είναι και το πιο δύσκολο κομμάτι της όλης διαδικασίας καθώς όλο το configuration γίνεται μέσα από το editing ενός αρχείου, του mpd.conf. Ένα παράδειγμα ενός configuration (από τη διανομή Archphile που φτιάχνω εγώ) είναι το παρακάτω:
Code:
###################################
##Archphile Default Configuration##
follow_outside_symlinks "yes"
follow_inside_symlinks "yes"
db_file "/var/lib/mpd/mpd.db"
log_file "/var/log/mpd.log"
pid_file "/var/run/mpd/pid"
music_directory "/var/lib/mpd/music"
playlist_directory "/var/lib/mpd/playlists"
state_file "/var/lib/mpd/mpdstate"
user "mpd"
bind_to_address "any"
port "6600"
log_level "default"
volume_normalization "no"
audio_buffer_size "2048"
buffer_before_play "20%"
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"
gapless_mp3_playback "yes"
auto_update "no"
mixer_type "disabled"
group "audio"
max_connections "20"
restore_paused "yes"
decoder {
plugin "ffmpeg"
enabled "no"
}
input {
plugin "curl"
}
audio_output {
enabled "yes"
type "alsa"
name "MY DAC"
device "hw:0,0"
auto_resample "no"
auto_channels "no"
auto_format "no"
dsd_usb "yes"
}
Στο παρόν νήμα παρόλα αυτά δε θα εστιάσω καθόλου στο configuration του αρχικά, αλλά θα αρκεστώ στην πρόταση έτοιμων λύσεων παρακάτω. Σε γενικές γραμμές άξιο αναφοράς είναι πως τόσο το resampling (με sox κλπ) όσο και η λειτουργία σε bit perfect mode είναι πολύ εύκολα ρυθμίσιμες με ελάχιστες γραμμές στο configuration.
- Διαχείριση μουσικής βιβλιοθήκης
Ο MPD λειτουργεί με library. Όλη η μουσική που υπάρχει στο path που έχουμε ορίσει να βλέπει, σκανάρεται με το πάτημα ενός κουμπιού από τον client και μπαίνει σε μια βάση δεδομένων. Δεν μπορούμε να κάνουμε browse και να παίξουμε ένα αρχείο το οποίο δεν υπάρχει στη library.
- Clients
Υπάρχουν πραγματικά πολλοί clients. Θα δώσω screenshots για μερικούς από αυτούς και links για διάφορους άλλους.
GMPC (Linux/Unix/Mac Os X/Windows)
YMPD (web interface - Linux)
Mpdroid (Android)
Για κατόχους Apple συσκευών:
Mpod https://itunes.apple.com/us/app/mpod/id285063020?mt=8
Mpad https://itunes.apple.com/us/app/mpad/id423097706?mt=8
Λίστα με σχεδόν όλους τους clients: http://mpd.wikia.com/wiki/Clients
- Έτοιμες λύσεις:
Όπως ανέφερα και πιο πάνω, o MPD υποστηρίζει πληθώρα λειτουργικών συστημάτων, παρόλα αυτά αποτελεί κυρίως ένα software προοριζόμενο για Linux. Επειδή όμως για κάποιον μη εξοικειωμένο με το Linux το στήσιμο του OS και στη συνέχεια του MPD είναι σχεδόν αδύνατον, υπάρχουν κάποιες ευκολότερες εναλλακτιές.
Για PC:
http://www.ap-linux.com/
http://linux.voyage.hk/
Για embedded boards (Raspberry Pi, Cubox, Udoo κλπ):
https://volumio.org/
http://www.runeaudio.com/
http://tcmods.org/
http://archphile.org/
Μια που εμπλέκομαι ενεργά στο Archphile, θα κάνω μια ιδιαίτερη αναφορά στα τελευταία, καθώς είναι ο πιο εύκολος τρόπος να δοκιμάσουμε και να χρησιμοποιήσουμε τον MPD. Οι παραπάνω Linux διανομές προορίζονται για το Raspberry Pi αλλά και για διάφορες άλλες συσκευές. Έχουν εγκατεστημένο MPD και επίσης έχουν εγκατεστημένο και client στο ίδιο OS το οποίο είναι προσβάσιμο στο τοπικο δίκτυο μια που οι clients αυτοί είναι web interfaces. Παρόλα αυτά σε όλες τις διανομές μπορούμε να χρησιμοποιήσουμε ταυτόχρονα όσους εναλλακτικούς clients θέλουμε.
- Αρχεία αναπαραγωγής που υποστηρίζονται:
Εξαρτάται από το configuration του εκάστοτε MPD. Ένα παράδειγμα από τον MPD του archphile είναι το παρακάτω:
Code:
[root@archphile ~]# mpd -V
Music Player Daemon 0.19.9
Copyright (C) 2003-2007 Warren Dukes <[email protected]>
Copyright (C) 2008-2014 Max Kellermann <[email protected]>
This is free software; see the source for copying conditions. There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Database plugins:
simple proxy upnp
Storage plugins:
local
Decoders plugins:
[mad] mp3 mp2
[oggflac] ogg oga
[flac] flac
[sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
[audiofile] wav au aiff aif
[dsdiff] dff
[dsf] dsf
[faad] aac
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg opus psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve
[pcm]
Output plugins:
null fifo alsa httpd
Encoder plugins:
null vorbis wave flac
Input plugins:
file alsa curl ffmpeg mms
Playlist plugins:
extm3u m3u pls xspf asx rss cue embcue
Protocols:
file:// http:// https:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps:// alsa://
Tι δεν υποστηρίζεται:
Επισήμως δεν υποστηρίζονται SACD και DVD-A ISO. Παρόλα αυτά, το Archphile αυτή τη στιγμή προσφέρει εναλλακτικό πακέτο MPD όπου υποστηρίζει επιτυχώς και τα δύo:
http://archphile.org/blog/experimental-package-sacddvd-iso-support/
Eπίσης από τις δοκιμές που έχω κάνει, δεν έχω καταφέρει ακόμη να αναπαράξω APE, αν και μάλλον κάτι δεν κάνω σωστά, οπότε και επιφυλάσσομαι.
- Ποιότητα αναπαραγωγής
Ο ΜPD σε συνδιασμο με Linux OS χαίρει μεγάλης εκτίμησης από την Computer Audio κοινότητα για την ποιότητα αναπαραγωγής του. Δεν είναι τυχαίο ότι αποτελεί την καρδιά γνωστών και ακριβών εμπορικών λύσεων. Παρόλα αυτά δεν είμαι αρμόδιος να αναφερθώ σε συγκρίσεις με άλλα δημοφιλή προγράμματα καθώς δεν έχω μπει σε διαδικασία Α/Β τεστ.
- Πλεονέκτημα έναντι των εναλλακτικών λύσεων
Χρησιμοποιώντας συγκεκριμένες διανομές, ή στήνοντάς τον από το μηδέν σε κάποιο Linux OS, μπορούμε να φτιάξουμε ένα εντελώς custom headless σύστημα, λιτό, χωρίς γραφικό περιβάλλον και με ελάχιστα services ανοιχτά. Έτσι το γυμνό OS που έχουμε στήσει, ασχολείται αποκλειστικά με την αναπαραγωγή μουσικής χωρίς να διακόπτεται από οποιαδήποτε άλλη διεργασία.
Last edited: