「Ncmpcpp」の版間の差分
同期 |
→ビジュアライゼーションの有効化: リンクを修正 |
||
| (4人の利用者による、間の8版が非表示) | |||
| 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:// |
[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}} パッケージを[[インストール]]してください。 |
|||
== 基本設定 == |
== 基本設定 == |
||
| 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_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 をロードしてください: |
|||
$ 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 |
|||
| ⚫ | |||
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 をシステムで動かせるようにしておく必要があります。
インストール
基本設定
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"
}
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文字目が使われます)
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