Spotify
Macro Deck に同梱Spotify の再生の操作、曲のお気に入り登録、プレイリストの管理を行い、再生中の内容をデッキに表示します。
ヘッダーに Spotify の名前とロゴを表示し、曲を再生している「全面カバー」スタイルと「小さいジャケット」スタイルのミュージックプレーヤーウィジェット
- 再生、一時停止、スキップ、シーク、シャッフル、リピート、音量
- 曲やプレイリストを再生、またはボタンを押したときに選択
- 曲をお気に入りに追加し、現在の曲をプレイリストに追加
- 別の Spotify デバイスに再生を移動
- ミュージックプレーヤーウィジェットと、曲、アーティスト、進行状況の変数
Spotify 連携は、Spotify Web API を通じて Macro Deck を Spotify アカウントに接続します。デスクトップアプリ、スマートフォン、スピーカーなどの Spotify Connect デバイスなど、そのアカウントで Spotify が再生している場所ならどこでも再生を操作できます。Spotify が Macro Deck と同じコンピューターで動いている必要はありません。
接続するには、Spotify Developer Dashboard で自分用の小さなアプリを作成し、その クライアント ID と クライアントシークレット を Macro Deck に入力します。その後 Macro Deck が Spotify のログインを開くので、一度だけアクセスを許可します。Web API で再生を操作するには Spotify Premium が必要です。これは Macro Deck ではなく Spotify のルールです。
できること
- 再生、一時停止、スキップ、シーク、シャッフルのオンとオフ、リピートモードの設定、音量の変更。
- 特定の曲やプレイリストを再生する。選択を空欄にすると、ボタンを押したときに Macro Deck が選ぶよう求めます。
- 特定のデバイスで再生を開始する、または再生を別のデバイスに移して、再生または一時停止のまま続ける。
- 現在の曲をお気に入りの曲に追加または削除する、プレイリストに追加または削除する。
- ミュージックプレーヤー ウィジェットに、カバー、進行状況、再生とスキップのボタンとともに再生中の内容を表示する。
spotify_current_track_nameなどの変数をボタンのラベルに使い、スライダーをspotify_volumeやspotify_current_positionにバインドする。
設定例:
- 音楽が再生中か一時停止中かを表示する Toggle Play/Pause ボタン。
- 現在の曲がお気に入りの曲に入っているかを表示する、お気に入りの曲の切り替え を設定したハートのボタン。
- Transfer Playback で再生をコンピューターからリビングのスピーカーに移すボタン。
spotify_volumeにバインドしたスライダー。音量に追従し、ドラッグすると音量が変わります。
動作のしくみ
Macro Deck は、音楽の再生中は約 3 秒ごと、一時停止中は 5 秒ごと、何も再生していないときは 10 秒ごとに Spotify に再生状態を問い合わせます。Spotify アプリでの変更は、その間隔のうちに反映されます。アクセストークンはバックグラウンドで更新されるので、サインインし直すのは Spotify がアクセスを取り消したときだけです。Spotify がリクエスト数を制限したり応答しなかったりすると、Macro Deck は一時停止して最後の状態を保持し、再開できるまで 連携 の Spotify のページに問題を表示します。接続できる Spotify アカウントは 1 つです。
必要なもの
- Spotify Premium アカウント。Spotify は Premium アカウントにしか Web API での再生の操作を許可していません。
- クライアント ID とクライアントシークレットを取得するための、Spotify Developer Dashboard 上の自分用のアプリ。
- Spotify のログイン用に、Macro Deck を実行しているコンピューター上の Web ブラウザ。
- 操作する対象として、1 台以上のデバイスで開いている Spotify。
セットアップ
ステップ 1: Spotify Developer Dashboard でアプリを作成する
developer.spotify.com/dashboard で Spotify Developer Dashboard を開き、サインインして新しいアプリを作成します。名前と説明は何でもかまいません。
ステップ 2: Macro Deck でセットアップを開始する
Macro Deck のサイドバーで 連携 をクリックし、Spotify をクリックします。概要 タブの 設定 セクションで セットアップ をクリックします。右上のスイッチをオンにしても同じダイアログが開き、セットアップが完了すると連携が有効になります。Spotify に接続 ダイアログに、コピーボタン付きの リダイレクト URI が表示されます。
ステップ 3: Spotify アプリにリダイレクト URI を追加する
Spotify アプリの設定に、Macro Deck に表示された リダイレクト URI を表示どおりに追加して保存します。
ステップ 4: クライアント ID とクライアントシークレットを入力する
Spotify アプリの Client ID と Client Secret をコピーし、Macro Deck の クライアント ID と クライアントシークレット の欄に貼り付けます。次に 続行 をクリックします。
ステップ 5: ブラウザでアクセスを許可する
Macro Deck がブラウザで Spotify のログインを開き、ダイアログに 認可を待っています… と表示されます。Premium アカウントでサインインしてアクセスを許可し、Macro Deck に戻ります。セットアップは自動で続行し、設定には Spotify (Alex) のように Spotify アカウントにちなんだ名前が付きます。ダイアログに セットアップが完了しました。 と表示されたら、完了 をクリックします。
ステップ 6: ボタンにアクションを追加する
デッキ ページで、使いたいボタンをクリックします。デッキのロックが解除されている必要があります。右上のボタンに ロック と表示されていれば解除されています。エディターが開き、短押し が選択されています。+ アクションを追加 をクリックし、アクションを追加 ダイアログの左側で Spotify を選択して、Toggle Play/Pause などのアクションを選びます。次に 保存 をクリックします。
ステップ 7: ボタンを押す
いずれかのデバイスの Spotify で何かを再生してから、デッキのボタンを押します。再生が一時停止または再開されます。
アクション18
ボタンに設定したり、フローから実行したりできます。
- Play
- 再生を再開します。
- Pause
- 再生を一時停止します。
- Toggle Play/Pause
- 再生と一時停止を切り替え、再生状態をボタンに表示します。
- Next Track
- 次の曲にスキップします。
- Previous Track
- 前の曲にスキップします。
- Refresh State
- Spotify に現在の再生状態をすぐに問い合わせます。
- Set Volume
- 再生しているデバイスの音量を 0 から 100% の範囲で設定します。
- Volume Up
- 音量を 10% 上げます。
- Volume Down
- 音量を 10% 下げます。
- Seek
- 現在の曲の指定した位置 (秒) にジャンプします。
- Toggle Shuffle
- シャッフルをオン、オフ、または切り替え、オンかどうかを表示します。
- Set Repeat Mode
- リピートを Off、Repeat Track、Repeat Album/Playlist のいずれかに設定します。
- Play Track
- 検索した曲やお気に入りの曲から選んだ曲を再生します。アクションの実行時に選ぶよう求めることもできます。
- Play Playlist
- 自分のプレイリストや検索したプレイリストを再生します。アクションの実行時に選ぶよう求めることもできます。
- Play on Device
- 特定の Spotify デバイスで再生を開始します。アクションの実行時に選ぶよう求めることもできます。
- Transfer Playback
- 再生を別のデバイスに移し、再生または一時停止のまま続けます。
- お気に入りの曲の切り替え
- 現在の曲やエピソードをお気に入りの曲に追加または削除し、お気に入りかどうかを表示します。
- プレイリストに追加または削除
- 現在の曲やエピソードをプレイリストに追加または削除し、そのプレイリストに入っているかどうかを表示します。
トリガー8
ボタンやフローがこれらのイベントに反応できます。
- トラック変更
- 別の曲の再生が始まりました。タイトル、アーティスト、アルバムが含まれます (ミュージックプレーヤー カテゴリにあります)。
- 再生開始
- 再生が始まったか、再開しました (ミュージックプレーヤー カテゴリにあります)。
- 再生の一時停止
- 再生が一時停止されました (ミュージックプレーヤー カテゴリにあります)。
- 再生停止
- 再生が停止しました (ミュージックプレーヤー カテゴリにあります)。
- 再生デバイス変更
- 再生が別のデバイスに移りました (ミュージックプレーヤー カテゴリにあります)。
- 音量変更
- 音量が変わりました。新しい値と以前の値が含まれます (ミュージックプレーヤー カテゴリにあります)。
- プレーヤー接続
- Spotify に接続できるようになりました (ミュージックプレーヤー カテゴリにあります)。
- プレーヤー切断
- Spotify に接続できなくなりました (ミュージックプレーヤー カテゴリにあります)。
変数19
これらの値をボタンやウィジェットに表示したり、条件に使ったりできます。
spotify_current_track_name- 再生中の曲のタイトルです。
spotify_current_artist- 現在の曲のアーティストです (カンマ区切り)。
spotify_current_album- 現在の曲のアルバムです。
spotify_playback_state- 再生状態です。
playing、paused、stoppedのいずれかです。 spotify_is_playing- 今音楽を再生しているかどうかです。
spotify_volume- 音量 (パーセント) です。スライダーなどで設定することもできます。
spotify_track_duration- 現在の曲の長さ (秒) です。
spotify_current_position- 曲を再生済みの位置 (秒) です。設定するとシークできます。
spotify_progress_percentage- 曲を再生済みの割合 (パーセント) です。
spotify_album_art_url- Macro Deck での現在のカバーのアドレスです。
spotify_device_name- 再生しているデバイスの名前です。
spotify_device_type- コンピューターやスピーカーなど、再生しているデバイスの種類です。
spotify_shuffle_enabled- シャッフルがオンかどうかです。
spotify_repeat_mode- リピートモードです。
off、track、contextのいずれかです。 spotify_is_connected- Macro Deck が Spotify に接続でき、使えるセッションがあるかどうかです。
spotify_current_track_url- 現在の曲の Spotify のリンクです。
spotify_current_track_is_liked- 現在の曲がお気に入りの曲に入っているかどうかです。
spotify_top_track,spotify_top_artist- 最もよく再生した曲とアーティストです。
spotify_top_tracks,spotify_top_artists- 最もよく再生した曲とアーティストの一覧です。
ウィジェット1
ウィジェットの選択画面からデッキに追加できます。
- ミュージックプレーヤー
- Spotify が再生している曲、アーティスト、カバーを、進行状況と再生、一時停止、スキップのボタンとともに表示します。
よくある質問
なぜ Spotify Premium が必要なのですか?
Spotify は Premium アカウントにしか Web API での再生の操作を許可していません。無料アカウントでは Spotify がコマンドを拒否し、Macro Deck は 連携 の Spotify のページに Spotify Premium が必要です という問題を表示します。これは Macro Deck ではなく Spotify の制限です。
なぜ自分の Spotify アプリを作成する必要があるのですか?
Macro Deck は、自分が所有するアプリの Client ID と Client Secret を使って Spotify と通信します。Spotify はアプリごとにリクエストを数えるので、デッキの上限を他のユーザーと共有することはありません。アプリの作成は無料で、Spotify Developer Dashboard で 1 分ほどで済みます。
Spotify は Macro Deck と同じコンピューターで動いている必要がありますか?
いいえ。Macro Deck はインターネット経由でアカウントを操作するので、スマートフォンや Spotify Connect スピーカーなど、そのアカウントで再生しているどのデバイスの Spotify でも操作できます。Play on Device と Transfer Playback でデバイスを選べます。
複数の Spotify アカウントを接続できますか?
いいえ。この連携が対応している設定は 1 つです。再設定 を選ぶと別のアカウントに置き換わりますが、ボタンとウィジェットはそのまま使えます。
Spotify にリクエストを制限されていると表示されます。どうすればよいですか?
アプリの認証情報で行われたリクエストが多すぎると、Spotify は応答を止めます。Macro Deck はリクエストを一時停止し、再開するときに知らせます。この上限は同じ Client ID を使うすべてのアプリケーションに共通なので、それを使っている他のアプリを閉じると、たいていは解決します。
Spotify の認証情報はどこに保存されますか?
Client Secret と Spotify が発行するトークンは、Macro Deck を実行しているコンピューター上に暗号化して保存され、Spotify にだけ送られます。Spotify のパスワードを Macro Deck に入力することはなく、サインインは Spotify の Web サイトで行います。
音楽とオーディオのその他の連携
YouTube Music Desktop App
Macro Deck に同梱デッキから YouTube Music Desktop App の再生、音量、評価を操作し、再生中の内容を表示します。
WebNowPlaying
Macro Deck に同梱WebNowPlaying 拡張機能を通じて、ブラウザで再生中の音楽や動画を操作し、再生中の内容を表示します。
Jellyfin
Macro Deck に同梱デッキから Jellyfin のアプリやテレビを操作し、再生中の内容を表示して、再生の開始や停止に反応します。
SoundPad
Macro Deck に同梱SoundPad のリストからサウンドを再生し、録音を操作して、再生中のサウンドをデッキに表示します。
Voicemeeter
Macro Deck に同梱デッキから Voicemeeter、Banana、Potato のゲイン、ミュート、ルーティング、マクロボタンを操作します。