понедельник, 2 февраля 2009 г.

MPD - музыка в консоле

В Linux есть много музыкальных плееров, например - Amarok, Audacious, Banshee. Плееры - "просто плееры" и плееры - "музыкальные комбайны", хорошие и ...очень хорошие. Я, к слову, пользуюсь (скорее уже "пользовался") Amarok, это просто какое-то чудокомбайнище, тут и эквалайзеры и мультимедиатека и списки и правка тэгов, куча подключаемых скриптов для просмотра информации, текстов, кодирования и пр.пр.пр...
Всё это конечно хорошо, но, 90% времени плеер просто висит в трее и кроме как "послушать" от него ничего не требуется. Меня просто разрывает на куски когда я смотрю top, штук 5 amarokapp съедающие 15% CPU и 150 Мб памяти, плюс кучка скриптов на перл и руби. Нет, нет и нет. Я просто хочу "музычку по-тихоничку", не надо эквалайзера, рейтингов и обложек альбомов...ничего не надо, просто пусть играет. И имя этому "просто играет" - MPD. Что о нём знает apt?
$ aptitude show mpd
Описание: Music Player Daemon
Music Player Daemon (MPD) is a server that allows remote access for playing audio files (Ogg-Vorbis, FLAC, MP3, Wave, and
AIFF), streams (Ogg-Vorbis, MP3) and managing playlists. Gapless playback, buffered output, and crossfading support is also
included. The design focus is on integrating a computer into a stereo system that provides control for music playback over a
TCP/IP network. The goals are to be easy to install and use, to have minimal resource requirements (it has been reported to
run fine on a Pentium 75), and to remain stable and flexible.
Чудненько, то что надо. Помолимся, MPD да не укради системного времени, будь стабильным и гибким, легко установись и аминь..
Ставим сам сервер и одним виртуальным пакетом mpd-client кучку клиентов к нему.
$ sudo aptitude install mpd mpd-client
Демон сервера стартует во время загрузки ОС читая настройки из /etc/mpd.conf, я не считаю что он нужен мне при каждом старте системы. Следуя рекомендации, из файла /etc/rc2.d/README, переименовываем симлинк S30mpd в K70mpd. Теперь запускать сервер будем ручками когда он нам нужен и со своими настройками. Настраиваем под себя:
$ cp /etc/mpd.conf ~/.mpdconf
именно так, а не ~/.mpd.conf
мой содержит следущее:
music_directory "~/Music/"
playlist_directory "~/Music/"
db_file "~/Music/music.db"
log_file "~/Music/mpd.log"
error_file "~/Music/errors.log"
pid_file "~/Music/pid"
state_file "~/Music/state"
user "wtaket"
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"
Тут есть пара скользких моментов, секция audio_output , параметры device и format, если их не указать, mpd грузит систему почище Amarok и 30% CPU не предел. Второй момент это совместное использование устройства, ни с alsa ни с oss у меня не работает и что делать не знаю. Хотя слушать музыку и одновременно смотреть фильм я вряд ли буду :)
Запускается mpd просто:
$ mpd
Кто-бы мог подумать :)
Ну а теперь сам как-бы плеер. Мне понравился консольный ncmpc, с параметром -c запускается в цветном режиме. Файл настроек плеера
$ cp /usr/share/doc/examples/config.sample ~/.ncmpc/config
я поставил запуск в цветном режиме
enable-colors = yes
отображение в заголовке терминала информации о треке
set-xterm-title = yes
xterm-title-format = "ncmpc: [ %name%|[%artist% - ]%title%|%file%]"
центрирование проигрываемого трека в плейлисте
auto-center = yes
и скрытие курсора через 5 секунд
hide-cursor = 5
Настроить shortcuts можно рилтайм в самом плеере и сохранить в файл.
Всё. Остается только наслаждаться музыкой :) , mpd грузит процессор на 1-3%, память (VIRT) 12900. Единственная ложечка дёгтя - недоступность звука для других приложений.

1 комментарий: