「Ncmpcpp」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「Category:音声/動画」を「Category:マルチメディア」に置換)
 
(3人の利用者による、間の7版が非表示)
1行目: 1行目:
  +
{{Lowercase title}}
[[Category:マルチメディア]]
 
  +
[[Category:音楽]]
  +
[[Category:コンソールアプリケーション]]
 
[[de:Ncmpcpp]]
 
[[de:Ncmpcpp]]
 
[[en:Ncmpcpp]]
 
[[en:Ncmpcpp]]
7行目: 9行目:
 
{{Related|mpd}}
 
{{Related|mpd}}
 
{{Related articles end}}
 
{{Related articles end}}
[http://unkart.ovh.org/ncmpcpp/ Ncmpcpp] または ncmpcpp は ''ncmpc'' と同じような UI が付属する [[mpd]] クライアントです ([https://www.mopidy.com/ mopidy] と互換性があります)。正規表現によるライブラリの検索や、拡張音声フォーマットのサポート、アイテムのフィルタリング、プレイリストのソートや、ローカルファイルシステムのブラウザなど、便利な機能が用意されています。
+
[http://rybczak.net/ncmpcpp Ncmpcpp] または ncmpcpp は ''ncmpc'' と同じような UI が付属する [[mpd]] クライアントです ([https://www.mopidy.com/ mopidy] と互換性があります)。正規表現によるライブラリの検索や、拡張音声フォーマットのサポート、アイテムのフィルタリング、プレイリストのソートや、ローカルファイルシステムのブラウザなど、便利な機能が用意されています。
   
 
''ncmpcpp''/''mpd'' はクライアント/サーバーの関係で共同して動作するため、Ncmpcpp を使うには ''mpd'' をシステムで動かせるようにしておく必要があります。
 
''ncmpcpp''/''mpd'' はクライアント/サーバーの関係で共同して動作するため、Ncmpcpp を使うには ''mpd'' をシステムで動かせるようにしておく必要があります。
13行目: 15行目:
 
== インストール ==
 
== インストール ==
   
[[公式リポジトリ]]から {{Pkg|ncmpcpp}} を[[インストール]]してください。
+
{{Pkg|ncmpcpp}} パッケージを[[インストール]]してください。
   
 
== 基本設定 ==
 
== 基本設定 ==
29行目: 31行目:
 
== ビジュアライゼーションの有効化 ==
 
== ビジュアライゼーションの有効化 ==
   
ビジュアライゼーションを使うには、{{ic|/etc/mpd.conf}} に以下の行を追加してビジュアライゼーションの[[Wikipedia:ja:高速フーリエ変換|高速フーリエ変換]]データの生成を有効化してください:
+
ビジュアライゼーションを使うには、{{ic|/etc/mpd.conf}} に以下の行を追加してビジュアライゼーションの [[Wikipedia:ja:高速フーリエ変換|高速フーリエ変換]] データの生成を有効化してください:
   
 
audio_output {
 
audio_output {
37行目: 39行目:
 
format "44100:16:2"
 
format "44100:16:2"
 
}
 
}
  +
  +
{{Note|通常のオーディオ出力には、{{ic|audio_output}} セクションを追加する必要がある場合があります。詳細については、[[Music Player Daemon#オーディオ設定]] を参照してください。}}
   
 
また、以下の行を {{ic|~/.ncmpcpp/config}} に追加する必要があります:
 
また、以下の行を {{ic|~/.ncmpcpp/config}} に追加する必要があります:
   
visualizer_fifo_path = "/tmp/mpd.fifo"
+
visualizer_data_source = "/tmp/mpd.fifo"
 
visualizer_output_name = "my_fifo"
 
visualizer_output_name = "my_fifo"
visualizer_sync_interval = "30"
 
 
visualizer_in_stereo = "yes"
 
visualizer_in_stereo = "yes"
 
visualizer_type = "spectrum"
 
visualizer_type = "spectrum"
 
visualizer_look = "+|"
 
visualizer_look = "+|"
   
* '''visualizer_sync_interval''' - ''mpd'' からの音声出力とビジュアライザーを同期する間隔を設定。あまり頻繁に同期してしまわないように10以上に設定してください。あまり下げ過ぎるとビジュアライゼーションがフリーズします。推奨値は30ですが、音楽とビジュアライゼーションがズレてしまう場合は減らしましょう。
 
 
* '''visualizer_type''' - ビジュアライゼーションをスペクトラムアナライザ ({{ic|spectrum}}/{{ic|ellipse}}) または波形 ({{ic|wave}}/{{ic|wave_filled}}) に設定。
 
* '''visualizer_type''' - ビジュアライゼーションをスペクトラムアナライザ ({{ic|spectrum}}/{{ic|ellipse}}) または波形 ({{ic|wave}}/{{ic|wave_filled}}) に設定。
* '''visualizer_look''' - ビジュアライザーの外観を設定 (2文字の文字列を設定する必要があります: wave および wave_filled では1文字目が、spectrum および ellipse では2文字目が使われます)
+
* '''visualizer_look''' - ビジュアライザーの外観を設定 (2文字の文字列を設定する必要があります: wave および wave_filled では1文字目が、spectrum および ellipse では2文字目が使われます)
  +
  +
{{Note|同期の問題が発生した場合は、{{ic|mpd}} 設定の {{ic|buffer_time}} を [https://github.com/ncmpcpp/ncmpcpp/blob/master/doc/config 100000 以下] に変更してください。}}
  +
  +
[https://docs.mopidy.com/en/latest/installation/arch/ mopidy] を使用する場合、視覚化は [https://github.com/ncmpcpp/ncmpcpp/commit/fb886f687014e22b2fe1477da855be5201063ea8 gstreamer の udpsink] を介して処理されます。{{ic|mopidy.conf}} の {{ic|[audio]}} ブロック内の {{ic|output}} を編集します。
  +
  +
output = tee name=t ! queue ! autoaudiosink t. ! queue ! audio/x-raw,rate=44100,channels=2,format=S16LE ! udpsink host=localhost port=5555
  +
  +
これでオーディオデータをポート {{ic|5555}} に転送します。{{ic|ncmpcpp}} がこのポートから読み込むには、{{ic|visualizer_data_source}} を変更してください:
  +
  +
visualizer_data_source = "localhost:5555"
   
 
== 使用方法 ==
 
== 使用方法 ==
   
=== ncmpcpp のロ ===
+
=== のマップの変更 ===
   
  +
キーバインドと機能のリストは npmpcpp の中から {{ic|F1}} を押すことで確認できます。{{ic|/usr/share/doc/ncmpcpp/bindings}} を {{ic|~/.ncmpcpp/}} にコピーして編集することでデフォルトのキーは簡単に再マップできます。
シェルで ncmpcpp をロードしてください:
 
$ ncmpcpp
 
   
  +
=== ファイル名からタグを自動設定、またはその逆 ===
=== 表示画面 ===
 
   
  +
タグエディターで、音楽のあるディレクトリを選択し、中央のセクションで {{ic|Filename}} オプションを選択できます。これにより、{{ic|ファイル名からタグを取得}} と {{ic|ファイル名の変更}} の 2 つのオプションを含む小さなウィンドウが開きます。
ncmpcpp の表示画面のリスト:
 
  +
{{ic|Get Tags From Filename}} を選択すると、2 つのウィンドウを持つポップアップが表示されます。左側では、ファイル名から選択した情報を抽出するパターンを入力できます。{{ic|Preview}} をクリックして結果がどのようになるかを確認することもできます。右側には、抽出に使用できるすべてのキーワードを含む凡例が表示されます。
*{{ic|1}} - 現在のプレイリスト
 
*{{ic|2}} - ファイルシステムブラウザ
 
*{{ic|3}} - DB 検索
 
*{{ic|4}} - ライブラリ
 
*{{ic|5}} - プレイリストエディタ
 
*{{ic|6}} - タグエディタ (超強力!)
 
*{{ic|7}} - 出力の選択
 
*{{ic|8}} - ミュージックビジュアライザー
 
*{{ic|=}} - 時計
 
*{{ic|F1}} - ヘルプ
 
   
  +
簡単な例は、パターン {{ic|%a - %t}} です。ファイルにこのパターン (アーティスト - タイトル) に従って名前が付けられている場合、このパターンはこの情報を抽出し、ファイルのタグを設定します。
=== 他の UI キー ===
 
   
  +
もう 1 つのオプション {{ic|Rename Files}} は、まったく逆のことを行います。オーディオファイルからタグを取得し、そこからファイル名を作成します。
*{{ic|q}} - 終了
 
*{{ic|f}} - 早送り
 
*{{ic|b}} - 早戻し
 
*{{ic|\}} - classic と alternative ビューを切り替える
 
*{{ic|#}} - ファイルのビットレートを表示
 
*{{ic|i}} - 曲の情報を表示
 
*{{ic|I}} - アーティスト情報を表示 ({{ic|~/.ncmpcpp/artists/ARTIST.txt}} に保存)
 
*{{ic|L}} - 使用する歌詞データベースを変更
 
*{{ic|l}} - 現在の曲の歌詞を取得して表示/非表示
 
*{{ic|>}} - 次のトラック
 
*{{ic|<}} - 前のトラック
 
*{{ic|p}} - 再生/停止
 
*{{ic|+}} - ボリュームを 2% 上げる
 
*{{ic|-}} - ボリュームを 2% 下げる
 
   
=== 再生モード ===
+
=== 曲変更時の通知 ===
   
  +
{{ic|execute_on_song_change}} コマンドを ''notify-send'' と組み合わせると、曲が変更されるたび (およびアプリケーションの起動時) に通知を生成できます。これは、[[デスクトップ通知|通知サーバー]] がインストールおよび構成されていることが条件です。{{ic|$XDG_CONFIG_HOME/ncmpcpp/config}} を編集します。例:
右上にはコントロールパネルが表示されます。alternative モードの場合:
 
   
  +
execute_on_song_change = notify-send "Now Playing" "$(mpc --format '%title% \n%artist% - %album%' current)"
1:40/4:16 1082 kbps ──┤ Criminal ├── Vol: 98%
 
[playing] Disturbed - Indestructible (2008) '''[-z-c--]'''
 
   
  +
==== アルバムアート ====
classic モードの場合:
 
─────────────────────────────────────────────────────────────────────────────────────────────────────────'''[zc]'''─
 
   
  +
曲の変更通知に現在再生中の曲のアルバムアートを表示したい場合は、このスクリプトを使用できます。アルバムアートプレビューは、デフォルトで {{ic|$XDG_CONFIG_HOME/ncmpcpp/previews}} に保存され、128x128 に拡大縮小されます。プレビューファイル名は、base64 でエンコードされたアルバム名であるため、重複したプレビューを保存しないでください。
表示は再生モードを表しています。左から順番に説明すると以下の通りです:
 
   
  +
{{ic|~/.local/bin}} が {{ic|$PATH}} にあると仮定して、[[作成]] (そして [[ヘルプ:読み方#実行可能属性の付与|実行可能属性の付与]]):
*{{ic|r}} - repeat モード '''[r-----]'''
 
*{{ic|z}} - random モード '''[-z----]'''
 
*{{ic|y}} - single モード '''[--s---]'''
 
*{{ic|R}} - consume モード '''[---c--]''' (現在のトラックを繰り返し再生)
 
*{{ic|x}} - crossfade モード '''[----x-]''' (プレイリストから現在のトラックを削除)
 
   
  +
{{hc|~/.local/bin/songinfo|<nowiki>
最後の "-" は {{ic|u}} でデータベースを更新したときに有効になります。
 
  +
#!/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
キーバインドと機能のリストは npmpcpp の中から {{ic|F1}} を押すことで確認できます。{{ic|/usr/share/doc/ncmpcpp/bindings}} を {{ic|~/.ncmpcpp/}} にコピーして編集することでデフォルトのキーは簡単に再マップできます。
 
  +
  +
notify-send -r 27072 "Now Playing" "$(mpc --format '%title% \n%artist% - %album%' current)" -i "$previewname"
  +
</nowiki>}}
  +
  +
これを ncmpcpp 設定に追加します。
  +
  +
execute_on_song_change = songinfo
   
 
== 参照 ==
 
== 参照 ==

2023年12月1日 (金) 07:56時点における最新版

関連記事

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

参照