Music DJ: Spotify、YouTube、ローカルの音楽

Music DJは、シーンに合った背景音楽を流します。このガイドでは、Spotify、YouTube、手元の音声ファイルをつなぐ方法、音楽プレイヤーの使い方、Game ModeとConversationで音楽を使う方法を説明します。

Music DJとは

Music DJは、任意でダウンロードするエージェントです。エージェントとは、チャットの裏側で動くヘルパーです。Music DJは返信のたびにシーンの雰囲気を読み取り、それに合った音楽を流せます。

始める前に: Agents(エージェント)を開き、Agent Organizerを選んでMusic DJをインストールしてください。インストール直後はオフです。ほかのエージェントと同じように、チャットごとにオンにします。Roleplayのチャットで使えるほか、Game Modeでは専用のトグルで(Game ModeでのMusic DJ)、ConversationではMusicコマンドで(ConversationのMusicコマンド)使えます。

再生するソースは3つあります。

ソース必要なアカウント費用向いている用途
Spotify自分のSpotifyアカウントと、再生用のSpotify Premium設定は無料、再生にはPremiumが必要自分のデバイスで、実在の曲を曲名どおりに流す
YouTube無料のGoogle APIキー無料ログインもPremiumも不要で再生する
Custom不要無料自分の音声ファイルを流す

有効なソースは、上部バーに固定される小さなMusic Player(音楽プレイヤー)として表示されます。スマートフォンや幅の狭いウィンドウでは、ドラッグして動かせる小さな丸いウィジェットになります。

Music DJの設定は、共通の1か所で行います。右側のAgentsパネルを開き、Music DJを開きます。ミニプレイヤーの歯車アイコン(ツールチップはMusic DJ setup)をクリックしても開けます。

音楽ソースの選択

Music DJの編集画面では、Music Player欄にSpotify、YouTube、Customの3つのボタンがあります。その下の行に、現在動いているものが表示されます。たとえば「Visible player: Spotify. Saved provider: Spotify.」のように表示されます。この選択はアプリ全体で共有され、チャットごとには保存されません。

Spotifyの設定

Spotifyでは、自分で作る無料のSpotifyデベロッパーアプリを使います。貼り付けるのはSpotify Client IDだけです。クライアントシークレットはありません。

  1. Music DJの編集画面で、Spotify Connectionを探します。
  2. アプリに表示されるリンクからSpotify Developer Dashboardを開きます。
  3. 新しいアプリを作成し、「Web API」を選びます。
  4. そのアプリのRedirect URIsに、アプリ内の設定ボックスの手順3でMarinaraが表示するリダイレクトアドレスを、そのまま追加します。リダイレクトアドレスとは、ログイン後にSpotifyが戻る先のアドレスです。
  5. Client IDをコピーし、Spotify Client IDに貼り付けます。
  6. エージェントを保存し、Connect Spotify Account(Spotifyアカウントの接続)をクリックします。

Spotifyのログインと許可のウィンドウが開きます。許可すると、短い成功ページが表示されて閉じます。Marinaraには、緑色のConnected to Spotifyのバッジが表示されます。Disconnect(接続を解除)を押すと、保存した接続が削除されます。

Note: 再生、一時停止、スキップ、音量の操作には、Spotify Premium(有料プラン)が必要です。無料のアカウントでも接続はできます。トークンは自動的に更新されます。

うまくいかなかった場合: 別のコンピューターでは、ログインウィンドウが失敗することがあります(下記を参照)。それ以外の場合は、リダイレクトアドレスが完全に一致しているかを確認してください。

Spotifyのデバイス

Spotifyは、スマートフォン、デスクトップのSpotifyアプリ、アプリ内プレイヤーなどのデバイスを通じて再生します。

別のコンピューターで動かしているSpotify

Spotifyが受け付けるリダイレクトアドレスは、安全なhttps://か、ループバックアドレスのhttp://127.0.0.1(同じコンピューター)だけです。Marinaraを別のコンピューターで、暗号化なしのhttpで動かしている場合、ログインウィンドウが失敗することがあります。対処法は2つあります。

SPOTIFY_REDIRECT_URI=https://your-address/api/spotify/callback

サーバー設定リファレンスを参照してください。

Spotifyが曲を選ぶ範囲を決める(Roleplay)

Music DJがRoleplayのチャットで動いているとき、そのカードにはSpotify source(Spotifyのソース)の一覧があります。

YouTubeの設定

YouTubeモードには、無料のYouTube Data APIキーが必要です。APIキーとは、Marinaraが代わりにサービスを使えるようにする秘密の文字列です。YouTubeへのログインもPremiumも必要ありません。

  1. Music DJの編集画面で、YouTube Connectionを探します。
  2. アプリのリンクからGoogle Cloud Consoleを開き、プロジェクトを作成するか、既存のものを選びます。
  3. YouTube Data API v3を有効にします。
  4. Credentials、Create credentials、API keyの順に進みます。
  5. キーをYouTube Data API Keyに貼り付けます。
  6. Save Key(キーの保存)をクリックします。ボタンの表示がUpdate Keyに変わり、緑色の「API key configured」のバッジが表示されます。Removeを押すと、キーが削除されます。

