Emacsを使ってEMMSで音楽を再生する方法

Emacs Music 00 Featured Image

Emacsは、ファイルの処理を含む多くのことができる素晴らしいプログラムです。Emacs Multimedia System (EMMS)パッケージを使用すると、Emacs内で音楽を扱うこともできます。音楽ディレクトリを簡単にブラウズし、曲のプレイリストを作成し、歌詞を表示することさえできます。ここでは、Emacsで音楽を再生する方法を示します。

目次

  • EMMSとは何か、どのように機能するのか?
  • EMMSのインストール
  • EMMSの設定
  • 基本的なEMMSセッションの開始
  • GNU FMを使用したEmacsでの音楽スコロビング
  • よくある質問

さらに読む: Emacsを改善するために使用できる5つの隠れた機能

EMMSとは何か、どのように機能するのか?

EMMSは、さまざまなマルチメディアプレーヤーのためのElispフロントエンドクライアントです。これは、従来の音楽プレーヤーとは異なり、EMMSはファイルの表示のみを扱い、外部プログラムを使用してそれらのファイルをデコードすることを意味します。

Emacs Music 03 Sample Emms Session

EMMSは、コア、プレーヤー、ソースの3つの異なる部分で構成されています。

  • コア – EMMSバッファ内のファイルがどのように動作するかを制御します。さらに、他のEMMSモジュールがそれらのファイルを読み取り、操作する方法も提供します。
  • プレーヤー – Emacsと外部音楽プレーヤーとのインターフェースを処理します。
  • ソース – Emacsがそれらのファイルをどのように発見し、読み取るかを扱います。その後、コア部分が読み取ることができる編集可能なテキストバッファにそれらを配置します。

その結果、このアプローチにより、各メディアファイルを他のEmacsバッファに簡単にコピーできるテキストとして扱うことができます。たとえば、EMMSからプレイリストを取得し、それをOrgジャーナルにエクスポートしたり、Gnusを通じてUSENETに投稿したりできます。

Emacs Music 04 Emms Text Copied To Buffer

さらに読む: Emacs内でメールを使用する方法

EMMSのインストール

それでは、EMMSのインストールは非常に簡単です。EMMSはすでにGNU ELPAリポジトリにあるため、すぐにインストールできます。

  1. Alt + Xを押してから、Emacsクライアントでpackage-installと入力します。
  2. これにより、インストールしたいパッケージの名前を入力できる小さなプロンプトが表示されます。この場合、emmsと入力してEnterを押します。

Emacs Music 06 Emms Run

さらに読む: 生産性向上のための5つの便利なEmacsパッケージ

EMMSの設定

これが完了したら、EMMSのための簡単な設定スクリプトを作成する必要があります。これにより、EMMSはどのEmacs設定を有効にするか、また探すべき外部プログラムやファイルパスを知ることができます。

  1. Emacsの「init.el」ファイルに移動してEMMSの設定を開始できます。そのためには、Ctrl + Xを押してから、Ctrl + Fを押します。
  2. これにより、編集したいファイルパスを提供できるプロンプトが表示されます。この場合、パスを提供する必要があります: 「/home/$USER/.emacs.d/init.el」。

Emacs Music 07 Open Emacs Config

  1. これが完了したら、次のLisp行を「init.el」ファイルに書き込む必要があります:
