ncmpcpp
関連記事
Ncmpcpp または ncmpcpp は ncmpc と同じような UI が付属する mpd クライアントです (mopidy と互換性があります)。正規表現によるライブラリの検索や、拡張音声フォーマットのサポート、アイテムのフィルタリング、プレイリストのソートや、ローカルファイルシステムのブラウザなど、便利な機能が用意されています。
ncmpcpp/mpd はクライアント/サーバーの関係で共同して動作するため、Ncmpcpp を使うには mpd をシステムで動かせるようにしておく必要があります。
目次
インストール
基本設定
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" と同じディレクトリ。
詳しい解説は、以下の資料を見てください:
/usr/share/doc/ncmpcpp/config
のサンプル設定ファイル。- .ncmpcpp/config とスクリーンショットを見せ合うフォーラムスレッド
ビジュアライゼーションの有効化
ビジュアライゼーションを使うには、/etc/mpd.conf
に以下の行を追加してビジュアライゼーションの 高速フーリエ変換 データの生成を有効化してください:
audio_output { type "fifo" name "my_fifo" path "/tmp/mpd.fifo" format "44100:16:2" }
また、以下の行を ~/.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文字目が使われます)
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