Cmus - консольный музыкальный плеер с vim like управлением

Январь 29, 2010

Не так давно, я внезапно понял, что mpd для меня огромен. И правда зачем мне музыкальный демон, когда я музыку слушаю довольно редко? Посмотрел сначала mocp, но мне не понравился его mc like интерфейс, да и я слишком привык к vim like управлению. В ncmpcpp с этим было проще, там хотя бы j\k работали. Единственный плеер который уподоблял моим нуждам - это cmus. К слову сказать, плеер этот прекрасен! Кроме vim like управления, cmus ещё крайне быстр и хорошо настраиваемый.

Что меня крайне удивило, так это малое количество русской документации по cmus. Есть лишь куча упоминаний о том что такое есть, и оно вот такое вот. Не более. Вот собственно поэтому, я и решил написать про него.

Cmus имеет семь режимов(окон, как будет удобнее) переключение между которыми осуществляется с помощью цифр 1,2,3,4,5,6 и 7. Нет, тут не режимы как в vim. Тут несколько другое (картинки кликабельны):

1. Музыкальная библиотека

Режим библиотеки

Режим просмотра вашей фонотеки. Перемещение привычными vim like «хоткеями». Добавляется музыка в библиотеку командой :add. Например так:

:add /home/username/music

Перемещение между директорией и её содержимым с помощью кнопки tab. Посмотреть альбомы исполнителя (если их несколько) - пробел (space). Обновить фонотеку - u.
Так же, неплохо сохранять содержимое медиатеки в файл, дабы каждый раз cmus не сканировал её снова:

:save -l

2. Сортированная музыкальная библиотека

Режим сортированной библиотеки

По умолчанию это просто список всех песен из библиотеки только отсортированный по авторам и альбомам. В этом режиме можно применять различные фильтры для сортировки.

3. Плэйлист

Плейэлист

Думаю, здесь всё понятно без лишних объяснений. Одно лишь дополнение: если в play queue есть треки, то они проиграются первыми.

Плэйлист можно так же сохранять:

:save -p ~/playlist.pls

И соответственно загружать:

:load -p ~/playlist.pls

4. Очередь воспроизведения.

Play queue

Сюда добавляются треки для одноразового прослушивания так сказать. После того, как трек начался, он сразу же удаляется из этого списка. Воспроизводиться всегда в первую очередь именно play queue. Например если слушали музыку из плэйлиста, и добавили в play queue, то cmus после того, как закончит играть трек из библиотеки, начнёт играть содержимое play queue. Когда содержимое play queue закончится, cmus продолжит играть из плэйлиста.

5. Файловый браузер

Режим обзора файлов на жёстком диске

Это то, за что я очень сильно люблю cmus, и чего нет в mpd. Таким образом, удобно слушать подкасты, или песню которую принёс друг на заценить не засоряя при этом свою музыкальную библиотеку.

6. Показ всех имеющихся фильтров.

Показ всех имеющихся фильтров

В этом режиме, cmus показывает все имеющиеся фильтры которые применяются ко второму режиму отображения.

7. Окно настроек cmus'а.

Показ всех имеющихся фильтров

Здесь доступны все опции которые есть в cmus. Редактировать лучше не через конфигурационный файл как многие привыкли, а через его интерфейс. Cmus в процессе работы постоянно зачем-то изменяет файл конфигурации. Так же все опции можно менять через командную строку. Например:

:set passwd=mypassword

Настройки сохраняются «на лету».

Пересказывать ман, я не вижу смысла, поэтому ниже лишь основные команды управления cmus:

  • j\k - Вверх\вниз по списку.
  • Ctrl-f\Ctrl-b - вперёд\назад на страницу
  • g\G - в начало\конец (списка\библиотеки\и т.д. )
  • /text - поиск вниз
  • ?text - поиск вверх
  • n\N - следующий\предыдущий элемент поиска
  • h\l - Вперёд\Назад на 10 секунд
  • +\-(минус) - Прибавить\убавить громкость на 10%
  • s -случайный выбор песен
  • r - повторять список
  • C - проиграть текущую песню и остановиться
  • c - пауза
  • x - играть
  • b - следующая песня
  • z - предыдущая песня
  • v - стоп
  • y - добавить выделенный трек в плэйлист
  • e - добавить выделенный трек в play queue
  • p\P - переместить выделенный трек вниз\вверх
  • u - сканировать снова директорию с музыкой
  • D - удалить выделенный трек из списка

Так же, cmus поддерживает цветовые схемы которые можно менять с помощью команды :colorscheme. Например я использую green-mono-88:

:colorscheme green-mono-88

Можно просто написать :colorscheme и полистать имеющиеся с помощью кнопки tab. А можно самому сделать свою тему или написать :set color и дальше с помощью клавиши tab пролистать доступные опции и выбрать подходящие на свой вкус.

Cmus'у можно так же давать команды с помощью cmus-remote. Например:

cmus-remote -p # Играть
cmus-remote -v 60 # Сделать громкость равную 60%
cmus-remote -f file.mp3 # играть файл.

Подробнее cmus-remote --help

По мимо всего этого, cmus'ом можно управлять удалённо (привет mpd! ☺). По умолчанию, cmus создаёт socket в /tmp. Можно указать слушать порт, через который потом можно им управлять.

cmus --listen localhost:1055

А затем с помощью cmus-remote управлять:

cmus-remote --server localhost:1055 --passwd password --play

Кстати, было бы не лишним при этом, установить пароль. Сделать это можно в окне настроек (7), или :set passwd=вашпароль

Ещё рекомендую включить softvol дабы не регулировать громкостью cmus'а, громкость PCM. Кстати в cmus делается это лёгким движением руки:

:set softvol=true

