Как использовать Emacs для воспроизведения музыки с EMMS

Emacs — это блестящая программа, которая может делать много вещей, включая работу с файлами. С помощью пакета Emacs Multimedia System (EMMS) вы также можете управлять своей музыкой в Emacs. Вы можете легко просматривать музыкальные директории, создавать плейлисты и даже отображать тексты песен. Здесь мы покажем вам, как воспроизводить музыку в Emacs.
Содержание
- Что такое EMMS и как он работает?
- Установка EMMS
- Настройка EMMS
- Запуск базовой сессии EMMS
- Музыкальный скробблинг в Emacs с помощью GNU FM
- Часто задаваемые вопросы
Также читайте: 5 скрытых функций, которые вы можете использовать для улучшения Emacs
Что такое EMMS и как он работает?
EMMS — это клиентский интерфейс Elisp для различных мультимедийных плееров. Это означает, что в отличие от традиционных музыкальных плееров, EMMS только отображает файлы и использует внешние программы для декодирования этих файлов.

EMMS состоит из трех отдельных частей: ядра, плеера и источника.
- Ядро — управляет тем, как файлы в буфере EMMS должны вести себя. Кроме того, оно также предоставляет способ для других модулей EMMS читать и манипулировать этими файлами.
- Плеер — обрабатывает интерфейс между Emacs и внешними музыкальными плеерами.
- Источник — отвечает за то, как Emacs обнаруживает и читает эти файлы. Затем он помещает их в редактируемый текстовый буфер, который может читать ядро.
В результате этот подход позволяет вам рассматривать каждый мультимедийный файл как текст, который вы можете легко копировать в другие буферы Emacs. Например, вы можете взять плейлист из EMMS и либо экспортировать его в журнал Org, либо в пост на USENET через Gnus.

Также читайте: Как использовать электронную почту в Emacs
Установка EMMS
С этим, установка EMMS невероятно проста. EMMS уже доступен в репозитории GNU ELPA, поэтому вы можете быстро установить его:
- Нажмите Alt + X, затем введите
package-installв вашем клиенте Emacs. - Это вызовет небольшую подсказку, где вы можете ввести имя пакета, который хотите установить. В этом случае вам нужно ввести
emms, затем нажать Enter.

Также читайте: 5 полезных пакетов Emacs для повышения продуктивности
Настройка EMMS
С этим сделано, вам следует создать простой скрипт конфигурации для EMMS. Это позволит EMMS знать, какие настройки Emacs включить, а также внешние программы и пути к файлам, которые он должен искать.
- Вы можете начать настраивать EMMS, перейдя в файл “init.el” вашего Emacs. Для этого вам нужно нажать Ctrl + X, затем Ctrl + F.
- Это вызовет подсказку, где вы можете указать путь к файлу, который хотите отредактировать. В этом случае вам нужно указать путь: “/home/$USER/.emacs.d/init.el”.

