Меню сайта
   Главная   
   Обо мне   
   Статьи   
   Дневник   
   Картинки   
   Файлы   
   Форум   
   Гостевая книга   

Категории раздела
Куклы и игрушки [60]
Личное [117]
Музыка [19]
Общее [305]
Японский язык [12]
ZX Spectrum [70]
Субмарины [98]
Настольные игры [34]
Го (碁) [11]
Книги [16]
Япония [26]
Таро [4]
Запертый шкаф [17]
CSA (КША) [15]
GNU/Linux [135]
Ubuntu [103]
Manjaro Linux [40]
Python [3]
Магнитольное [44]
Commodore64 [15]
Игровые приставки [2]
ПЭВМ КУВТ [5]


 
Дневник (2021 » Сентябрь » 10 в 22:59)
GNU/Linux cmus - консольный аудиоплеер

mpg123
cmus
Продолжаю цикл заметок про экосистему терминала. Согласно Пути Линукса, я стараюсь делать в терминале всё, что не обязательно удобнее делать в графической среде. Потому, что это работает быстрее, требует меньше ресурсов, можно обойтись без мыши, тренирует навыки слепой печати, и повышает уровень знаний системы.

В данном случае речь идёт о прослушивании музыки, аудиокниг, в консоли. Просто воспроизвести отдельный mp3 файл можно так:
mpg123 /mnt/Music/Bauhaus/Bela_Lugosi_Dead.mp3 
Но когда хочется прослушать например целый альбом, требуется плеер помощнее. Я остановил свой выбор на cmus, тем более, что он vim style и прекрасно дополняет набор таких утилит, как tmux, vim. vifm.

Установка проста:
sudo apt-get install cmus  # On Debian, Ubuntu & Miny
sudo dnf install cmus      # On CentOS, RHEL & Fedora
sudo pacman -S cmus      # On Arch Linux & Manjaro
Запуск:
cmus
После запуска следует добавить в плейлист каталог с музыкой, например нажав двоеточие и введя:
:add /mnt/Music/

Либо сделать это в интерактивном режиме по клавише (5), выбрав паку с музыкой и нажав (a).


Теперь можно слушать музыку. Перемещение между панелями по TAB и курсором. Управление воспроизведением:

z — Предыдущий трек
x — Воспроизведение (либо Enter)
c — Пауза/Воспр
v — Стоп
b — Следующий трек

- + управление громкостью
h l перемотка

Shift+l — push live-filter - фильтр реального времени. Удобно находить треки в большой коллекции.



Различные композиции можно добавлять в очередь последовательного воспроизведения. Для этого на композиции следует нажать (e) Затем войти в режим Play Queue по клавише (4) и убедиться, что все композиции добавлены. Удалить трек из списка можно по  (Shift+d).




Выход из программы в лучших традициях vim:
:q

Подробнее документация в консоли: man cmus-tutorial и man cmus

Один минус, русские теги не в UTF кодировке отображаются криво, но в этом случае можно осуществлять навигацию не по тэгам (режим 1), а по каталогам (5) Правда  кнопки плеера и навигация следующей песни  применяются к позиции в режиме (1)...


UPD.:
С кривыми русскими тэгами есть решение, нужно выполнить команду:
:set id3_default_charset=cp1251
После первоначального добавления теги хранятся в файле ~/.config/cmus/cache, так что без перестройки кеша эффекта от id3_default_charset не увидеть — следует сперва стереть кеш и запустить cmus еще раз. (q)


Рабочие экраны програмы:

Проигрыватель разделён на 7 экранов представления и настроек, соответствующий экран выбирается по цифровой клавише:

1 Library view
Отображает все треки в библиотеке, отсортированные по тэгам: artist - в алфавитном порядке,  album по годам.

2 Sorted library view
Отображает аналогично предыдущему, но автоматически отсортированном по пользовательскому критерию простым списком.

3 Playlist view
Отображает редактируемые списки воспроизведения с возможностью ручной сортировки

4 Play Queue view
Отображает предстоящие треки, воспроизводящиеся прежде любых других. Когда очередь опустеет, воспроизведение будет возобновлено с последней позиции в библиотеке.

5 Browser
Отображает файловую систему для добавления треков в библиотеку (a), плейлист (y) , или очередь (e). А также либо непосредственно воспроизведению по Space.

6 Filters view
Отображает список пользовательских фильтров.

7 Settings view
Отображение настроек - назначенных клавиш, команд, опций. Назначенные клавиши можно удалить по D или Del. Изменять пункты по Enter, и переключать переменные по Space.

Индикаторы режима воспроизведения (в правом нижнем углу)



Слева от вертикальной черты | отображается что будет воспроизводиться, справа от черты - в каких режимах.
Можно просто понажимать клавиши m, o, M, C, r, s и понаблюдать, что изменилось, какие при этом отображаются индикаторы.



