Navidromeに乗り換えて快適なミュージックライフを送っているが、それまで GitHub - jeffvli/feishin: A modern self-hosted music player.で満足していたが、仕事中だとマウスを使わないでキーボードだけで操作できる方が良いということで、いくつかのターミナルアプリを試してみた。
Navidrome Overview | Navidromeに対応しているアプリの一覧がある。
デスクトップ版はfeishin
がおすすめだ。
jellycli
GitHub - tryffel/jellycli: Jellyfin terminal client
ARM系でないアーキテクチャーを積んだ端末なら、ビルドせずにさくとバイナリファイル落してきて使えるのはありがたい。
しかし、なにかレイアウトが崩れる。フォントのせいか?またキーバインドもvim
ライクなのは嬉しいのだけど、タブの遷移して再生が、どうもやりづらい。
レイアウトが整理されており、ライブラリーも単純なアーティストの羅列でなく、最近追加したアルバムとか検索できるのとか、実用的なのだけど、どうもUIが私にはシックリこない。また、若干、不安定なのか、キーが反応しなくなったりする。
動作がもっと安定したらなぁ。おま環なのかも知れないけど。
stmp
GitHub - wildeyedskies/stmp: subsonic terminal music player
こちらもバイナリファイルが用意されている。アーティスト一覧がずらっと並んで、そこから/
で検索して、右のアルバム一覧を表示してa
でキュー追加などして、p
で再生/一時停止できる。アルバム、曲を選択してのEnter
でも再生が始まる。
シンプルなので一番動作が安定しているような気がする。ただ機能が少ないのと、最近、開発が活発でないように見える1。
stmps
GitHub - spezifisch/stmps: Subsonic Terminal Music Player S
上で紹介したstmp
のフォークのようで、?
押すとBrowser、Queue、Playlist、Search、Logモードでのヘルプが出るので初心者にも優しい。またjellycli
ほどでないにしての、stmp
よりも見た目が整えられている。
Search機能やカヴァーアートの表示、細かいところで機能が追加されている。 [Feature] Search by genre · Issue #52 · spezifisch/stmps · GitHubのPullReuestも既にされているようで、今後の更なる機能拡張にも期待できる。
自分でビルドしなければならないのがハードルが高いが、なんとか上手くいったので作業をメモしておく。go
の開発経験がないので、とんちんかんなことしてるだろうが、ご容赦願いたい。stmp
も今のところ、同じ手順でビルドできるようになる。
ビルド
$ go version
go version go1.19.1 linux/amd64 #1.22以上でない駄目
$ sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf ~/Nextcloud/Public_Ubuntu/packages/go1.23.3.linux-amd64.tar.gz
$ go version
go version go1.23.3 linux/amd64
$ go get github.com/rivo/tview@master
$ go get github.com/YouROK/go-mpv@master
$ git clone https://github.com/spezifisch/stmps.git
$ cd stmps
$ go build
# github.com/supersonic-app/go-mpv
../../go/pkg/mod/github.com/supersonic-app/go-mpv@v0.1.0/async.go:4:10: fatal error: mpv/client.h: No such file or directory
4 | #include <mpv/client.h>
| ^~~~~~~~~~~~~~
compilation terminated.
$ sudo apt install pkg-config libmpv libmpv-dev
$ go build
$ ls -l stmps
-rwxrwxr-x 1 arimasou16 arimasou16 17506784 12月 7 09:19 stmps
$ mkdir -p /home/arimasou16/.config/stmps
$ cp stmp-example.toml ~/.config/stmps/stmp.toml
$ nvim ~/.config/stmps/stmp.toml
go
は仕様変更が激しいのか、go install
だったり、アンイストールはgo clean -i
とかるのだけど、これだと削除できないくて、go get github.com/rivo/tview@none
でアンインストールはできた。
設定ファイルは、 stmps.toml でなくて stmp.toml 。格納ディレクトリは~/.config/stmp
でも、~/.config/stmps
でも良いようだ。
stmp.toml
[auth]
username = 'ユーザ名'
password = 'パスワード'
plaintext = false
[server]
host = 'https://example.com/navidrome'
scrobble = true
ということで、個人的にはstmps
をおすすめしたいのだけど、たまにa
しても曲が追加されなかったり、アルバムをEnter
しても曲一覧が空になったり、そこら辺の挙動の不安定さが。そもそも曲が56763あるので、遅延するのは分かるんだけどね。
stmp
のほうが余計な機能がない分安定してる感じはある。
-
2024/12/7時点で最新は2023/08/30にリリースされたのが最新となる。 ↩︎