ncmpcpp

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

Ncmpcpp または ncmpcpp は ncmpc と同じような UI が付属する mpd クライアントです (mopidy と互換性があります)。正規表現によるライブラリの検索や、拡張音声フォーマットのサポート、アイテムのフィルタリング、プレイリストのソートや、ローカルファイルシステムのブラウザなど、便利な機能が用意されています。

ncmpcpp/mpd はクライアント/サーバーの関係で共同して動作するため、Ncmpcpp を使うには mpd をシステムで動かせるようにしておく必要があります。

インストール

ncmpcpp パッケージをインストールしてください。

基本設定

The shell "GUI" for ncmpcpp のシェル "GUI" は細かくカスタマイズすることができます。~/.ncmpcpp/config をお好きなように編集してください。インストール後、~/.ncmpcpp/config が作成されていなかった場合は、サンプル設定をコピーして所有者を変更し、以下の3つの設定オプションを編集してください:

  • mpd_host - mpd が存在するホストを指定します。同一マシン上にある場合は "localhost" または "127.0.0.1"。
  • mpd_port - mpd のデフォルトは "6600" です。
  • mpd_music_dir - mpd.conf で指定した "music_directory" と同じディレクトリ。

詳しい解説は、以下の資料を見てください:

ビジュアライゼーションの有効化

ビジュアライゼーションを使うには、/etc/mpd.conf に以下の行を追加してビジュアライゼーションの 高速フーリエ変換 データの生成を有効化してください:

audio_output {
    type                    "fifo"
    name                    "my_fifo"
    path                    "/tmp/mpd.fifo"
    format                  "44100:16:2"
}
ノート: 通常のオーディオ出力には、audio_output セクションを追加する必要がある場合があります。詳細については、Music Player Daemon#オーディオ設定 を参照してください。

また、以下の行を ~/.ncmpcpp/config に追加する必要があります:

visualizer_data_source = "/tmp/mpd.fifo"
visualizer_output_name = "my_fifo"
visualizer_in_stereo = "yes"
visualizer_type = "spectrum"
visualizer_look = "+|"
  • visualizer_type - ビジュアライゼーションをスペクトラムアナライザ (spectrum/ellipse) または波形 (wave/wave_filled) に設定。
  • visualizer_look - ビジュアライザーの外観を設定 (2文字の文字列を設定する必要があります: wave および wave_filled では1文字目が、spectrum および ellipse では2文字目が使われます)
ノート: 同期の問題が発生した場合は、mpd 設定の buffer_time100000 以下 に変更してください。

mopidy を使用する場合、視覚化は gstreamer の udpsink を介して処理されます。mopidy.conf[audio] ブロック内の output を編集します。

output = tee name=t ! queue ! autoaudiosink t. ! queue ! audio/x-raw,rate=44100,channels=2,format=S16LE ! udpsink host=localhost port=5555

これでオーディオデータをポート 5555 に転送します。ncmpcpp がこのポートから読み込むには、visualizer_data_source を変更してください:

visualizer_data_source = "localhost:5555"

使用方法

キーのマップの変更

キーバインドと機能のリストは npmpcpp の中から F1 を押すことで確認できます。/usr/share/doc/ncmpcpp/bindings~/.ncmpcpp/ にコピーして編集することでデフォルトのキーは簡単に再マップできます。

ファイル名からタグを自動設定、またはその逆

タグエディターで、音楽のあるディレクトリを選択し、中央のセクションで Filename オプションを選択できます。これにより、ファイル名からタグを取得ファイル名の変更 の 2 つのオプションを含む小さなウィンドウが開きます。 Get Tags From Filename を選択すると、2 つのウィンドウを持つポップアップが表示されます。左側では、ファイル名から選択した情報を抽出するパターンを入力できます。Preview をクリックして結果がどのようになるかを確認することもできます。右側には、抽出に使用できるすべてのキーワードを含む凡例が表示されます。

簡単な例は、パターン %a - %t です。ファイルにこのパターン (アーティスト - タイトル) に従って名前が付けられている場合、このパターンはこの情報を抽出し、ファイルのタグを設定します。

もう 1 つのオプション Rename Files は、まったく逆のことを行います。オーディオファイルからタグを取得し、そこからファイル名を作成します。

曲変更時の通知

execute_on_song_change コマンドを notify-send と組み合わせると、曲が変更されるたび (およびアプリケーションの起動時) に通知を生成できます。これは、通知サーバー がインストールおよび構成されていることが条件です。$XDG_CONFIG_HOME/ncmpcpp/config を編集します。例:

execute_on_song_change = notify-send "Now Playing" "$(mpc --format '%title% \n%artist% - %album%' current)"

アルバムアート

曲の変更通知に現在再生中の曲のアルバムアートを表示したい場合は、このスクリプトを使用できます。アルバムアートプレビューは、デフォルトで $XDG_CONFIG_HOME/ncmpcpp/previews に保存され、128x128 に拡大縮小されます。プレビューファイル名は、base64 でエンコードされたアルバム名であるため、重複したプレビューを保存しないでください。

~/.local/bin$PATH にあると仮定して、作成 (そして 実行可能属性の付与):

~/.local/bin/songinfo
#!/bin/sh

music_dir="$HOME/Music"
previewdir="$XDG_CONFIG_HOME/ncmpcpp/previews"
filename="$(mpc --format "$music_dir"/%file% current)"
previewname="$previewdir/$(mpc --format %album% current | base64).png"

[ -e "$previewname" ] || ffmpeg -y -i "$filename" -an -vf scale=128:128 "$previewname" > /dev/null 2>&1

notify-send -r 27072 "Now Playing" "$(mpc --format '%title% \n%artist% - %album%' current)" -i "$previewname"

これを ncmpcpp 設定に追加します。

execute_on_song_change = songinfo

参照