Запомнить индикаторы CFRS и их горячие клавиши легко, если запомнить их полные названия: Continue Follow Repeat Shuffle:

C — shift+c (continue) Воспроизведение следующего трека после завершения текущего, иначе стоп.
f — (follow) При смене трека курсор не останется на месте, а перейдёт на него.
r — (repeat) повторять список воспроизведения
s (shuffle) Режим случайного воспроизведения списка воспроизведения, индикатор S.


Остальные клавиши:

m — (aaa_mode) циклический перебор воспроизведения: all, artist, или только album.
M — (play_library) Переключения источника воспроизведения с библиотеки (... from library) на плейлист (playlist).
o — (play_sorted) Воспроизведения из библиотеки (from library 1) или из отсортированной (from sorted library 2).
^r — (repeat_current) режим повтора всей выборки или только текущего трека.

I — (Shift+i) Отобразить путь к файлу текущего трека в нижней строке окна.

space — Пробел на исполнителе открывает/скрывает дерево его альбомов

В режиме очереди (клавиша 4) можно:
p / P — переместить трек вниз / вверх по очереди
D (Shift+d, Del) — удалить трек из очереди воспроизведения


В режимах вида (view 1-5) треки под курсором можно добавлять:

a — в библиотеку (library 1-2)
y — в выбранный плейлист (playlist 3)
e — в очередь воспроизведения (play queue 4) *
E — в начало очереди воспроизведения (play queue 4) *

* После завершения воспроизведения текущего трека, следующим будет воспроизводиться верхний из очереди, а не следующий в текущем виде.

Ctr+L — обновить экран.
u — Обновить кэш, например чтобы прочитать новые тэги из изменённых файлов
U (Shift+u) — Тоже, но  только для маркированных/выбранных треков. Работает только в видах 1-2.


ПЛЕЙЛИСТЫ (клавиша 3)

p / P — переместить трек вниз / вверх по плейлисту.
D (Shift+d, Del) — удалить трек из плейлиста
m — переключение списка воспроизведения между from sorted library и playlist.


ПОИСК

/ — ввести поисковый запрос, после чего нажать Enter.
n / N — следующий / предыдущий найденный образец


ФИЛЬТР

L (Shft+l) — Отображать только те трэки, в тэгах которых присутствует введённый образец.


Настройки


Цветовую гамму можно изменять, загружая конфиги через команднй режим вызываемый двоеточием (:)
:colorscheme Dracula
Дефолтные схемы хранятся в:/usr/share/cmus, свои следует класть в ~/.config/cmus/
Например, вот моя схема  dracula.theme

# Информационные сообщенияset color_error=red
set color_info=green
# Заголовок окна
set color_win_title_bg=green
set color_win_title_fg=black
# текст в окне
set color_win_bg=235
set color_win_fg=white
# текущий трек
set color_win_cur=magenta
# курсор на текущем треке
set color_win_cur_sel_bg=yellow
set color_win_cur_sel_fg=black
# Режим 5 цвет папок
set color_win_dir=green
# текущий курсор
set color_win_sel_bg=yellow
set color_win_sel_fg=white
# неактивный курсор
set color_win_inactive_sel_bg=235
set color_win_inactive_sel_fg=yellow
# Неактивный курсор на текущем воспроизведении
set color_win_inactive_cur_sel_bg=yellow
set color_win_inactive_cur_sel_fg=white
# Вторая снизу инфострока
set color_titleline_bg=green
set color_titleline_fg=black
# нижняя строка статуса
set color_statusline_bg=green
set color_statusline_fg=black
set color_cmdline_bg=235
set color_cmdline_fg=white
# цвет рамки
set color_separator=green
# Цвет названия альбома
set color_trackwin_album_bg=green
set color_trackwin_album_fg=black


По умолчанию при старте программы открывается экран с видом 1 Library view. Можно задать любой другой экран по умолчанию напрямую через конфиг: ~/.config/cmus/autosave, либо через командный режим cmus по двоеточию:
set start_view=tree # или: sorted, playlist, queue, browser, filters, settings.

Включить сохранение позиции и продолжения воспроизведения после нового запуска.
set resume=true



На скриншоте консольный апофеоз vim-like: В мультиплексоре tmux в разных окнах запущены: cmus, файловый менеджер vifm, страница cmus в man, графический  спектроанализатор cava - отличная светомузыка)




cmus-remote — Дополнительная утилита для консольного управления запущенным cmus

Документация тут:
man cmus-remote 

Воспроизвести файл по заданному пути:
cmus-remote -f /mnt/Music/Bauhaus/Bauhouse_Bela_Lugosi_Dead.mp3 

Добавить содержимое каталога в текущий плейлист:
cmus-remote -P "/mnt/Musical/Notre Dame de Paris(2002)"

