28 октября 2006 г.

Music on console, или Как я забыл про XMMS.

Помнится, в предыдущей статье я писал про то, что для прослушивания всякой музыки пользуюсь проигрывателем XMMS. Не далее, как вчера, мне посоветовали попробовать проигрыватель MOC. Расшифровывается эта аббревиатура как Music on console - Музыка через консоль, если этот блог читают незнакомые с английским языком люди. Так в чем же прелести этой простой на вид программы? Давайте разберемся...

А начну я с ее внешнего вида. Вот так выглядит наш moc:

Скромно, и со вкусом. Слева расположена панель обзора, справа - плейлист. Чуть ниже - состояние (текстом), громкость, всего времени в плейлисте. Еще ниже - состояние (символом) и текущий файл. Ниже - время (прошло осталось (всего)), частота дискретизации и битрейт, набор режимов воспроизведения. В самом низу - "полоса прокрутки", скорее просто график. Интерфейс нехитрый и понятный с первого взгляда.

В качестве основных достоинств можно отметить одновременную дружбу с кириллицей, как в ID3v1 тэгах любимого всеми взасос MPEG-II Layer 3 (которые обычно написаны в трижды клятой CP1251), так и в тэгах Ogg Vorbis, где, как известно, используется UTF-8. Работает в бэкграунде (для тех, кто в танке - забили плейлист, запалили проигрывание, закрыли плеер и занимаетесь своими делами), обладает совсем низкими системными требованиями и не прожорлив до ресурсов. Работает из консоли, т.е. в случае необходимости можно послушать музыку вне иксов. Естественно, управляется только с клавиатуры, что дает возможность максимально быстрого управления. При всей консольности довольно гибок в настройке и вмещает в себя в запущеном виде всю необходимую информацию, что, само по себе, крайне приятно. Мне даже кажется, что тот же XMMS вместе с плейлистом и эквалайзером не обладает такой информативностью. Делаем выводы. Держит mp3, Ogg Vorbis, FLAC, Musepack, Speex, WAVE, AIFF, AU и другие малопопулярные форматы, поддерживаемые библиотекой libsndfile.

Установка может быть несколько сложной для новичка, поэтому освещу и ее. Пользователи debian могут добыть это чудо простой командой:

# apt-get install moc

После чего проверить на предмет работоспособности командой mocp. Теперь о настройке. В принципе, знающие люди могут самостоятельно сообразить, что производится она за счет редактирования файлов конфигурации. Никаких (псевдо)графических конфигураторов в ней нет. И не надо.

В папке /usr/share/doc/moc/examples/ лежит файл config.example.gz. Копируем его в папку ~/.moc/ и распаковываем на месте.После чего переименовываем в config и правим. Файл прекрасно закомментирован. При наличии знаний в области английского языка настройка не создаст никаких трудностей.

$ cp /usr/share/doc/moc/examples/config.example.gz ~/.moc/
$ cd ~/.moc
# chown $USER config.example.gz
Где $USER - имя пользователя в системе.
$ gunzip config.example.gz
$ mv config.example config
$ nano config

Естественно, можете использовать любой другой текстовый редактор. В принципе, гибкость этого проигрывателя на уровне, поэтому предлагаю разбираться с настройками самостоятельно. Отмечу лишь, что для того, чтобы заставить moc дружить с кириллицей в ID3v1-заголовках, необходимо найти строку

#ID3v1TagsEncoding = WINDOWS-1250

и превратить ее в

ID3v1TagsEncoding = WINDOWS-1251

Закончили настраивать? Отлично. Говорим nano Ctrl+O, Enter, Ctrl+X. После чего наслаждаемся простым функционалом Music on console.

Ну и на последок, ссылка на официальный сайт.
http://moc.daper.net/

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

serhiy cherevko комментирует...

Спасибо. Программа понравилась. Недавно вычитал о Links2. Теперь эта. Так и иксы не нужны будут :).
Ставил у себя на кубунте. Без проблем. Попросило доставить пару библиотек и все.
Теперь по поводу конфига.
После копирования в .moc зайти надо, ну а потом уже chown :). Ну это так. Новичок может и не понять.
Поля ID3v1TagsEncoding у меня в конфиге вообще не оказалось. При добавление, выдает ошибку.
Хотя у меня mp3 в UTF-8, в mocp вижу краказябрики. В amarok все ОК. Пока еще не разобрался. На сайт честно скажу еще не ходил.

vonderer@darkstar комментирует...

Странно. У меня в Ubuntu свежеустановленный MOC съел старый конфиг, оставшийся в моей папке после Debian (я /home на отдельном разделе держу), наверное, выложу свой конфиг чуть позже на всеобщее обозрение. :)

Links2 - это неплохо, с одной стороны, но, боюсь, в условиях навороченных сайтов, он оказывается абсолютно бесполезен. :) Хотя он определенно интересен. xlinks2 вообще вызвал умиление. :)

serhiy cherevko комментирует...

Я ставил под Kubuntu 6.06, ты скорей всего под 6.10. Скорей всего MOC c 6.10 совместим с дебиановским. А вот в 6.06 наверное нет. Вообще не могу понять почему конфиги отличаются. Скорей всего в 6.06 о русских шрифтах не сильно заботились, и ID3v1TagsEncoding просто еще не влючили. Будет время, разберусь.

vonderer@darkstar комментирует...

Мой конфиг MOC. Возможно, чем-нибудь поможет.

serhiy cherevko комментирует...

Скачал твой конфиг. Он разов в два поболее моего будет. Ну и естественно того что надо, в моем нет. Легче будет поставить Moc поновей. Я не думаю что ему какие-нибудь специальные библиотки понадобятся

libc6 комментирует...