- После этого вам нужно записать следующие строки Lisp в ваш файл “init.el”:
(require 'emms-setup)
(emms-all)- Эта конкретная функция говорит EMMS установить и включить все настройки по умолчанию, что позволяет вам воспроизводить любые медиа с помощью плеера.
Также читайте: 9 лучших дистрибутивов Linux для пользователей Windows
Добавление внешнего музыкального плеера
По умолчанию EMMS не предоставляет никакого медиаплеера для воспроизведения, следующее, что вам нужно сделать, это сказать EMMS, какой медиаплеер он может использовать для воспроизведения аудио, которое он индексирует.
Таким образом, вам нужно сначала установить подходящий медиаплеер, если вы хотите воспроизводить файлы FLAC или MP3.
- В нашем случае мы устанавливаем mpv, так как он может воспроизводить как аудио, так и видеофайлы. Вот как это сделать.
sudo apt install mpv
- Теперь вам нужно просто записать следующий код Lisp в ваш файл “init.el”:
(setq emms-player-list '(emms-player-mpv))setq — функция Emacs, которая позволяет вам установить значение конкретной переменной. В данном случае вы изменяете значение для emms-player-list.
emms-player-list — функция EMMS, которая определяет список медиаплееров, которые он может использовать.
emms-player-mpv — конкретная функция-связка, которая связывает mpv и Emacs. Это позволяет EMMS воспроизводить вашу музыку внутри Emacs.
Также читайте: Как установить Zoom на Linux
Добавление каталога музыки по умолчанию
С этого момента следующее, что вам нужно сделать, это установить каталог по умолчанию, в котором EMMS будет искать медиафайлы. Аналогично другим настройкам выше, это также требует редактирования вашего файла “init.el”.

- Все, что вам нужно сделать, это добавить следующий код Lisp:
(setq emms-source-file-default-directory "/path/to/directory")- Как только это будет сделано, перезапустите вашу установку Emacs, чтобы применить новые настройки.
Запуск базовой сессии EMMS
- Теперь вы можете запустить EMMS, нажав Alt + X, затем введя “emms”.
- Это вызовет подсказку, где EMMS спросит вас о корневом пути медиа, которое вы хотите воспроизвести.
- Например, мы укажем путь “/home/ramces/tmp/emacs-music”, чтобы сказать EMMS, что мы хотим воспроизвести файлы внутри “emacs-music”.

- После этого EMMS создаст и отобразит простой плейлист, который содержит все воспроизводимые медиафайлы внутри этой папки.
Также читайте: Что такое Doom Emacs и как его установить
Использование плейлиста EMMS для воспроизведения музыки в Emacs
- Вы можете нажать Enter, чтобы начать воспроизведение первого трека в вашем плейлисте.
- Когда вам надоест, остановите воспроизведение, нажав либо Shift + P, либо S.

- Более того, вы можете переключаться между соседними треками в плейлисте, нажав либо P, либо N. Это может быть полезно, если вы хотите пропустить в данный момент воспроизводимый трек.

- EMMS также позволяет вам изменять порядок треков в вашем плейлисте. Это работает так, что вы можете манипулировать каждым текстом в плейлисте EMMS, как в текстовом буфере Emacs. Вы можете нажать Ctrl + Space, затем Ctrl + W, чтобы вырезать трек из вашего текущего плейлиста.
- После этого вы можете прокрутить вниз и нажать Ctrl + Y, чтобы вставить строку обратно в список.

- Также возможно очистить текущий плейлист от любых треков. Это может быть особенно полезно, если вы хотите очистить список или создать и сохранить новый плейлист. Для этого вам нужно просто нажать Shift + C.

Создание нового плейлиста в Emacs
EMMS также позволяет вам создавать пользовательские плейлисты изнутри Emacs. Это означает, что, подобно традиционным музыкальным плеерам, вы можете сохранить конкретный список музыкальных файлов, которые хотите воспроизводить по порядку.

- Для этого вам нужно сначала нажать Alt + X, затем ввести “emms-playlist-new”.
- Это вызовет пустой плейлист EMMS, куда вы можете добавить новые треки.

- Отсюда вам нужно установить пустой плейлист как текущий. Это позволит вам добавлять новые музыкальные треки в пустой плейлист. Для этого вам нужно нажать B, находясь внутри пустого буфера EMMS. Это вызовет небольшую подсказку, где вы можете нажать Enter, чтобы подтвердить изменение.

- Наконец, откройте браузер EMMS, чтобы добавить музыкальный файл в ваш новый плейлист. Для этого вам нужно снова нажать Alt + X, затем ввести “emms-browser”.

- Теперь вы можете выбрать альбом или трек, который хотите добавить, нажав Enter.
- После завершения вы можете вернуться к вашему новому списку и нажать Ctrl + X, затем Ctrl + S, чтобы сохранить его в файл.
Также читайте: Как управлять своими финансами с помощью режима Ledger в Emacs
Музыкальный скробблинг в Emacs с помощью GNU FM
Помимо воспроизведения музыки, также возможно настроить EMMS и расширить его функции за пределами простого медиаплеера. Например, вы можете использовать функцию, которая позволяет вам загружать информацию о треках в музыкальный скробблер, такой как libre.fm.

- Чтобы включить эту функцию, вам нужно сначала открыть ваш файл “init.el”.
- После этого вам нужно добавить следующий код Lisp после вашей конфигурации EMMS:
(require 'emms-librefm-scrobbler)
(setq emms-librefm-scrobbler-username "your-libre-fm-username"
emms-librefm-scrobbler-password "your-libre-fm-password")Первая функция — явно говорит Emacs загрузить скробблер GNU FM для EMMS. Это позволяет EMMS подключаться к libre.fm и отправлять информацию о треках в его базу данных.
Вторая функция — содержит вашу учетную информацию, которую EMMS использует для доступа к libre.fm.
- Последнее, что вам нужно сделать, это вернуться в EMMS. Там вам нужно нажать Alt + X, затем ввести “emms-librefm-scrobbler-enable”.
- Это включит плагин скробблера для этой сессии и отправит любые треки, которые вы закончите.

Также читайте: Как использовать Emacs в качестве читателя USENET с Gnus
Часто задаваемые вопросы
Можно ли использовать MPD с EMMS?
Да! Можно использовать EMMS в качестве клиентского интерфейса для MPD. Все, что вам нужно сделать, это изменить значение переменной “emms-player-list” в вашем файле “init.el”.
Можно ли воспроизводить музыкальные файлы по сети в Emacs?
К сожалению, нет. Хотя Emacs поддерживает монтирование сетевых файлов, EMMS не может использовать эту конкретную функцию. Это связано с тем, что EMMS предназначен только для работы с локальными файлами. Таким образом, нет родного способа воспроизведения музыки, расположенной на другом компьютере через EMMS. Один из способов обойти это ограничение — создать сетевое монтирование вне Emacs. Например, вы можете выполнить следующую команду, которая использует SSHFS для создания сетевого монтирования к вашему домашнему каталогу:
sshfs remoteuser@remotemachine:/path/to/music /home/$USER/
Помимо внешних сетевых монтирований, EMMS также поддерживает сетевые радиопотоки. Чтобы включить это, вам нужно просто нажать Alt + X, затем ввести “emms-streams”.
Можно ли искать в браузере EMMS?
Да! Можно искать среди всех файлов, присутствующих в вашем браузере EMMS. Для этого вам нужно нажать S, затем T, находясь внутри буфера браузера. Это вызовет небольшую подсказку, где вы можете указать трек, который хотите воспроизвести. Кроме того, EMMS также позволяет вам искать в своей базе данных, используя другие значения метаданных. Например, вы можете нажать S, затем A, чтобы искать по имени исполнителя.
Кредит изображения: Unsplash Все скриншоты сделаны Рамсесом Редом