Управление громкостью:
cmus-remote -v 50%

cmus-remote -p # воспроизвести
cmus-remote -s # стоп
cmus-remote -u  # пауза/воспр.
cmus-remote -n # следующий
cmus-remote -r  # предыдущий
Узнать, какой файл сейчас играет:
cmus-remote -Q

Ссылки:

  1. The 5 Best Command Line Music Players for Linux
    https://www.tecmint.com/command-line-music-players-for-linux/
  2. Десять консольных музыкальных плейеров для Linux
    http://rus-linux.net/MyLDP/mm/console_players.html
  3. Cmus - консольный музыкальный плеер с vim like управлением
    https://the-bosha.ru/2010/01/29/cmus/
  4. Руководство по консольному аудиоплееру CMus
    http://rus-linux.net/nlib.php?name=/MyLDP/mm/cmus_review/obzor-konsolnogo-audio-pleera-cmus.html
  5. Аналог статьи в man:
    https://man.archlinux.org/man/cmus.1.en
  6. Проект на гите
    https://github.com/cmus/cmus/wiki
Категория: GNU/Linux | Просмотров: 1567 | Добавил: harushima | Рейтинг: 0.0/0 |
Всего комментариев: 10.

12.09.2021 01:16
1 harushima
0  
Подключение Audio CD:

:set device=/dev/sr1 # устройства с именем cdrom у меня нет!
:add cdda://sr1


12.09.2021 03:14
2 harushima
0  
# Перемотать на 10 минут назад
:seek -10m


12.09.2021 04:13
3 harushima
0  
Костыль для перезагрузки библиотеки музыки
https://github.com/cmus/cmus/issues/233#issuecomment-396195503

#!/bin/bash
cmus-remote -C clear
cmus-remote -C "add ~/Music"
cmus-remote -C "update-cache -f"

Replace ~/Music with the path to your music.

Then do:
chmod +x your-script.sh

Then open cmus and run:
:bind -f common u shell ~/path/to/your-script.sh


13.09.2021 22:44
4 harushima
0  
Вызов sh скрипта при каждом воспроизведении:

status_display_program () [command]

This command, if set, is run for every status change. It can be used to display currently playing track on desktop background or panel for example. See /usr/share/doc/cmus/examples/cmus-status-display.


13.09.2021 23:23
5 harushima
0  
Альтернатива cmus - Mpd и ncmpcpp
Настройка mpd сервера и консольного плеера ncmpcpp. Локальное и удаленное управление.
https://ctlos.github.io/wiki/packages/mpd/


16.09.2021 06:25
6 harushima
0  
Конфиг сохранять в
~/.config/cmus/rc


19.09.2021 03:55
7 harushima
0  
mp3unicode — Convert MP3 tags to Unicode


12.12.2021 14:56
8 harushima
0  
Добавить в список воспроизведения Audio CD:
:add cdda://


17.01.2022 19:04
9 harushima
0  
Кастомизация шаблонов.

Добавление колонки "Album" в вид 2

:set format_playlist= %-20%a %-34l %3n. %t%= %y %d %{?X!=0?%3X ? }

Подробнее: man cmus | grep -C4 \ format_


08.12.2023 14:26
10 harushima
0  
Перекодировка тэгов в юникод:

find . -type f -iname "*.mp3" -print -exec mp3unicode --source-encoding cp1251 --id3v1-encoding none --id3v2-encoding unicode {} \;

или

find . -name "*.mp3" -exec mp3unicode -s cp1251 -2 unicode {} \;

В целях защиты от спама, добавлять комментарии могут только зарегистрированные пользователи. Если Вы не хотите регистрироваться под своим именем, войдите под логином: anonymous, паролем: anonymous.   ( Регистрация,   Вход).
Авторизация
Анонимный вход:
anonymous / anonymous

Календарь
«  Сентябрь 2021  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930

Поиск

Облако тэгов
JGSDF игрушки Брюнетки Кладбище сайты Ярость Дракулы Древний Египет девушки кошки Cthulhu Вампиры Kitsune Ужас Аркхема инструмент комиксы Lovecraft готика Submarine submarine rc toy Hosting игротека Ужас Аркхэма book uboat мобильная связь го Edgar Poe swf Mansions of Madness Nightmares персоны Synergy linux-hardware bash youtube Storages Python Мастер-рукожоп Магнитофоны Entropy Grub2 loglevel WiFi Beeline ОПСОСЫ sharp939 Аудиокассеты Windows linuxwork Хочуны ImageMagick топБарыг C64c Commodore

Статистика
Яндекс.Метрика
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Page QR code


Перепечатка материалов сайта без активной ссылки запрещена. Следить за RSS
(c) hermitlair.ucoz.com 2009-2024
Лучший браузер!
Блокировка рекламы