Pull to refresh

MPD, домашнее аудиохранилище

Reading time2 min
Views8.7K
Хотел бы рассказать как на днях решил задачу организации домашнего аудиохранилища.

Для начала, что имеем:

1) стационарный компьютер(ОС — ArchLinux);
2) ноутбук, к которому часто подключается домашняя акустика (ОС — ArchLinux x64);
3) фонотеку ~ 500 Гб, которая находиться на (1).

Что хотелось бы получить в результате (задачи):

1) централизованную библиотеку, к примеру, чтобы созданный на одной машине список воспроизведения был доступен и на другой тоже;
2) возможность управления воспроизведением с любого компьютера;
3) возможность выводить звук на аудиовыход любого компьютера, к примеру, работая на стационарнике и управляя с него слушать музыку на акустике подключенной к ноуту.

Реализация.

Было принято решение использовать mpd, что это писать не буду, про это написано итак много.
В качестве клиента на обоих компьютерах был выбран gpmc (есть и под Windows), главная причина такого выбора возможность переключения выводов звука mpd «на лету». Т.к. использую Gnome 3, звуковая подсистема у меня, по умолчанию, основана на PulseAudio, собственно только он и предоставляет необходимый в данной ситуации функционал.

Ставим всё, что нужно:

На стационарнике:
sudo pacman -S mpd gmpc
На ноуте:
sudo pacman -S gmpc paprefs

Настраиваем:

1. Конфигурируем mpd.
мой mpd.conf:
music_directory "/var/Shared/Media/Music_mp3"
playlist_directory "/home/useer/.mpd/playlists"
db_file "/home/useer/.mpd/mpd.db"
log_file "/home/useer/.mpd/mpd.log"
pid_file "/home/useer/.mpd/pid"
state_file "/home/useer/.mpd/state"
default_permissions "read,add,control,admin"
volume_normalization "yes"
user "mpd"
bind_to_address "any"
port "6600"
audio_output {
type "pulse"
name "Компьютер"
}
audio_output {
type "pulse"
name "Ноутбук"
server "192.168.4.3" #ip-адрес ноутбука
}
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"


2. Запускаем демона:
sudo /etc/rc.d/mpd start

3. Переходим к буку. Настраиваем PulseAudio (если что — читаем ниже «Трудности»):
paprefs
Ставим галочки:
image

4. Запускаем на любом компьютере gmpc.

Результат:

Имеем единую фонотеку, управляем воспроизведением с любого ПК и выводим звук на любой ПК.
Переключение выходов осуществляется удобно через меню gmpc:
image

Трудности:

При запуске paprefs у меня все пункты настроек не доступны (серые). Это связано с тем что текущая в репозиториях версия paprefs собрана с поддержкой более старой версии PulseAudio и не может найти подключаемые модули, у меня они находятся в /usr/lib/pulse-1.1, а paprefs ищет в /usr/lib/pulse-1.0

Самый простой способ решения — посмотреть где ищет paprefs и создать ссылку с таким именем:
strace paprefs 2>&1 |grep /lib/pulse - посмотреть
ln -s /usr/lib/pulse-1.1/ /usr/lib/pulse-1.0 - создать


Приятного прослушивания!
Tags:
Hubs:
Total votes 33: ↑28 and ↓5+23
Comments13

Articles