キーには制限をかけないままにするか、APIによる制限だけをかけてYouTube Data API v3に限定してください。HTTPリファラーによる制限はかけないでください。検索はサーバー側で実行されるため、リファラー制限をかけると検索が通らなくなります。アプリの説明によると、無料のクォータ(1日に約100回の検索)は個人のDJには十分です。この数値はアプリの表示によるもので、変わる可能性があります。キーはサーバーに暗号化して保管されます。

自分の音楽ファイルを使う

Customモードでは、Marinaraを動かしているコンピューターの音声ファイルを再生します。対応する形式は.mp3、.ogg、.wav、.flac、.m4a、.aac、.webmです。

Music DJの編集画面で、Custom Music Libraryを探します。ここにはUse Game Assets music folderというスイッチが1つあります。

RoleplayとGameの設定には、同じソースが表示されます。サーバーのデバイス上のフォルダーを選んだ場合は、チャットのMusic DJの設定に、そのパスとChoose Folderボタンが表示されます。

Game Assetsの外にあるフォルダーから再生するには、サーバー上でのローカルアクセスが必要です。ログインや管理用のシークレットなしで別のデバイスから使っている場合、この機能はブロックされることがあります。リモートアクセス: ログインとIP許可リストを参照してください。

音楽プレイヤーの使い方

Music Playerは、デスクトップでは上部バーの小さなバッジ、モバイルではドラッグできるウィジェットです。表示と非表示を切り替えるには、Settings → General → App Behavior(設定 → 一般 → アプリの動作)を開き、Music Playerをオンまたはオフにします。デフォルトではオンです。オンの状態でMusic DJをインストールしていないと、プレイヤーの表示はDownload Music DJ Agent to configureになり、Agent Organizerボタンが表示されます。

新しいプロファイルでは、ソースは最初YouTubeになっています。ソースは、プレイヤーの丸いソース切り替えボタン(ツールチップは「Switch to ... player」)、編集画面のMusic Playerのボタン、チャットのMusic DJ設定のどれかで変更できます。

プレイヤーには、曲のカバー画像またはサムネイル、タイトル、アーティスト名またはチャンネル名が表示されます。操作できる内容は、ソースによって変わります。

DJ Mari: AIによるプレイリスト作成

SpotifyのミニプレイヤーにあるDJボタン(「DJ Mari composes a playlist for you!」)は、テーマに沿ったプレイリストを作ります。DJ Mariは、ペルソナ、いちばんよく使うキャラクター、すべてのチャットの最近のやり取りをもとに、接続済みのAIモデルにプレイリストを作らせます。見つかった曲は、「DJ Mari」と当日の日付を組み合わせた名前の新しいSpotifyプレイリストに追加され、再生が始まります。

必要なものは2つです。

成功すると、「DJ Mari playlist is ready」とOpen playlistボタンが表示されます。

Game ModeでのMusic DJ

Game Modeには、Game Assetsを使った独自の背景音楽があります。代わりにMusic DJを使うには、Gameの設定でMusic DJトグル(「Use the Music DJ for this game instead of local music assets」)をオンにします。デフォルトではオフです。オンにすると、Roleplayと同じSpotify、YouTube、Customの選択肢と設定欄が使えます。

Spotifyの場合は、シーンのたびに、サーバーが選んだソースから実在する候補曲の短いリストを作り、AIがその中から1曲を選びます。これにより、AIが存在しない曲を作り出すことを防ぎます。Game Modeでは、一度に1曲をループ再生します。現在のシーンの曲を選び直すには、Game controls(ゲームの操作)を開き、Retry Music DJを選びます。Gameの操作を参照してください。

ConversationのMusicコマンド

Conversationでは、Music DJをエージェントとして追加できません。代わりに、キャラクターがMusicコマンドで曲を流します。

  1. チャットのCommands(コマンド)セクションを開き、親となるCommandsトグルをオンにします。
  2. Music(「Let characters play songs through the active Music Player」)をオンにします。

これで、キャラクターはSpotify向けに曲名を挙げたり、YouTube向けに曲の雰囲気を書いたりでき、Marinaraが有効なソースで再生します。Music DJをどこでも有効にしていなくても動きます。必要なのは、Spotifyの接続か、保存済みのYouTubeキーだけです。Spotifyが接続されていない場合や再生の権限がない場合、Spotify向けの曲コマンドは何も起こさず、エラーも表示しません。

トラブルシューティング

関連ガイド