1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ClaudeCode】Spotify連携を試してみた

1
Posted at

はじめに

最近、普段の開発でClaudeCodeを利用するようになりました。
そんなあるとき、

4月の月末あたりにこのような記事を目にしました。
何やらClaudeCodeでSpotify連携が追加されたようです。

普段の開発中に現在の気分に合わせた曲を再生してくれたり、いい雑談相手になってくれたら楽しそう!と思い早速機能でどんなことができるのか使ってみました。

環境

ClaudeCode:Proに加入、PowerShellでの操作をメインとして活用
Spotify:Premium(Duo)に加入

追加方法

image.png

ClaudeCodeのサイトでログインを行い、コネクタを参照を追加を押します(画像ではもうSpotify連携がすんでしまっています)

その後、どんなアプリと連携するのか探す画面が出るため、ここからSpotifyを選択します。

image.png

追加後、設定からClaudeCodから操作できることの設定を行います。
なんでも勝手に操作されるのは怖いのでデフォルトの許可が必要な状態にしておきます。

image.png

PowerShellで/mcpコマンドを使用し、MCP接続の設定をします。
先ほどのコネクト設定をするとここの接続リストにSpotifyが追加されるのでSpotifyを選びます。

選ぶをSpotifyへ認証を通す設定画面になるため、認証を通します。
再度/mcpを行い、Spotifyがconnectedになっていれば準備完了です。

使ってみた

現在再生中の曲を聞いてみた

image.png

まず、自然言語で現在再生中の曲が何か聞いてみました。
実際、『アンドロイドガール』を聞いていたので上手く取得できていそうです。
get_currently_playingという機能があるのでおそらくこれを使ってくれたのだと思います。
とはいえ、トークンと6秒という時間をかけて現在再生中の曲を教えてくれました。
この程度ならわざわざ聞かなくても人力で何再生しているのか見たほうが効率いいです。

BPMを聞いてみた

image.png

BPM(曲の速さ)を聞いてみます。
趣味でDJを行っているので、曲の速さを突然知りたくなることは度々あります。
また、昔はSpotifyからBPMを取得するAPIが公開されていたのですが、最近封印されました。
AIを通して聞くことができたら便利だな、と。
結果として192らしいです。

image.png

rekordboxというDJ用のソフトで楽曲解析を行ったところ96でした。
BPMは2倍や1/2倍にして同じ数値になるなら曲の速さはあっているので、192という数値はあっていそうです。

しかし、気になるのはこの情報のソースが
https://songbpm.com/@deco-27/andoroidogaru
というところからきている点です。
APIを直接使用して取ってきていなさそうです。

image.png

どうやって情報を取得したのか聞いてみます。
APIは封印されたことを説明しつつ、Webから持ってきていると明言しています。
本当は直接APIを叩いてBPMを持ってきて欲しかったです。そちらのほうがしっかり元の情報を利用していて正しそうなので。
とはいえ、APIが封印されてしまったので仕方がなさそうです。

サイトに飛ぶとSong data provided by SpotifyとあるのでSpotifyからの情報を使用していると信じます。

使えるか使えないかで考えると、回答を得るのに12秒かかっているので何とも言えず…
rekordboxのSpotify連携で解析したほうが早いんじゃないか…

プレイリストを作ってみる

create_playlist search fetch_tracksという機能が搭載されており、プレイリストを作れそうです。
自動でプレイリストが作れたらアツいです。

image.png

青っぽい曲をまとめているプレイリストがあります。この中から青春を感じることができるようなプレイリストを新しく作ってください。
プレイリストの名前は『ClaudeCode-今日の日付』でお願いします。20曲ほどのプレイリストが作って欲しいです

こんな感じの自然言語でプレイリストを作れるか検証します。
青っぽい曲をまとめているプレイリストというのは

これです。
私が作っており、ジャケ写が青っぽかったり、青春っぽい曲、星や夏をテーマにしていそうな曲をひたすら詰め込んでいるプレイリストです。
ここには現在(2026/5/2時点)で200曲ほどあるので、もう少しテーマを絞りつつBPMを合わせた意味のありそうなプレイリストを自動で作って欲しいな~と思いながらClaudeCodeにお願いしてみます。

image.png

そしてAIが選んだ20曲はこれ
パッと見、どれもしっかり存在している楽曲です。
タイトル名にが入っているものが中心的に選ばれていそうでとてもよさそうです。

しかし…

image.png

上で選んだ曲が「そのまま」入るとは限らず、似た雰囲気の楽曲が選ばれる可能性が高いです。

なんだと…

image.png

image.png

出来上がったプレイリストはこちら。
さっきリストアップしてくれた楽曲が1曲もない…
自分が思う青っぽいからだいぶかけ離れたプレイリストです。

PPPPは夏じゃないです。

今回のようなプレイリスト作成ができるのかClaudeCodeに聞いてみました。

image.png

