youkoseki.com

Spotifyを永遠にリピート再生させる

いまさら言うまでもなく、Spotifyはすごいサービスである。かつてCDを月十枚以上買い続けていたことを思えば、月980円というのは冗談のような価格で、いつでも(ほぼ)なんでも好きな音楽を聴くことができる。また素晴らしいのがSpotify Connectという機能で、再生などの操作をどの端末からでも行える。たとえば我が家では、Android TVからアンプ経由で再生している音楽を、PCやスマートフォンから操作できる。

 

しかし愛用しているがゆえに、不満もある。たとえば、気に入った曲を1万曲までしか保存できないのは本当に信じがたい。仕方がないのでプレイリストとして保存するため、私のアカウントには数千のプレイリストが並んでいる。

 

もう一つ気になるのが、リピート再生がいつの間にか解除されることである。私はアルバムを再生したら、いつまでも繰り返し再生して欲しい。標準では、アルバムやプレイリストの再生が終わると勝手に別の曲が始まるが、これは設定でオフにできる。しかしそうすると、アルバムやプレイリストが終わったとき、無音になってしまう。毎日毎日、何回も何回もリピート再生のボタンを押しているのだが、いつの間にか解除されている。

 

というところで、解決法を見つけた。まずSpotify for Developersにログインし、適当なアプリを作る。これでClient IDとClient Secretが手に入る。リダイレクトURLが必要だが、http://localhost/などにしておけばよろしい。

https://developer.spotify.com/dashboard/login

 

次にspotipyという冗談のような名前のPython用Spotify Web APIのライブラリを導入する。

https://github.com/plamere/spotipy

 

自分のUser IDを調べて、以下のようなスクリプトを書く。User IDは自分のプレイリストをシェアするとURLに出てくる。USER_ID、CLIENT_ID、CLIENT_SECRETはこれまでに入手した情報で適宜置き換える。

 

import sys
import spotipy
import spotipy.util as util
scope = 'user-read-playback-state user-modify-playback-state'
token = util.prompt_for_user_token(USER_ID,scope,client_id=CLIENT_ID,client_secret=CLIENT_SECRET,redirect_uri='http://localhost/')
sp = spotipy.Spotify(auth=token)
results = sp.repeat("context")

 

これを一度起動すると特定のURLを踏んで、リダイレクト先のコードを返すように言われる。適当なブラウザでURLを開き、戻ってきたコードをスクリプトに渡す。これで今後の認証が不要になる。

 

あとはご家庭で常時起動しているRaspberry Piのcronなどで定期的に動かせば良い。私は30分に1度起動するようにした。これでSpotifyは永遠にリピート再生される。人類の勝利である。

 

2019/02/28 - 2019/03/01

ツイート このエントリーをはてなブックマークに追加

この文章は小関悠が書いた。特に明記のない限り、私と関係がある、もしくは関係のない、組織や団体の意見を示すものではない。

その他のコラム

問題は広告が炎上することよりも、炎上の覚悟がないこと
年始から広告・プロモーションの炎上が続いている。具体的な話にはあまり踏み込みたくないが、例えばそごう、ロフト、グリコ、トヨタ、女子ハンドボール選手権、小学館などである。……

完璧な組織を作るむずかしさ、あるいは優先順位の問題
不思議なことだが、技術力のすごい会社というのは、往々にしてマーケティングが下手である。逆に、マーケティングのうまい会社は、だいたい技術力がそれに伴ってなかったりする。「あっちの会社の技術に、こっちの会社のマーケティングがあれば最強なのに」みたいな業界話はいろいろなところで聞くのではないだろうか。……

PayPayと前澤社長、お金のバラまきから学ぶこと
簡単なほうから始めるけど、ZOZOの前澤社長から学べることはない。……

そごうの広告と、広告がジェンダーを語る覚悟について
元旦、横浜へ遊びに行って、そごうに寄ったら、女性の顔にクリームがぶつけられている、インパクトのあるポスターを目にした。……