(require 'emms-setup)  
(emms-all)
  1. この特定の関数は、EMMSにすべてのデフォルト設定を設定および有効にするように指示します。これにより、プレーヤーで任意のメディアを再生できるようになります。

さらに読む: Windowsユーザーのための9つのベストLinuxディストリビューション

外部音楽プレーヤーの追加

デフォルトでは、EMMSは再生のためのメディアプレーヤーを提供していません。次に、EMMSにインデックスされたオーディオを再生するために使用できるメディアプレーヤーを指示する必要があります。

そのため、FLACまたはMP3ファイルを再生したい場合は、適切なメディアプレーヤーを最初にインストールする必要があります。

  1. この場合、音声と動画ファイルの両方を再生できるmpvをインストールします。以下のように進めます。
sudo apt install mpv

Emacs Music 08 Ubuntu Install Mpv

  1. 次に、次のLispコードを「init.el」ファイルに書き込むだけです:
(setq emms-player-list '(emms-player-mpv))

setq – 特定の変数の値を設定するためのEmacs関数。この場合、emms-player-listの値を変更しています。

emms-player-list – EMMSが使用できるメディアプレーヤーのリストを定義するEMMS関数です。

emms-player-mpv – mpvとEmacsをリンクする特定のグルーファンクションです。これにより、EMMSはEmacs内で音楽を再生できるようになります。

さらに読む: LinuxにZoomをインストールする方法

デフォルトの音楽ディレクトリの追加

そこから、EMMSがメディアファイルを探すデフォルトのディレクトリを設定する必要があります。上記の他の設定と同様に、これも「init.el」ファイルを編集する必要があります。

Emacs Music 09 Emms Dired Music Files 1

  1. 追加する必要があるLispコードは次のとおりです:
(setq emms-source-file-default-directory "/path/to/directory")
  1. これが完了したら、新しい設定を適用するためにEmacsのインストールを再起動します。

基本的なEMMSセッションの開始

  1. Alt + Xを押してから「emms」と入力してEMMSを開始できます。
  2. これにより、再生したいメディアのルートパスをEMMSに尋ねるプロンプトが表示されます。
  3. たとえば、「/home/ramces/tmp/emacs-music」というパスを提供して、EMMSに「emacs-music」内のファイルを再生したいことを伝えます。

Emacs Music 10 Emms Open Folder

  1. そこから、EMMSはそのフォルダー内のすべての再生可能なメディアファイルを含むシンプルなプレイリストを作成して表示します。

さらに読む: Doom Emacsとは何か、どのようにインストールするか

EMMSプレイリストを使用してEmacsで音楽を再生する

  1. Enterを押してプレイリストの最初のトラックの再生を開始できます。
  2. 十分になったら、Shift + PまたはSを押してこの再生を停止します。

Emacs Music 11 Emms Playing Track

  1. さらに、プレイリスト内の隣接するトラック間をPまたはNを押して切り替えることもできます。これは、現在再生中のトラックをスキップしたい場合に便利です。

Emacs Music 12 Emms Skip Track

  1. EMMSは、プレイリスト内のトラックの順序を再配置することも許可します。その方法は、EMMSプレイリスト内のすべてのテキストをEmacsテキストバッファのように操作できることです。Ctrl + Spaceを押してから、Ctrl + Wを押して現在のプレイリストからトラックをヤンクオフできます。
  2. そこから、下にスクロールしてCtrl + Yを押すことで、その行をリストに戻すことができます。

Emacs Music 13 Highlight And Copy Buffer

  1. 現在のプレイリストからトラックをクリアすることも可能です。これは、リストをクリーンにしたい場合や、新しいプレイリストを作成して保存したい場合に特に便利です。これを行うには、Shift + Cを押すだけです。

Emacs Music 14 Clean Buffer

Emacsで新しいプレイリストを作成する

EMMSは、Emacs内からカスタムプレイリストを作成することも許可します。これは、従来の音楽プレーヤーと同様に、再生したい特定の音楽ファイルのリストを順番に保存できることを意味します。

Emacs Music 15 Sample Playlist

  1. これを行うには、まずAlt + Xを押してから「emms-playlist-new」と入力する必要があります。
  2. これにより、新しいトラックを追加できる空のEMMSプレイリストが表示されます。

Emacs Music 16 New Playlist

  1. ここから、空のプレイリストを現在のものとして設定する必要があります。これにより、新しい音楽トラックを空のプレイリストに追加できるようになります。そのためには、空のEMMSバッファ内でBを押す必要があります。これにより、変更を確認するための小さなプロンプトが表示されます。

Emacs Music 17 Switch Current Playlist To New

  1. 最後に、EMMSブラウザを開いて新しいプレイリストに音楽ファイルを追加します。そのためには、再度Alt + Xを押して「emms-browser」と入力する必要があります。

Emacs Music 18 Emms Music Browser

  1. これで、追加したいアルバムやトラックを選択するためにEnterを押すことができます。
  2. 完了したら、新しいリストに戻り、Ctrl + Xを押してからCtrl + Sを押してファイルに保存します。

さらに読む: EmacsでLedgerモードを使用して財務を管理する方法

GNU FMを使用したEmacsでの音楽スコロビング

音楽を再生するだけでなく、EMMSをカスタマイズしてその機能を単純なメディアプレーヤーを超えて拡張することも可能です。たとえば、libre.fmなどの音楽スコロブラーにトラック情報をアップロードできる関数を使用できます。

Emacs Music 19 Gnu Fm Website

  1. この機能を有効にするには、まず「init.el」ファイルを開く必要があります。
  2. そこから、EMMS設定の後に次のLispコードを追加する必要があります:
(require 'emms-librefm-scrobbler)  
(setq emms-librefm-scrobbler-username "your-libre-fm-username"  
      emms-librefm-scrobbler-password "your-libre-fm-password")

最初の関数 – EMMSのためにGNU FMスコロブラーを読み込むようにEmacsに明示的に指示します。これにより、EMMSはlibre.fmに接続し、そのデータベースにトラック情報を送信できるようになります。

2番目の関数 – EMMSがlibre.fmにアクセスするために使用するアカウント情報を含みます。

  1. 最後に、EMMSに戻る必要があります。そこで、Alt + Xを押して「emms-librefm-scrobbler-enable」と入力する必要があります。
  2. これにより、このセッションのためにスコロブラーのプラグインが有効になり、終了したトラックが送信されます。

Emacs Music 20 Scrobbled Music

さらに読む: Gnusを使用してEmacsをUSENETリーダーとして使用する方法

よくある質問

EMMSでMPDを使用することは可能ですか?

はい!EMMSをMPDのフロントエンドクライアントとして使用することが可能です。必要なのは、「init.el」ファイル内の「emms-player-list」変数の値を変更することだけです。

Emacsでネットワーク越しに音楽ファイルを再生することは可能ですか?

残念ながら、できません。Emacsはネットワークファイルのマウントをサポートしていますが、EMMSはこの特定の機能を使用できません。これは、EMMSがローカルファイルのみを扱うように構築されているためです。そのため、EMMSを通じて異なるマシンにある音楽を再生するためのネイティブな方法はありません。この制限を回避する方法の1つは、Emacsの外部でネットワークマウントを作成することです。たとえば、SSHFSを使用してホームディレクトリへのネットワークマウントを作成する次のコマンドを実行できます:

sshfs remoteuser@remotemachine:/path/to/music /home/$USER/

外部ネットワークマウントの他に、EMMSはネットワークラジオストリームもサポートしています。これを有効にするには、Alt + Xを押して「emms-streams」と入力するだけです。

EMMSブラウザ内を検索することは可能ですか?

はい!EMMSブラウザ内に存在するすべてのファイルを検索することが可能です。これを行うには、ブラウザバッファ内でSを押してからTを押す必要があります。これにより、再生したいトラックを提供できる小さなプロンプトが表示されます。さらに、EMMSは他のメタデータ値を使用してデータベースを検索することも許可します。たとえば、アーティスト名を使用して検索するには、Sを押してからAを押します。

画像クレジット: Unsplash すべてのスクリーンショットはRamces Redによるものです