できること
共同司会には2つの利用方法があります。継続的に会話する音声パートナーのページ: cohost.htmlと、承認した文を次へ送るドックの手動操作です: cohost-overlay.html.
ドックの操作
ステージオーバーレイが接続されたら、ドックのチャットメッセージを右クリックして次を選びます: 共同司会(Co-host)。ドックからメッセージを読み上げたり、AIに回答を作らせたり、軽いツッコミの下書きを作成したりできます。
AIステージオーバーレイ
オーバーレイはアバターと吹き出しを表示し、必要に応じてブラウザの読み上げ音声を再生します。OBSに追加するブラウザソースは、このページです。
非公開チャットボット(Private Chat Bot)
AnswerとLight Roastは、Private Chat Botブリッジ経由で設定済みLLMプロバイダーを使用します。ReadにAIは不要です。
マルチモーダル共同司会
cohost.html は、同じ値で開くとSSNのライブチャットフィードに接続します: session。初期設定のコンテキスト専用モードでは、AIが最近の視聴者メッセージを記憶し、配信者に尋ねられたときにその内容について話します。
ドックの右クリックによる共同司会の設定
- 自分のセッションでStreaming Chatドックを開きます:
dock.html?session=YOUR_SESSION_ID. - AIステージオーバーレイをOBSに追加します:
cohost-overlay.html?session=YOUR_SESSION_ID。追加する項目:&ttsはテキスト応答の操作を行う場合だけ使います。 - AIの回答には、ポップアップでLLMプロバイダーを設定します。手早く試すには次を選びます: SSNホスト型試用LLM(SSN Hosted Trial LLM)。この処理では次を使います:
llm.socialstream.ninja. - 有効化 チャットボットとAIサービス > チャットボット - 非公開インターフェース > 非公開チャットボットを有効化(Chat Bots and AI services > Chat Bot - Private Interface > Enable private chat bot option).
- ドックのメッセージを右クリックして次を選択します: 共同司会(Co-host)。ステージオーバーレイが検出されるまで、このメニューは表示されません。現在、ドックのメッセージ行ではキーボードからこのコンテキストメニューを開けません。キーボードで操作する場合は、次のページの文字入力欄または音声操作を使えます:
cohost.html.
cohost.html の操作ページを開き、カメラとマイク、AIプロバイダー、システム指示を設定し、Live Chat状態パネルを確認します。ヒント: 同じ値を使います: session をドックと共同司会オーバーレイで一致させます。 &tts はテキストオーバーレイを使う操作に適用されます。コントローラーのネイティブ音声が有効なとき、SSNはオーバーレイの重複した読み上げを抑止します。 &forcetts は、この保護を意図的に解除します。
シンプルなAIの選択肢
llm.socialstream.ninja の利用場所: SSNホスト型試用LLM(SSN Hosted Trial LLM) を、試用サービスが利用できる間の簡単な無料テスト手段として選べます。
- 開く項目: チャットボットとAIサービス > LLMサービスプロバイダーの設定(Chat Bots and AI services > Configure LLM Service Provider).
- 選択する項目: SSNホスト型試用LLM(実験的).
- 既定の試用設定では、エンドポイント、トークン、モデルを空欄にします。
- 継続して利用する場合、試用サービスが無効またはレート制限中なら、自分のトークンまたはローカルプロバイダーを使ってください。
音声会話への対応
- OpenAI Realtime: 次のページで選択したマイクを送信します:
cohost.htmlから直接OpenAIへ送信し、ネイティブな音声対音声の会話を1つ作成します。音声会話とライブチャットの文脈は、同じ共同司会セッションに保持されます。 - SSNデスクトップ版: ローカルWhisperを使い、次のページで選択したマイクを使用します:
cohost.html。初回は約42 MBをダウンロードし、その後の文字起こしはオフラインで動作します。 - Chrome / Chrome拡張機能のリンク: 拡張機能は、ホストされている共同司会ページをChromeのタブで開きます。OpenAI Realtimeは有効期間の短いクライアントシークレットとWebRTCを使用します。テキスト応答型のプロバイダーはChrome Speech Recognitionを使用し、インターネット接続が必要な場合があります。
- その他のブラウザ: 音声認識の動作は保証されません。音声認識が使えなくても、共同司会への文字入力、ライブチャット入力、カメラ・画面入力、設定済みLLMの応答は利用できる場合があります。
OpenAI Realtimeでは、Diagnosticsに次の表示が出るはずです: 聞き取り中(OpenAI WebRTC)。Desktop Whisperの場合、次の表示になるはずです: 聞き取り中(Desktop Whisper) と表示され、認識したテキストは次の欄に出ます: 認識した発言(Heard).
プライバシー: 選択したマイク、明示的に選択したカメラ・画面の画像、選んだLive Chatモードで共有する視聴者メッセージは、そのAIプロバイダーに送信されます。視聴者メッセージは信頼できない文脈として扱われ、共同司会ツールの使用を承認できません。生成された共同司会コントローラーのリンクはポップアップから開き、非公開にしてください。その非公開権限は12時間で失効し、現在のSSNセッションに限定され、ページ読み込み後にアドレスバーから削除されます。
OpenAI Realtimeの設定
- SSNポップアップで次を選びます: ChatGPT APIを選択してOpenAIプロジェクトのAPIキーを追加し、次を使います: 選択したチャットボットをテスト.
- 生成された次のリンクを開きます:
cohost.html?session=YOUR_SESSION_IDのリンクをポップアップから開きます。非公開で期限付きの共同司会用権限により、別機能のPrivate Chat Botを有効にせずRealtimeを使えます。 - 選択する項目: OpenAI Realtime。通常のキーはSSN拡張機能・デスクトップアプリのバックグラウンドに保持されます。共同司会ページには短時間だけ有効なRealtimeクライアントシークレットのみが渡されます。
- 自分が話すマイクを明示的に選択し、次の設定を維持します: 音声応答(Audio Response) を選択した状態で、次のボタンを押します: 共同司会を開始(Start Co-host).
- 任意:Video sourceを次の設定のままにします: 映像なし(No Video) (初期設定)を使うか、明示的に次を選びます: 画面共有(Screen Share) またはカメラを選びます。OpenAIには連続した映像ではなく、直接の音声・文字による依頼ごとに現在の画像が1枚送られます。API料金と遅延が増える場合があります。
- Live Chatは次の設定にしておきます: コンテキストのみ — 尋ねられたときに回答(Context only - answer when asked)。「チャットでは何と言っている?」と尋ねると、同じ音声AIが最近の視聴者メッセージについて話します。
- 共同司会のブラウザ・アプリの音声をOBSで取り込みます。OpenAIのネイティブ音声が再生される場所は次のページだけです:
cohost.html;cohost-overlay.htmlにはアバターとテキストが届きますが、同じ音声ストリームは届きません。対応している場合は、次の項目で仮想ケーブルを選びます: 共同司会の出力 を使うと、OBSの音声経路を分離できます。 - AIの応答が音声だけにならないよう、ステージオーバーレイの吹き出しを表示するか、字幕を用意してください。
OpenAI APIの料金が適用され、WebRTCで1つのSSN Realtime会話を作成します。次とは別の会話です: chatgpt.com。応答は最大512出力トークンです。Diagnosticsには累計トークン使用量と、最初の出力までの実測遅延が表示されます。配信者が割り込むと、OpenAIは未再生の音声を自動で切り捨てます。SSNは直近20件までのチャットメッセージを最大90秒間保持します。有料サポート、メンバーシップ、モデレーター、イベント、ソースチャンネルの文脈も含まれ、その後一時的な文脈を削除します。SSNは静かなセッションの状態を確認し、失敗した接続を再接続し、60分の制限に達する前にセッションを切り替えます。復旧したセッションではシステム指示と性能設定が再適用されますが、以前の音声会話は引き継がれません。
OpenAIの速度・品質・コスト
- モデル: 通常、Miniは高速で低コストです。Full qualityは能力が高く、料金も高くなります。
- 推論の強度: 通常、MinimalまたはLowでは応答の遅延と課金対象の出力使用量が減ります。HighまたはExtra highは複雑な回答を改善できる一方、遅くなり料金が増える場合があります。変更は接続中にも適用されます。
- 発話交代の速度: Fastは発言の区切りを最大約2秒、Balancedは約4秒、Patientは約8秒待ちます。Fastは反応が速く感じられますが、自然な間を遮ることがあります。
- 診断(Diagnostics): Latencyは発言の終了から最初のテキストまたは音声までの時間を表示し、可能な場合はモデルの遅延を分けて示します。似たリクエストでも、ネットワークやプロバイダーの負荷によって変動します。
任意の配信操作
OpenAI Realtimeは、以下のSpotify、OBSシーン、注目チャットのツールに対応しています。SSN Configured LLMは現在Spotifyのみ対応しています。他の共同司会プロバイダーでは、これらのツールはまだ使えません。
- SSNポップアップでは、使いたい共同司会ツールだけを有効にします。Spotify、OBSシーン、注目チャットから選べます。
- OBSでは、許可するシーンの正確な名前をカンマ区切りで入力し、次の設定を維持します:
actions.htmlをOBSに接続するか、Full Permissionsを付けたOBSブラウザソースを使ってください。 - 次のページで:
cohost.htmlで、次を開きます: 共同司会の配信操作 を開き、そのコントローラーでも同じツールを使用可能にします。 - 「BRBに切り替えて」「最後のメッセージを取り上げて」「注目チャットを消して」など、直接依頼してください。視聴者メッセージはツール使用を承認できません。配信を変更するツールは、配信者からの直接の依頼1回につき1つだけ実行されます。
ツールは許可リストに基づいて使われ、汎用的なAPIアクセスではありません。OBSで選択できるのはSSN設定に登録したシーンだけです。注目表示の依頼には最近取り込んだチャットメッセージを使い、Streaming Chatドックが必要です。ツールの応答は送信結果を示すもので、OBSやオーバーレイが操作を完了した証明ではありません。
ページ間の連携
ドックとオーバーレイは、既存のSocial Streamセッションブリッジを使います。メッセージの送信形式は overlayNinja というペイロードで、ラベルにより送信先を指定します。
共同司会で読み上げ(Read on Co-host): では、ドックが選択したチャットメッセージを直接送信します。送信先: cohost-overlay.html.
回答 / 軽いツッコミ(Answer / Light Roast): では、ドックがSSNのバックグラウンドサービスに非公開チャットボットのリクエストを送り、AIの下書きをドックに表示します。配信者がSpeakをクリックして初めて、オーバーレイに送信します。
{
"action": "cohostOverlay",
"target": "cohost-overlay",
"meta": {
"command": "say",
"text": "The line the avatar should say",
"speak": true,
"emotion": "happy"
}
}
利用できる操作
| 操作 | 必要なもの: | 結果 |
|---|---|---|
| 共同司会で読み上げ(Read on Co-host) | 接続済み(Connected) cohost-overlay.html |
選択したチャットメッセージをオーバーレイで読み上げます。 |
| 回答(Answer) | Private Chat Bot + 設定済みLLMまたはHosted Trial LLM | 配信者が承認するための短い回答案を作成します。 |
| 軽いツッコミ(Light Roast) | Private Chat Bot + 設定済みLLMまたはHosted Trial LLM | 配信者が承認するための、短く遊び心のある、子どもにも適した下書きを作成します。 |
| 読み上げ(Speak) | 承認パネルの下書き | 承認したテキストをAIステージオーバーレイに送信します。 |
| コピー | 承認パネルの下書き | オーバーレイには送らず、下書きをコピーします。 |
状態とトラブル対処
- Co-hostメニューがない場合、同じセッションで共同司会オーバーレイが検出されていません。
- AnswerまたはLight Roastが無効な場合、SSNブリッジまたはPrivate Chat Botを利用できません。
- メインチャットボットのオーバーレイスイッチは任意であり、ドックの右クリックによる共同司会操作を有効にするものではありません。
- 次の場合:
cohost.htmlがチャットを受信しない場合は、URLの次の値が同じか確認してください:sessionがポップアップと同じで、Live ChatがContext、Questions、Allのいずれかであることを確認してください。 - コンテキストのみ(Context only) は現在、OpenAI Realtimeの場合だけチャットをAIと共有します。他のプロバイダーはフィードを監視しますが、モデルには渡しません。
- マイクをミュート は共同司会への音声送信を止めます。 共同司会の声をミュート、音量スライダー、出力デバイス選択欄、および 読み上げを停止 で再生を制御します。 共有システム音声をミュート は別の設定で、画面入力に対応するプロバイダーで表示されます。
- 配信操作ツールが使えない場合は、SSNポップアップと次の場所の両方で有効にしてください: 共同司会の配信操作。OBSでは、許可リストに少なくとも1つ、正確なシーン名を指定する必要もあります。
- 使う項目: オーバーレイをテスト(Test overlay) で無害なテスト文を表示し、OBSのAIステージオーバーレイに出ることを確認してください。
- 共同司会がチャットの内容を知っているのに話さない場合、次のモードでは正常です: コンテキストのみ(Context only)では、チャットの内容を尋ねてください。QuestionsまたはAllでは共同司会ページから自動応答を音声で再生しますが、その応答をYouTube、Twitch、Kickのチャットには投稿しません。
- デスクトップ版で次の表示になる場合: 聞き取り中(Desktop Whisper) と表示されても、次の欄が埋まらない場合: 認識した発言(Heard)と表示される場合は、選択したマイクがミュートされていないことを確認し、初回のモデルダウンロードが終わるまで待ってください。
- Chromeで次の欄がいつまでも埋まらない場合: 認識した発言(Heard)が入力されない場合は、マイクの使用を許可し、OSの既定のマイク、インターネット接続、Chrome Speech Recognitionが利用可能かを確認してください。
- OpenAI Realtimeのテキストは出るのに音声が再生されない場合は、次を確認してください: 音声応答(Audio Response)、ブラウザの音声権限、OBSでのブラウザ・アプリ音声の取り込みを確認してください。使用する項目:
&ttsは、別のテキストオーバーレイの操作を行う場合だけ使います。 - OpenAI Realtimeの応答が遅い場合は、Mini、推論のLow、発話交代のFastを試し、DiagnosticsのLatency行を比較してください。推論を高くしたり発話交代をPatientにしたりすると、意図的に速度を抑え、深い回答や長い間を優先します。
- OpenAI Realtimeが切断された場合は、再試行中も共同司会を起動したままにしてください。Diagnosticsで、データ、ピア、プロバイダー、稼働確認のどこに問題があるか確認できます。復旧したセッションは選択済みのシステム指示と性能設定を維持しますが、以前の音声会話は復元できません。
- Answer、Light Roast、SSN Configured LLMのリクエストがタイムアウトする場合は、Social Streamがオンで、セッションが一致し、Private Chat Botが有効で、選択したLLMプロバイダーに接続できることを確認してください。OpenAI RealtimeにPrivate Chat Botは不要です。
- Local Gemmaが既定のアセットホストからモデルをダウンロードできない場合は、自分でミラーしたGemmaフォルダーをアセットホストに指定してください。
- ホスト型試用AIが応答しなくなった場合は、無効化またはレート制限の可能性があります。自分のトークン、Ollama、Custom APIに切り替えてください。
- 複数のオーバーレイを開いている場合は、オーバーレイのラベルとドックの送信先を一致させてください。既定のラベルは
cohost-overlay.
便利なURLパラメーター
session=YOUR_SESSION_ID- ドックとオーバーレイで同じルームを共有するために必要です。ttsまたはspeak=1- オーバーレイでブラウザの読み上げを使います。forcetts- 共同司会コントローラーがすでに音声を再生していても、オーバーレイの読み上げを許可します。意図的に2つ目の音声を再生する設定です。label=cohost-overlay- オーバーレイの送信先ラベルを設定します。name=NinjaBot- オーバーレイ上の表示名を設定します。avatar=https://...- 独自のアバター画像を使います。position=bottom-right- ステージの配置を制御します。scale=1.2- オーバーレイを拡大・縮小します。status- オーバーレイに接続・状態のテキストを表示します。
設計上の補足
- ドックや手動テキストの操作では、オーバーレイが表示と任意の読み上げの出力元になります。OpenAIのネイティブ音声を使う場合、音声を取り込む元は
cohost.htmlの音声を別途取り込んでください。ステージオーバーレイは、そのWebRTC音声を再生しません。 - ドックが操作画面となるため、配信者の承認操作は配信に映りません。
- 生成された応答は自動では読み上げられません。配信者が先に承認する必要があります。
- 非標準のコマンド詳細は次の中に格納されます:
meta内に置くことで、オーバーレイや自動化向けのペイロードを一定の形式に保ちます。