В наши дни железо умнеет ударными темпами, программы учат людей, а люди — программы. В этом хаосе происходит постоянная интеграция всего и вся. После попытки скрещивания компьютера и стереосистемы родился MPD. Лаконичное определение из википедии:
Music Player Daemon (MPD) — музыкальный проигрыватель с клиент-серверной архитектурой, который читает музыку из указанного каталога, а при помощи клиента можно управлять воспроизведением, то есть MPD разрешает удаленный доступ к воспроизведению музыкальных файлов другому (удаленному) компьютеру и управлять сервером (демоном) можно с любой машины из сети, но слушать музыку можно и на своём компьютере, если программу клиент для MPD настроить на воспроизведение через свой локальный хост (localhost).
Для слабых машин mpd как бальзам на душу. Ресурсы расходует весьма экономно.
Устанавливать будем из репозитория:
sudo aptitude install mpd
Настройки MPD тянет сначала из ~/.mpd.conf, если неудачно, то из /etc/mpd.conf.
Мой конфиг выглядит примерно так:
music_directory "/media/MUSIC/music"
playlist_directory "/home/anton/.mpd/playlists"
db_file "/home/anton/.mpd/mpd.db"
log_file "/home/anton/.mpd/mpd.log"
error_file "/home/anton/.mpd/mpd.error"
pid_file "/home/anton/.mpd/pid"
user "anton"
bind_to_address "localhost"
port "6600"
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional
format "44100:16:2" # optional
}
mixer_type "alsa"
mixer_device "default"
mixer_control "PCM"
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"
metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
В этой заметке рассказывается про настройку выхода через Pulse Audio.
После сохранения не забудьте создать базу композиций:
mpd --create-db
Естественно, клиенты для этого музыкального демона существуют разные. Сегодня речь пойдёт о собратьях по разуму с GTK родословной. Вот список финалистов:
Sonata
Место встречи: sonata.berlios.de
Страница загрузки
Sonata - GTK+ плеер, написанный на Python. Установка:
sudo aptitude install sonata
Позиционируется как элегантное решение для управления вашей музыкальной коллекции. Это действительно так. Интерфейс логичен, прост, понятен и симпатичный к тому же. Музыку скроблить на last.fm умеет, с тегами общается "на ты", обложки альбомам шукает, с консолью дружит. Чего еще требовать? Разве что скорости запуска. Для кого этот параметр критичен, обратите внимание на следующую персону.
Gimmix
Место встречи: gimmix.berlios.de
Страница загрузки
Gimmix написан на C и использует GTK+. Очень простой и легкий в использовании клиент. Все настройки храняться в ~/.gimmixrc. Интерфейс чем-то напоминает Sonata, но опций, безусловно, меньше. Теги на русском коверкает — минус, зато шустренько запускается — плюс :)
Ario
Место встречи: ario-player.sourceforge.net
Страница загрузки
GTK2 клиент с интерфейсом а-ля Rhythmbox. Поддерживает разнообразные плагины (wikipedia, audioscrobbler, мультимедиа клавиши, web radio, работа с обложками). Кстати, если включена опция «Автоматическая загрузка обложек альбомов», плеер за номером версии 1.0, deb-пакет которого можно скачать на сайте, стабильно падает. Старая версия из репозитория Ubuntu держится увереннее:
sudo aptitude install ario
Glurp
Место встречи: sourceforge.net/projects/glurp/
Клиент для GNOME. Не обновлялся с 2005 года. Может потому и смотрится аскетично. Опции glurp не балуют разнообразием да и каких-то особых фич не найдено. Самый скромный участник. Установка:
sudo aptitude install glurp
Gmpc
Место встречи: sarine.nl/gmpc
Страница загрузки
Да, еще раз mpd frontend для GNOME. Можно подключать плагины, правда придется скомпилировать их :) В плане удобства использования практически нет нареканий. Установка:
sudo aptitude install gmpc
Pympd
Место встречи: pympd.sourceforge.net
Страница загрузки
Второй близнец для Rhythmbox. Как и Ario способен прокачивать амуницию с помощью модулей-дополнений. Работает быстро. Инсталляция:
sudo aptitude install pympd
UPD: Страждущим еще более легковесных клиентов предлагаю обратиться к обзору консольных представителей.
27 комментариев: ответить
Спасибо за обзор. Недавно мою любимый Exaile начал дико поганить звук. Причины я пока не выяснил, но это единственный плеер в системе, у которого проблемы с воспроизведением.
Решил попробовать mpd. В качестве клиента выбрал сонату, про которую где-то что-то слышал. Но функционала не хватает. Поставил программы, упомянутые в обзоре и разочаровался...
Ни одна программа не позволяет сортировать текущий плейлист по какому-либо критерию, хотя просматривая библиотеку список можно сортировать как угодно. Вот только добавится он не в этом порядке, а что-то поменять - фиг. И только gmpc может добавить в плейлист весь альбом одним кликом. Грустно.
В общем, музыку я теперь редко за компом слушаю, ибо exaile звучит ужасно, некогда любимый listen жутко глючит, а перекапывать коллекцию в наутилусе и добавлять песни в тотем вручную мне лень.
А обзор хороший, мне понравился :)
Обзор и правда хорош. Из всех перечисленных клиентов юзаю только сонату.
Спасибо за высокую оценку опуса. Надеюсь, не последний подобного рода пост.
2DimkaS
А что именно со звучанием в exaile? Сам часто пользуюсь и люблю это плеер. Последняя версия 0.2.13 из репозитория для Hardy работает благозвучно.
У Сонаты заметил глюк, при закрытие не убивает mpd демон.
Клиент закрыт, а звук идет.
2akira
Это не глюк. Все клиенты так делают. В настройках Sonata можно указать "Останавливать воспроизведение при выходе".
2Dr.AKULAvich
Трудно описать... Примерно так: звук слегка хрипит в соло и тихих композициях. В громких и шумных искажений не замечал. ReplayGain (или как его там?) отключал - не помогло. Exaile почему-то отказывается играть mp3 без gstreamer ugly или bad. Хотя все остальные проигрыватели без них обходятся. Возможно, дело именно в этих кодеках. Версия у меня Exaile 0.2.11 (Debian lenny). Возможно, стоит попробовать более новую.
Exaile использует Gstreamer. Без него никак.
Есть один баг в стримере, который решается запуском плеера без эквалайзера:
exaile --no-equalizer
Я имел в виду gstreamer0.10-plugins-ugly. Без него exaile не играет mp3, хотя остальные плееры, использующие gstreamer, проблем не испытывают. А за ключик спасибо, попробую.
Во времена наличии на работе обычных десктопных компов юзал второй с конца. MusicPD оказался для нас очень хорошим решением, т.к. звуковая карта и колонки имелись только у одного компьютера.
Sonata - объективно наиболее удобный клиент для MPD сейчас. Разве что ncmpc может поконкурировать с ней, но этой уже консоль.
Спасибо очень полезная инфа. Пользовался audacious, решил попробывать что-то новенькое - mpd+sonata - пока что доволен :)
Кто подскажет, как настроить конфиг так, чтобы звук не захватывался mpd и возможно было одновременно использовать другие приложения, типа mplayer и проч.?
разобрался, всего лишь:
audio_output {
type "alsa"
name "Sound Card"
options "dev=dmixer"
device "plug:dmix"
}
А в чем косяк может быть - пытаюсь создать базу, возникает косяк - cannot setgid for user "mpd" at line 36: Operation not permitted
DYm00n, запусти с соответствующими правами
А скажите, возможно ли чтобы соната сохраняла обложки к альбомам? А то в сонате обложка есть, а, например, на другом компьютере с minion'ом -- нету.
Второй клиент управляет mpd по сети? Мне кажется, не получится.
А еще более лаконичный вердикт висит в самом верху страницы в Википедии:
Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка.
Есть планы это дело исправить - заняться статьёй вплотную. В том числе удалить многочисленные ссылки на блоги, которые стоят там, ибо Википедия - это не каталог ссылок.
Возващаясь непосредственно к данному обзору хочу сказать, что лично мне, как пользователю связки mpd-sonata со стажем в пару лет этот обзор понравился :)
>В том числе удалить многочисленные ссылки на блоги, которые стоят там, ибо Википедия - это не каталог ссылок.
Тут я заподозрил недвусмысленный намек. Отправился смотреть страницу, посвященную mpd, и увидел ссылку на свой обзор. Спешу вас разуверить: я не делал никаких правок. Считаю, что википедия должна ссылаться в основном на внутренние статьи.
>Возващаясь непосредственно к данному обзору хочу сказать, что лично мне, как пользователю связки mpd-sonata со стажем в пару лет этот обзор понравился :)
Рад, что не зря писал его.
@dr.akulavich:
Вообщем, я ни на что, и ни на кого не намекал. Кто, что и когда добавил в статью в Википедию записывается средствами движка, и я знаю что вы ничего не добавляли.
Дело в том, что как я и писал, статью надо перепысывать. Она ужасно написана, и слишком много внешних ссылок, и большинство не на блоги.
И что еще хочется отметить, что редактировать статьи в Википедии может любой, и регистрация для этого не нужна.
Так что приглашаю принять участие в создании русской Википедии.
а у меня такая ситуация:
есть сервак, на котором вся музыка. к нему подключена аудиосистема. управляю я со своего ноута при помощи сонаты. теперь вопрос:
можно как-то сделать так, чтоб при старте, сервак не создавал каждый раз db, а использовал созданный ранее?
пока у меня 10 гиг музыки - это терпимо, но когда их станет 60 - будет совсем тоскливо. а вырубать его приходится на ночь по определённым причинам
:)жду ответа с нетерпением :)
Я базу создал один раз, запустив mpd с ключом --create-db.
Проверь скрипт, который запускает mpd, может там это выставлено, вот он и создаёт каждый раз.
А может, не создаёт, а обновляет? У сонаты кажется тоже есть опции создать/обновить, проверь сонату тоже.
Так, навскидку мысли.
@maksymov.vlad
Как уже подсказали выше, скорее всего проблема с ключом запуска. База создаётся единожды, поэтому постоянная регенерация абсолютно излишняя.
а вот ещё у меня соната не играет музыку. вот вывод с терминала:
maksymov@maksymov-ubuntu:~$ sonata
/usr/lib/python2.6/dist-packages/sonata/main.py:78: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import gtk, pango, threading, time, ui, img, tray, md5
/var/lib/python-support/python2.6/ZSI/resolvers.py:6: DeprecationWarning: the multifile module has been deprecated since Python 2.5
import multifile, mimetools, urllib
Exception in thread Thread-4:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 525, in __bootstrap_inner
self.run()
File "/usr/lib/python2.6/threading.py", line 477, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.6/dist-packages/sonata/main.py", line 4055, in _artwork_update
imgfound = self.artwork_check_for_remote(artist, album, filename)
File "/usr/lib/python2.6/dist-packages/sonata/main.py", line 4126, in artwork_check_for_remote
self.artwork_download_img_to_file(artist, album, filename)
File "/usr/lib/python2.6/dist-packages/sonata/main.py", line 4270, in artwork_download_img_to_file
f = opener.open(request).read()
File "/usr/lib/python2.6/urllib2.py", line 389, in open
response = meth(req, response)
File "/usr/lib/python2.6/urllib2.py", line 502, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.6/urllib2.py", line 427, in error
return self._call_chain(*args)
File "/usr/lib/python2.6/urllib2.py", line 361, in _call_chain
result = func(*args)
File "/usr/lib/python2.6/urllib2.py", line 510, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 400: Bad Request
/var/lib/python-support/python2.6/ZSI/wstools/XMLSchema.py:3072: DeprecationWarning: object.__init__() takes no parameters
tuple.__init__(self, args)
можно это починить как-то ?
т.е. я вижу файлы, добавляю их в очередь воспроизведения, а при нажатии play выводит играть не начинает
А что насчет ape файлов? Может как-то можно научить играть lossless файлы? Пока что-то не нашел никакой инфы по этому поводу.
По поводу ape.
Это оно?
Никак не пойму как работать со связкой mpd+sonata по сети.
В параметрах подключения сонаты указываю узел (IP-адрес, на котором собственно работает mpd-сервер). Но подключения не происходит. ЧЯДНТ?
(p.s. сервер работает на Arch, клиент на debian lenny)