前書き
网易云音乐 の会員を切ってからというもの、曲を聴こうとしてアプリを開くたびに VIP ポップアップを五回以上は見せられ、プレイリストも大量に灰色になった。
では、お金を払えば快適になるのかというと、まったくそんなことはない。VIP の期間中ですら SVIP 広告を毎日のように見せられたし、起動広告だって減らなかった。別にその程度の金額が払えないわけではない。ただ、払っているのに広告は出る、権利楽曲は減る、それは何なんだという話だ。
Apple ユーザーとして Apple Music の学生プラン月 5 元も試したが、よく聴く曲の権利が国内ストリーミングに偏りすぎていて、結局は自分で落として Apple Music に取り込む羽目になる。それもまた面倒だった。
精神的テック潔癖の乙女座として、金を払って買ったソフトやデバイスの中に広告が顔面へ飛んでくる状況は許せない。これまでは面倒で自分の音楽ライブラリを作っていなかったが、ネット上のサードパーティ製や権利の怪しい音楽サービスも安定しない。となれば、もう自分で片づけるしかない。
音楽ライブラリの自作方法はいろいろあるが、どうせやるなら徹底的にやりたい。
音楽だけではなく、写真は Aliyun Drive で同期しつつ Baidu Netdisk にも一部保存していたし、映像は端末容量の都合で Mac mini M4 に PT から数百 GB あるだけ。本もクラウドとローカルに散乱していて、数百冊が同期も整理もされていない状態だった。
ちょうど手元に余っていたノート PC がある。Thinkbook 16+ 2022、i5-12500H に RTX 2050、512G SSD と 2T SSD。この構成ならオールフラッシュ NAS にするにはちょうどいい。
NAS 用 OS は、今いちばん勢いがあってコミュニティも活発な飛牛で十分だった。無料の 2Mb リレーまで付いている。
システムのインストール
飛牛 OS の導入自体は簡単で、公式チュートリアル通りに進めればほぼ問題ない。
私が引っかかったのはここだった。USB メモリはもともと Ventoy で複数 OS の起動用にしてあった。飛牛 OS は Debian ベースなのだから、理屈のうえでは ISO をそのまま放り込めばよいはずだった。だが、Ventoy から fnOS のインストーラを選ぶと、どうしてもディスクが見つからないと言われる。モードを変えても同じだった。結局、公式手順どおりに Rufus で起動メディアを作り直したら一発で通った。
特に注意すること
Docker を動かすときは保存先の設定に気をつけること。音楽のようなデータフォルダはコンテナの保存領域へきちんとマッピングし、ファイルマネージャ上で権限を子ディレクトリにも適用しておくべきだ。
音楽ライブラリ構築——Navidrome
Web ベースのオープンソース音楽サーバ兼ストリーミングサービス。
システム設定のアプリ設定で音楽フォルダへのアクセス権を Navidrome に与える。標準ポートは 4533。
アカウントとパスワードを設定して Web UI を開けば、たいていはアクセス可能なフォルダをそのままスキャンして音楽を取り込んでくれる。
music_tag_web
Docker で動く多機能音楽タグ編集ツールで、Web UI 付き。メタデータのスクレイピング、整理、重複チェック、フォーマット変換などができる。
いちばん重要なバックグラウンドスクレイプ機能は v2 以降、つまり有料。私は愛発電で 10 元払って一か月のアクティベーションコードを買い、とりあえず試した。
手元の音楽ファイルの大半は 网易云音乐 由来で、昔は整理の意識がほぼなかったせいでファイル名がめちゃくちゃだった。iPhone、Redmi、Mac、百度网盘に散らばっていて重複音源も多いし、同じ曲の別版や別人カバーもある。たとえば《アイロニ (双声道版)》の 鹿乃 / *菜乃 版。昔よく聴いていた曲の多くは今や网易云で灰色になっている。双笙 の古い 道姑 や、封茗囧菌 の《静悄悄》のような曲だ。
まずスクレイプ対象の曲を選び、アーティスト - アルバム - 曲 という階層になるよう整理する。
自動スクレイプのマッチングモードは、私はまず標準モードを使う。タイトル、アーティスト、アルバムで照合し、データソースは楽曲の出所に近いものを選ぶ。私なら 网易云音乐。変更範囲はジャケット、歌詞、歌詞ファイルだけにする。元のタイトルやアーティストがそこまで壊れていなければ、たいていの曲はきれいに一致する。
うまくスクレイプできない曲、たとえば極端にマイナーな曲やすでに灰色になった曲については、ゆるめのモードに切り替え、网易云、QQ 音乐、酷狗 音乐、iTunes など複数ソースを併用する。変更範囲はそのまま。
ここでアーティストまで変更範囲に含めると、無名のカバー歌手が原曲歌手に置き換わってしまいやすい。
同じ曲が別アルバムに入っていることもあり、実ファイルが同じ場合もあれば、アニメ挿入版とフル版のように一致しない場合もある。アルバム情報まで変更させると、こういうケースで誤爆しやすい。
全部スクレイプし終えたら、もう一度ファイルを整理して空フォルダを削除する。
重複ファイルがあるなら、重複チェックを実行する。音紋比較を有効にするのがおすすめだ。音紋が一致しているものは、たいてい同じ曲の別フォーマット版、たとえば mp3 と flac なので、私は容量の小さいほうを削除することが多い。
その後でもう一度整理し、空フォルダを掃除する。
music_tag_web は有料化後なら、そのまま音楽ライブラリとしても使える。Subsonic サーバ内蔵で、UI も Navidrome より現代的で見栄えがよい。
ただ、個人開発者サービスの長期運営にはやはり慎重でいたいので、今は様子見をしている。
プレイリストマッチャー
LINUX DO で、ストリーミングのプレイリストを Navidrome に取り込むための Windows ツールが共有されていた:分享一个适配Navidrome的歌单匹配器。
网易云音乐、QQ 音乐、Apple Music のプレイリストを Navidrome に取り込み、未マッチ曲を一覧で出せる。
クライアント
音楽ライブラリを作ったあと、次はモバイルやデスクトップでどう聴くかになる。
Navidrome 対応クライアントはかなり多く、少し探せば見つかる。
私が今使っているのは 音流 1.3.9 で、Android、iOS、iPadOS、Windows、macOS など大半の環境に対応している。買い切りで 60 元もしないうえ、最大 7 台同時利用可能。
プレイヤーとしては、見た目がそこそこ良く、NAS 上の曲をローカル保存でき、デスクトップ歌詞もあり、プレイリスト追加、お気に入り、星評価、シャッフルなど、必要なものはだいたい満たしている。
問題もある。たまにクラッシュするし、バックグラウンド再生で一曲終わっても次へ進まないことがある。再現は安定しない。NAS への接続もやや遅い。さらに、NAS に接続できないときはダウンロード済みの曲とダウンロード済みプレイリストしか見えず、同じ曲が複数プレイリストに入っていても、オフラインでは最初に落としたプレイリストにしか表示されない。
個人開発者による非オープンソースアプリなので、買うなら慎重に。まずは通常版で試すのがよい。
書籍ライブラリ構築——talebook
Docker ベースのオープンソースプロジェクトで、シンプルながら強力な個人向け書籍管理システム。calibre を基盤にしていて、蔵書管理、オンライン閲覧と配信、ユーザー管理、SSO、百度や豆瓣からのメタデータ取得などができる。
設定は talebook の Web 管理画面から一つずつ進めれば大体足りる。唯一気をつけるべきなのはユーザー権限で、一部のクライアントはログイン自体に対応しておらず、その場合は「任意ダウンロードを許可」をオンにしないと使えない。
書籍管理ではメタデータの一部を手動で編集できるし、タグも付けられる。私は読む本のジャンルが広いので、物理フォルダとタグの両方を 中図法 に寄せて整理したいタイプだ。
douban-api-rs
talebook 用の豆瓣プラグインで、fnOS にイメージがある。Docker を動かした後、API アドレスを talebook の「インターネット書籍情報源」に貼り付けると、自動メタデータ更新が有効になる。
有名な文学作品なら豆瓣スクレイプの精度は悪くない。しかし《业余无线电爱好者的道德和操作守则》のような未出版物や、《中国的野菜》(2008 海南出版公司)のような極端にマイナーだったり年代が古すぎたりする本は、検索に出ないか、変な本に誤マッチする。
百度网盘 には「赤脚医生手册民兵训练人才之友历代武术最全穿越者」みたいな、転生者向け四庫全書とでも言いたくなるものが一式入っていて、総量 120GB 超え。
このうち武功書や軍事秘本の大半はまともにスクレイプできないが、歴史や文学系は比較的うまくいく。
クライアント
talebook、というより OPDS クライアント全般だが、本当に使いやすくて現代的なものは少ない。
Android では今のところ、飛牛の Android クライアント経由で本を落とし、eBoox でローカル読書している。Google 同期も使える。
tachiyomi は著作権問題で終わり、その後継の Mihon や類似物は漫画寄りで、読書向けの設計ではない。自前の Komaga ソースを komaga プラグインで入れようとしたら、そもそもアドレス設定が通らなかった。
ただし Kahon は Mihon 系の派生として、プラグインライブラリを入れると R18 系ソースがやたら豊富になる。広告なしでエロを見る用途としては、むしろかなり優秀だった。
iOS と iPadOS では、標準の iBook を超える読書体験はなかなかない。今は KyBook 3 を試しているが、アカウントログインはできない。
OPDS アドレスを入れるときは、ポート番号と /opds/ を忘れないようにする必要がある。
映像ライブラリ構築
私にとっては、fnOS 標準の飛牛映視ですでに十分便利だ。スクレイピングと分類ができ、Android、iOS、iPadOS、macOS、Windows にクライアントがある。百度网盘 やリモートマウントしたディスクの映像資源も取り込めるし、たとえば Mac の外付けディスクを LAN 経由で飛牛メディアライブラリへ流し込むこともできる。字幕のオンラインマッチも可能。
もし bangumi api と豆瓣 api までつながれば、さらに理想的だ。
PT
資源調達という意味では、やはり最後は PT が強い。まず勧めたいのは飛牛アプリセンターにある qBittorrent。
具体的な使い方や torrent の入手先は各自で探ればよい。ただ、シェア率とシード時間はちゃんと意識したほうがいい。
人人為我、我為人人。
アルバム
画像管理はさらに楽だ。
各種クラウドやローカルの写真を NAS Photos フォルダに全部集めてしまえば、物理フォルダをあえて綺麗に整理しなくても、アルバムを開くだけで自動スキャン・取り込みができる。ほかのローカルフォルダや外付けフォルダも、アルバム - 設定 - フォルダ管理から追加できる。
AI アルバム設定でモデルを先にダウンロードし、その後で未認識の写真や動画を解析させると、バックグラウンドで自動分類してくれる。全部ローカル実行なので、プライバシー重視なら使わなくてもよい。
GPU 計算を有効にすると認識速度はかなり上がるが、そのためには対応ドライバの導入が必要になる。
iPhone、Redmi、iPad の写真を同時にバックアップした結果、名前は違うが中身は同じ写真が大量にあった。AI の類似画像判定で確認しながら重複削除したところ、かなり良かった。
その他おすすめ小物
HivisionIDPhoto
証明写真を自作する。アプリセンターの Docker。
peazip
圧縮・解凍用 Docker。fnOS 標準の圧縮解凍機能はかなり貧弱で、分割圧縮にすらまともに対応していない。
singbox
Docker。たまに必要になる、ちょっと素敵な小道具。
飛牛同期
他端末のフォルダを NAS に同期する。双方向同期、ダウンロードのみ、アップロードのみ対応。
各端末側にはクライアントの導入が必要。
テキストエディタ
入れておくと txt、yml、log、html、js、md、nfo などのプレーンテキストをファイルマネージャから直接開ける。
Office プレビュー
最大 500MB の Office ファイルをファイルマネージャ内で直接開ける。
OmniTools
十数種類の小ツールをまとめたツールボックス。
百度网盘(飛牛版)
「ほぼ」広告なしで、すっきりしている。ただしファイルアドレスのコピー不可、ファイル・フォルダ詳細画面なし、フォルダ容量確認もできないように見える。
NAS 会員を別売りにするのは本当にひどい。
非推奨:アプリセンターのブラウザ
これは Docker 上で動く Google Chrome だが、画面がぼやけるし、実際にはページではなく画面転送で見ている。中国語 IME もまともに使えず、ダウンロードしたファイルもアプリ用フォルダから自分で取り出さなければならない。標準検索は Google なので代理も必要で、Bing へ変えられるとはいえ、ダウンロードも遅い。
なので、何か落としたいなら、まずローカルブラウザで直リンクを見つけ、それを飛牛クライアント側でダウンロードタスク化するほうがよい。
まとめ
数日いじっただけでも、このノート PC 「NAS」は映像・音楽・写真・書籍の管理と、重要データ、つまりマニュアル、説明書、原稿、PCB、コード、証明書、パスワードなどのバックアップをすでにかなり実現できている。
次に触りたいのは、ダッシュボード、ドメイン、リバースプロキシ、IPv6、RSSHub、そして二拠点三重バックアップ。
最後に。SB 网易云音乐。
いつまた一杯の酒を飲み、細かい論文を議論するのか。