Cmus, так же как и mpd умеет скроблинг на lastfm и вывод текущей играющей песни и статуса. Точнее, не сам cmus умеет. Cmus просто может выполнять команду при смене песни\состояния. За это ответственен параметр status_display_program которой в качестве аргумента передаётся путь до скрипта. Например для скроблинга на lastfm можно использовать вот этот скрипт last-cmus.py. Или для вывода текущего исполнителя и трека во временный файл в /tmp, можно использовать cmus-status-display.

За всеми остальными, более детальными подробностями: man cmus и man cmus-remote

Похожие записи:

  1. Cmus и проблема с Rxvt-unicode (urxvt)
  2. Терминальный оконный менеджер Tmux
  3. Twidge - консольный linux twitter клиент
  4. Weechat - Отличный консольный irc клиент
  5. vifm - консольный файловый менеджер в духе Vi

Тэги: , , , , ,
В категориях: Linux, Tutorials by bosha

22 Комментариев к "Cmus - консольный музыкальный плеер с vim like управлением"

  1. muhas написал:

    mpd рулит ^_^
    а для вимеров vimmpc в качестве фронтенда

    [Ответить]

    bosha Отвечает:

    Объясни мне, чем mpd рулит? :) Это мания такая? Cmus умеет всё тоже. Ну кроме ухода в фон. Точнее, это тоже можно, средствами screen. Так умеет всё тоже, а мороки меньше, и ресурсов меньше потребляет, имхо

    [Ответить]

    muhas Отвечает:

    тем что в нем нет ничего лишнего если не рытся и при этом он остается довольно мощным, ну и гуи на выбор(sic) - тебе как любителю вимовских хоткеев vimmpc и предложил

    [Ответить]

    bosha Отвечает:

    У меня кстати vimmpc отказался собраться. Точнее, просто тупо не удалось скачать, но не суть.

    Суть в том, что cmus уступает mpd только количеством gui. Во всём остальным, если и из них что-то лучше, то не значительно :)

    [Ответить]

  2. Phenomen написал:

    всегда знал, что вы извращенцы.. но такое..
    *ужаснулся и переключил трек в айтюнсе*

    [Ответить]

    bosha Отвечает:

    Я не люблю эти гламурные плееры. Мне удобнее с клавиатуры, и без лишнего.

    [Ответить]

  3. Aectann написал:

    Вот чего не хватает в мпд - это человеческого проигрывания файлов непосредственно с ФС, надо попробовать cmus. За заметку мегареспект!

    [Ответить]

  4. gp написал:

    Спасибо — отличная статья! Какую версию ты используешь?

    [Ответить]

    bosha Отвечает:

    Не за что :)

    У меня 2.2.0.

    [Ответить]

    gp Отвечает:

    http://gitorious.org/cmus скоро выйдет как 2.3.0. Там есть, например, gapless mp3 playback и нативная поддержка PulseAudio, среди прочего.

    [Ответить]

    bosha Отвечает:

    Спасибо, а то я не очень слежу за тем, что нового добавляют, хотя поддержка pulse audio вряд ли сейчас будет сильно востребована. Вот когда его допилят, тогда пожалуй да)

    [Ответить]

    gp Отвечает:

    Поддержка PulseAudio востребована хотя бы потому, что это дефолтовый звуковой сервер в большинстве современных дистрибутивов, а проигрывание через эмуляцию ALSA, которую предоставляет PulseAudio, временами просто виснет :-)

    [Ответить]

    bosha Отвечает:

    Вот надо же было ещё один костыль придумать. Никогда не понимал, чем не устраивает альса :)

    [Ответить]

  5. Istergul написал:

    А поддержка плагинов имеется? Интересует, например, плагин для сервиса last.fm.

    [Ответить]

    bosha Отвечает:

    Cmus, так же как и mpd умеет скроблинг на lastfm и вывод текущей играющей песни и статуса. Точнее, не сам cmus умеет. Cmus просто может выполнять команду при смене песни\состояния. За это ответственен параметр status_display_program которой в качестве аргумента передаётся путь до скрипта. Например для скроблинга на lastfm можно использовать вот этот скрипт last-cmus.py. Или для вывода текущего исполнителя и трека во временный файл в /tmp, можно использовать cmus-status-display.

    [Ответить]

    Istergul Отвечает:

    О, отлично же!

    [Ответить]

  6. WTakET написал:

    А плагин не для скроблинга, а проигрывания радио last.fm? В mpd есть с некоторых пор.

    [Ответить]

  7. bosha написал:

    WTakET такого увы пока не видел..

    [Ответить]

  8. UrbanCorax написал:

    Спасибо за заметку. Наконец-то нашел что искал.

    [Ответить]

    bosha Отвечает:

    @UrbanCorax, всегда пожалуйста :)

    [Ответить]

  9. Дмитрий написал:

    Я сам занимаюсь интернет радио, в частности ретранслирую "Радио Модерн" из простора интернет в городскую локальную сеть и все прекрасно работает, но есть одно НО: У себя в офисе захотелось организовать фоновую озвучку ввиде этой трансляции подключив банально колонки прям к серваку, (вот оно "НО") но не могу подобрать плеер для этого. Плеер нужен консольный, поскольку Х-ов на сервере нет (да и не нужны они там), должен уметь читать радио и иметь удаленное управление (допустим через web) чтобы тупо запустить или выключить в конце рабочего дня...
    Вот и думаю, нет ли у Вас что-то на примете такого, или соображения в какую сторону капать?
    Спасибо!

    [Ответить]

    bosha Отвечает:

    @Дмитрий, к сожалению я таких не знаю. Кроме cmus'а ещё есть mpd, но насколько я помню он не умеет радио..

    [Ответить]

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