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

Emacsは、ファイルの処理を含む多くのことができる素晴らしいプログラムです。Emacs Multimedia System (EMMS)パッケージを使用すると、Emacs内で音楽を扱うこともできます。音楽ディレクトリを簡単にブラウズし、曲のプレイリストを作成し、歌詞を表示することさえできます。ここでは、Emacsで音楽を再生する方法を示します。
目次
- EMMSとは何か、どのように機能するのか?
- EMMSのインストール
- EMMSの設定
- 基本的なEMMSセッションの開始
- GNU FMを使用したEmacsでの音楽スコロビング
- よくある質問
さらに読む: Emacsを改善するために使用できる5つの隠れた機能
EMMSとは何か、どのように機能するのか?
EMMSは、さまざまなマルチメディアプレーヤーのためのElispフロントエンドクライアントです。これは、従来の音楽プレーヤーとは異なり、EMMSはファイルの表示のみを扱い、外部プログラムを使用してそれらのファイルをデコードすることを意味します。

EMMSは、コア、プレーヤー、ソースの3つの異なる部分で構成されています。
- コア – EMMSバッファ内のファイルがどのように動作するかを制御します。さらに、他のEMMSモジュールがそれらのファイルを読み取り、操作する方法も提供します。
- プレーヤー – Emacsと外部音楽プレーヤーとのインターフェースを処理します。
- ソース – Emacsがそれらのファイルをどのように発見し、読み取るかを扱います。その後、コア部分が読み取ることができる編集可能なテキストバッファにそれらを配置します。
その結果、このアプローチにより、各メディアファイルを他のEmacsバッファに簡単にコピーできるテキストとして扱うことができます。たとえば、EMMSからプレイリストを取得し、それをOrgジャーナルにエクスポートしたり、Gnusを通じてUSENETに投稿したりできます。

さらに読む: Emacs内でメールを使用する方法
EMMSのインストール
それでは、EMMSのインストールは非常に簡単です。EMMSはすでにGNU ELPAリポジトリにあるため、すぐにインストールできます。
- Alt + Xを押してから、Emacsクライアントで
package-installと入力します。 - これにより、インストールしたいパッケージの名前を入力できる小さなプロンプトが表示されます。この場合、
emmsと入力してEnterを押します。

さらに読む: 生産性向上のための5つの便利なEmacsパッケージ
EMMSの設定
これが完了したら、EMMSのための簡単な設定スクリプトを作成する必要があります。これにより、EMMSはどのEmacs設定を有効にするか、また探すべき外部プログラムやファイルパスを知ることができます。
- Emacsの「init.el」ファイルに移動してEMMSの設定を開始できます。そのためには、Ctrl + Xを押してから、Ctrl + Fを押します。
- これにより、編集したいファイルパスを提供できるプロンプトが表示されます。この場合、パスを提供する必要があります: 「/home/$USER/.emacs.d/init.el」。

- これが完了したら、次のLisp行を「init.el」ファイルに書き込む必要があります:
(require 'emms-setup)
(emms-all)- この特定の関数は、EMMSにすべてのデフォルト設定を設定および有効にするように指示します。これにより、プレーヤーで任意のメディアを再生できるようになります。
さらに読む: Windowsユーザーのための9つのベストLinuxディストリビューション
外部音楽プレーヤーの追加
デフォルトでは、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関数です。
emms-player-mpv – mpvとEmacsをリンクする特定のグルーファンクションです。これにより、EMMSはEmacs内で音楽を再生できるようになります。
さらに読む: LinuxにZoomをインストールする方法
デフォルトの音楽ディレクトリの追加
そこから、EMMSがメディアファイルを探すデフォルトのディレクトリを設定する必要があります。上記の他の設定と同様に、これも「init.el」ファイルを編集する必要があります。

- 追加する必要があるLispコードは次のとおりです:
(setq emms-source-file-default-directory "/path/to/directory")- これが完了したら、新しい設定を適用するためにEmacsのインストールを再起動します。
基本的なEMMSセッションの開始
- Alt + Xを押してから「emms」と入力して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プレイリストが表示されます。

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

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

- これで、追加したいアルバムやトラックを選択するためにEnterを押すことができます。
- 完了したら、新しいリストに戻り、Ctrl + Xを押してからCtrl + Sを押してファイルに保存します。
さらに読む: EmacsでLedgerモードを使用して財務を管理する方法
GNU FMを使用したEmacsでの音楽スコロビング
音楽を再生するだけでなく、EMMSをカスタマイズしてその機能を単純なメディアプレーヤーを超えて拡張することも可能です。たとえば、libre.fmなどの音楽スコロブラーにトラック情報をアップロードできる関数を使用できます。

- この機能を有効にするには、まず「init.el」ファイルを開く必要があります。
- そこから、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にアクセスするために使用するアカウント情報を含みます。
- 最後に、EMMSに戻る必要があります。そこで、Alt + Xを押して「emms-librefm-scrobbler-enable」と入力する必要があります。
- これにより、このセッションのためにスコロブラーのプラグインが有効になり、終了したトラックが送信されます。

さらに読む: 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によるものです