Впечатляет, а с русским я смотрю все еще проблемы в (вероятно) старых версиях плеера.

Сраные виндузятники. Засрали мир русских буков своей долбаной 1251, и думают что она правильная.

vonderer@darkstar комментирует...

В поддержке русского действительно, как-то странно. Мелкософт в этом отношении постарались. Ввели свои "стандарты". К слову, не раз встречал жалобы на то, что выста глюкавит с cp1251. Вот она, хваленая совместимость.
В целях эксперемента перегнал ID3v2 в UTF-8, оставив ID3v1 в cp1251. Прочитать отказался. :(

Анонимный комментирует...

Спасибо за софтинку. Порадовала. Но есть проблемы с русскими именами файлов и тегами. Ввиду того, что "сраные виндузятники засрали все своей cp1251" :-) , я на своей FreeBSD тоже поставил эту локаль (cp1251), чтобы иметь поменьше проблем с совместимостью. Подправил конфиг, как советует автор, т.е. строку:

#ID3v1TagsEncoding = WINDOWS-1250

превратил в

ID3v1TagsEncoding = WINDOWS-1251

Вот только толку никакого. Кракозябры остались. Если есть у кого-то решение, подскажите плиз. Или на мыло: ggennady@mail.ru

vonderer@darkstar комментирует...

Удалить ID3v2 заголовки. Если они имеются, но при этом в cp1251, то вместо ID3v1 проигрыватель читает ID3v2, при этом пытаясь использовать UTF-8, так как ID3v2 изначально под не заточена. Вот и возникает такой конфликт.

Но я бы рекомендовал перегнать ID3 в UTF-8.

Анонимный комментирует...

Спасибо. Вчера просто переинсталил moc и большая половина тегов стала нормально отображаться. Попробую удалить ID3v2, как ты советуешь. С локалями и кодировками пока толком не разобрался. Когда прикручивал к FreeBSD локаль cp1251? то думал, что все проблемы с совместимостью с виндами уйдут. Но не все так просто... Касательно moc: с тегами более-менее разобрались. Может подскажешь, как быть с заголовками папок виндовых разделов на русском языке? MOC их отображает вот так: ############
Как это победить?

vonderer@darkstar комментирует...

Честно говоря, не знаю. У меня проблем с этим никогда не возникало. Проверь, прописана ли кодировка раздела в /etc/fstab.

Анонимный комментирует...

Да, прописана. Во всех приложениях - и в иксах и в консоли все имена папок отображаются коректно. А тут не хочет, блин... Конечно, можно изощряться - папки переименовывать виндовые, в дальнейшем кирилицу не юзать в именах. Но это уже похоже на настройку себя под систему, а хочется наоборот - систему под себя. Вообще основные проблемы, которые преследуют меня со времен первого знакомства с UNIX-подобными осями - это проблемы кодировок. Не хватает знаний сделать так, чтобы из любой оси, установленной на машине (WindowsXP, Linux Mandriva-2007, FreeBSD) были доступны папки с файлами (музыкой и прочим)без всяких кракозяблов. В большинстве-то своем более-менее ровной работы добился, но то там то тут проблемы с кодировками возникают.

vonderer@darkstar комментирует...

FreeBSD не пользовался ни разу. Последний раз проблемы с кодировками возникали летом, из-за неправильно настройки NTFS-3g драйвера. Последние месяца четыре полет нормальный. kubuntu 7.04->kubuntu 7.10.

PS. Единственная проблема, пожалуй - драйвер ext2 для Windows. Он не умеет работать с кириллицей в utf-8. В остальном - никаких проблем не наблюдаю уже достаточно давно.

Анонимный комментирует...

Вот только что провел эксперимент. Взял файл с русским именем на NTFS разделе. Рассмотрел 4 варианта с тегами. MOC себя с ними ведет таким образом:

1. Теги не прописаны - кракозябры
2. Прописаны только теги ID3v1 - нормально коректно отображает.
3. Прописаны только теги ID3v2 - кракозябры.
4. Прописаны теги ID3v1 и ID3v2 - отображение коректное.

В левом окне все русские имена файлов и папок в виде #########.

Пару вопросов к тебе еще:
1. Какая локаль у тебя в Линухе стоит?
2. А видео из консоли смотреть пробовал? Если есть подобный опыт - поделись пожалуйста.

vonderer@darkstar комментирует...

1. Родимая UTF-8.
2. Насколько мне известно - можно организовать просмотр через SVGA-вывод, но сам таким не пользуюсь. :)

Анонимный комментирует...

Использую MOC на Debian 4.0 r1 для вывода фоновой музыки на АТС. Круглосуточно крутятся две мелодии по кругу. Но иногда МОС виснет и в АТС выводится заевшее ба-ба-ба-ба... Что может быть?

Анонимный комментирует...

проблемы с кириллицей - пользуйте уникод. Easytag в помощь. Перекодировать все что есть и следить за правильной перекодировкой новых поступлений в Вашу коллекцию.
Настройка простая. нестандартная кодировка "cp1251", сохранять в utf-8. (в меню все ясно)
Конечно, удобнее бы найти конссольное что-то - чтоб скрипт написать и без мышвозни обходиться.. но пока такого не встречал(да и не искал в серьез..)

wosquito комментирует...

спасибо за статью :-)

Васян комментирует...

Привет.
Хорошая статья.
Но я не совсем понял - может ли этот МОС - использоваться как стример источник для icecast?
То есть если я например захочу создать своё интернет радио :) Смогу я этот проигрыватель использоваться как источник?
Вот например MPD - могу.

Анонимный комментирует...

Да!
МОС может использоваться как стример источник для icecast.

triklozoid комментирует...

Написал как я боролся с русскими utf8 тэгами в MOC

Отправить комментарий