Audioscrobbling

Использование mpdscribble для скробблинга музыки с MPD

Итак, для особых пользователей существует музыкальный проигрыватель в виде демона. Да да, типа Web-сервера, но не много для иных целей. Он просто играет музыку, управляет плейлистами и базой данных того, что у вас есть. Взаимодействие с пользователем происходит посредством программы-клиента. Это есть удобно, поскольку управлять проигрывателем можно из любого места в сети, из которого разрешён доступ. Да и клиент может быть на любой вкус и цвет.

Для скробблинга сущестует очень много средств, в частности некоторые клиенты (например Sonata) поддерживают скробблинг. Но деражать клиент постоянно как то не Ъ. Потому мы воспользуемся допонительным средством. Оно называется mpdscribble. По сути он тоже клиент для MPD, просто он не управляет им, а только считывает происходящее. Возможно, что в составе используемого Вами дистрибутива он есть (по крайней мере есть в Arch Linux). Предположим что он всё таки есть и мы его уже установили.

Теперь конфигурируем. Создаём у себя в домашней папке папку .mpdscribble и копируем образцовый файл конфига, что в комплекте туда же как файл mpdscribble.conf. В нём можно изменить адрес плеера, если он не на стандартных настройках (параметры host и port). Но нам важнее скробблинг. Ищем секцию [last.fm], убеждаемся, что она раскоментирована. Для авторизации там есть параметры username и password (соответственно логин и пароль). Только в параметр с паролем нужно писать не сам пароль, а его md5-хеш. Это важно!! Параметр journal перенастраиваем так, чтобы журнал писался туда, куда у нас есть доступ писать. Вот как выглядит примерный файл конфигурации:

host = 127.0.0.1
port = 6600
log = syslog
verbose = 1

[last.fm]
username = user
password = 5f4dcc3b5aa765d61d8327deb882cf99
url = http://post.audioscrobbler.com/
journal = /home/user/.mpdscribble/lastfm.journal

Кстати говоря, в конфиге можно также прописать прокси сервер, через которым мы будем скробблить. Параметр так и звучит proxy, а синтаксис параметра такой же как и у переменной окружения HTTP_PROXY.

После выполнения настроек, запускам mpd. Потом запускаем mpdscribble. Это банально просто:

$ mpdscribble

Когда надо будет завершить скробблер, просто убиваем его:

$ killall mpdscribble

Вот и всё, можно пользоваться.

Особенность: скробблер записывает в историю только те треки, которые доиграли до конца и в процессе не перематывались. Now playing отображается адекватно, от начала трека вплоть до его конца.