← Back to Home
AI/音楽/プログラミング/DIY/LLM/Spotify/Macmini/tailscale/selfhosted ·

ローカルに自分専用LLM-DJを作る|プロローグ

ローカルに自分専用LLM-DJを作る|プロローグ

ローカルに自分専用LLM-DJを作る|プロローグ

出典: note.com / 2026-05-02

はじめに

音楽ストリーミングの時代に、わざわざ「ローカルに音楽をため込む」なんて時代錯誤だと思われるかもしれない。

でも、Spotifyの「お気に入り」が突然消えたり、海外旅行中にオフラインになったり、アーティストが配信を停止したり——そういう「所有感の欠如」に、これまで何度もモヤッとしてきた。

そこで作ったのが、**「自分専用の音楽ライブラリ + LLM-DJ」**の土台となるシステムだ。

この記事は、そのプロローグ。

できたこと

今回構築したシステムは、ざっくり言うとこういうことができる。

1. Spotifyプレイリストをローカルにダウンロード

SpotifyのプレイリストURLを渡すだけで、自動的に曲を検索・ダウンロード。認証不要、Premium不要。99曲のプレイリストも30分程度で完了する。

2. Tailscale越しにどこからでもストリーミング

ダウンロードした曲は、自宅Mac上のWebプレーヤーで再生可能。スマホ、タブレット、職場のPC——Tailscaleに繋がっていれば、どの端末からでも同じライブラリにアクセスできる。

3. Spotify連携で「先回りダウンロード」

Spotify APIと連携し、自分の「よく聴く曲」「Liked Songs」を解析。AIがおすすめする「こんな曲も好きかも」を先回りしてダウンロードしておく。気づいたらライブラリが育っている、そんな仕組み。

技術的な仕組み

シンプルに積み上げた。

ダウンロード層:yt-dlp + YouTube Music。曲名検索で高音質m4aを取得。メタデータとジャケット写真も自動埋め込み。

ストリーミング層:Node.js + Express。Rangeリクエスト対応でシーク可能。ffprobeでメタデータ抽出、ffmpegで埋め込みジャケットを抽出して配信。

AI連携層:Spotify Web API + PKCE認証。サーバー不要、クライアントシークレットも不要。ブラウザ完結のOAuth。取得したtop artists / top tracksをseedに、Spotifyのrecommendations APIで新曲を発掘。

ネットワーク層:Tailscale。ポート開放不要、固定IP不要。Zero Trustで安全にアクセス。

現実的なハードウェアと価格感

「自宅サーバー」って聞くと高そうに思えるが、今回使った構成は意外と安い。

本体:Mac mini (M4, 16GB)

値段:約12〜14万円。いま手元にあるマシンをそのまま流用しているが、新品を買うならこれ。音楽ストリーミング程度なら負荷はほぼゼロ。空き容量があれば別に買い換え不要。

ストレージ:外付けSSD 2TB

値段:約2万円。157曲で1.4GBなので、2TBあれば20万曲以上入る。m4a(256kbps相当)前提なら、1曲平均5MBとして40万曲。一生分の音楽が入る計算。

ネットワーク:Tailscale

値段:個人利用なら無料。会社のVPN代わりにも使える。Zero Trustで安全、設定は数クリック。

電気代

Mac mini M4の定格は約30W。24時間365日回し続けても、年間約3,000円(1kWh=27円換算)。1ヶ月250円。節約すれば1杯のコーヒー代。

トータル

ゼロから組むなら「14万円 + 外付けSSD 2万円 = 16万円」。既存PCを流用なら「SSD 2万円のみ」。月額は電気代250円。クラウドストレージ(Google One 2TBは月額1,300円)より、2年もたてば元が取れる。

実際の使い方

いまのフローはこんな感じ。

朝、Spotifyで気になるプレイリストを見つける → URLをシステムに渡す → 30分後には自宅サーバーに保存完了 → 通勤電車でスマホから再生。

もしくは、Spotifyタブで「おすすめ取得」を押す → 50曲の新提案が表示される → 「未取得のものをダウンロード」を押す → バックグラウンドで勝手に溜まっていく。

「何を聴こう」ではなく、「すでにそこにある」状態を作るのが目的だ。

なぜ「LLM-DJ」のプロローグか

このシステムの先にあるのは、こんな世界。

LLMが「今日の気分は?朝の通勤?深夜の作業?」と聞いて、ライブラリの中から最適な曲を選ぶ。

Spotifyの新曲レコメンドを監視して、自分のテイストに合いそうなものを自動でダウンロード。

「あの曲、どこにしまったっけ?」と思ったら、自然言語で検索。「最近聴いたアップテンポな邦楽」で絞り込む。

今回作ったのは、その土台。音楽の「所有」と「発見」を、ローカルに取り戻す第一歩。

まとめ

ストリーミングの便利さは否定しない。でも、「自分の音楽」がどこかの企業のサーバーに閉じ込められている感覚は、なくしたかった。

今回のシステムで、157曲が自宅のディスクに実体として存在している。それが、どこにいても聴ける。そして、AIが次に聴くべき曲を提案してくれる。

これが、自分専用LLM-DJのプロローグ。

次のステップでは、実際にLLMをDJに据えて、気分・時間帯・作業内容に応じた選曲を自動化していく予定。

つづく。


この記事は note.com から KTBLOG に移行されました。元記事: https://note.com/famous_prawn2009/n/n14dceccb8f39