結論、現状のSpotifyMCPでは特定の楽曲を直接プレイリストに追加する機能は無いようです。
○○な雰囲気のプレイリストを作ってと注文し、その自然言語をから雰囲気にあった曲をピックしてプレイリストを作ることはできそうですが、こちらから楽曲を指定してリストにすることはサクっとはできなさそうでした。

『青っぽい』プレイリストから思ったプレイリストを作れなかったのでいったん諦めます。
変わりに青春っぽいアニソンやボカロ曲を集めた20曲のプレイリストを作成してください。曲と曲でBPMに大きな差ができたりせず、曲と曲に何か関係性を持たせたプレイリストを作成してください。
関係性というのはタイトル名が似ていたり、歌っている歌手やボカロキャラが同じ、などといったDJっぽい要素を表します

自分のプレイリストを確認させたりすることは行わず、BPMや曲と曲のつながりを意識したプレイリストを作れるのかの検証をしてみます。
青春っぽくてBPMが大体そろっており、キャラがなんとなくそろっているようなものが作れるのかテストです。

image.png

思ってたプレイリストができない…

D/N/A は青春ソングじゃないです…

image.png

1分長考して出てきた回答がこちら。
結論に書いてある通りですが、ClaudeCodeのcreate_playlistの挙動を観察してみるとこちらの要求しているプレイリスト要望をそのまま自然言語としていい感じにプロンプト解釈してプレイリストを作ってきます。

例として、『青っぽい曲で、BPMはこれぐらい、ボカロで』と注文するとClaudeCodeの思考によるプロンプト生成で
まず青っぽい 青春 こういったキーワードに要素分解され、タイトルにこれらを含んでいる曲かつBPMや作曲者をただソートして持って来るような挙動をしました。

なので曲と曲のつながりを意識したようなプレイリストを作るには向いていなさそうです。

会話の中で曲を探して欲しい

自分が思い描く理想なパートナーとして、日常会話に知ってる曲を出して、曲を語り合いたいという理想があります。

パートナーに『風邪ひいちゃった…』と話したら

『おくすり飲んで寝よう』と言って慰めて欲しいです。
AIで理想のパートナーができるのか検証です。

image.png

ClaudeCodeとSpotifyの連携に対して、なんか『ちがう!!!』な~といった感情を感じました。今の感情に合う曲を流してください

ClaudeCode君でできると思っていたことが案外できなかったという雑談をしつつ、今の感情『ちがう!!!』にあった曲を出して欲しいです。
ここで出して欲しい理想の曲は

です。プロンプトにしっかりタイトルがわかりやすく入っているので持ってきてくれそうだと思ったのですが…

全く知らない曲が出てきた…
『ちがう!!!』そうじゃないよ…

探索範囲がデカすぎた可能性があります。

image.png

思ってたことがイマイチできないですね『ちがう!!!』といった感情です。これに合った曲を私の『青っぽい』プレイリストから探して教えてくれませんか?

作ったプレイリストをfetchができることは検証済みなので自分のプレイリストから探してみます。もちろん、『ちがう!!!』も『青っぽい』プレイリストには入っています。

AIの選りすぐりの4曲。
ちがう!!!エラーと解釈してそれっぽい曲を持ってきました。
素直に『ちがう!!!』を持ってきて欲しいのですが1段階別解釈をして曲を選んできました。

まぁ、全く違う曲を持ってくることは回避して、自分の知ってるお気に入りの曲から会話ができそうです。

結論として、本当は日常的な会話の中からキーワードになりそうなことに反応して曲を出して欲しいですが難しそうです。
だいぶこちらで誘導や指定をしてようやく自分の出して欲しい曲に近いものを出せます。

曲について深堀する

折角上のやり取りで『ひと夏のエラー』を出してくれたのでもう少し会話を深堀できるのかやってみます。

image.png

ひと夏のエラーの恋愛感情特有の擦れているちょっとした複雑なカスレを『ちがう』と解釈したのは面白いですね。Hanonたちはこれに似た夏っぽい曲を他にも歌っているのですが何かありますか?

『ひと夏のエラー』を歌っている方の他の似ている夏っぽい曲を提案してくれるか検証です。

同じアルバムの曲だったりを持ってきてくれました。

これは**「ひと夏のエラー」と同じアルバムジャケットです(image_uriが完全一致)。

持ってきてくれたことはうれしいのですが、(image_uriが完全一致)って書かれるとこちらはエンジニアなので『あ~、仕組みで検索したんだな…』感が強く出てきてしまい、ちょっと悲しいです。
そりゃ、同じアルバムであれば雰囲気同じ曲入っている可能性は高いので。
もっと同じアーティストでちょっと別視点の曲をしっかり出して欲しかったなと…

なんだか、オタクと無理やり会話を合わせるために即席でGoogle検索して出てきた曲を話してきている気分になりました。
悲しいです。

おわりに

せっかく追加されたClaudeCodeとSpotifyとのコネクト機能を使って連携してみました。

これで仕事しながら曲についての会話を永遠とできるAIパートナーが作れる!と一瞬思いましたがまだ夢で終わりそうです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?