PlayFab パーティーの音声からテキストへの変換 (STT) およびテキスト表示の UX ガイドライン

PlayFab パーティー ライブラリは、アクセシビリティの高いゲーム チャット オプションを通じて、より多くのプレイヤーを引き付ける力をゲーム作成者に提供します。 このオプションでは、ボイス チャットの内容がテキストに書き起こされ、テキスト入力では合成音声に変換される手段を提供します。 これらの機能のカスタム UI ソリューションをタイトルに実装できます。 Xbox と Windows では、プラットフォーム API を使用して関連する UI を実装できます。

このドキュメントは、音声からテキストへの変換 (STT) と音声合成 (TTS) の実装の UX ソリューションを扱う 2 部シリーズの第 2 部です。 第 1 部では、音声合成 (TTS) の実装、要件、コンソール、PC UI ソリューションに焦点を当てていますが、このトピックでは音声からテキストへの変換 (STT) の実装、要件、コンソール、 PC UI ソリューションに焦点を当てています。

音声合成 (TTS) および音声からテキストへの変換 (STT)

次のチャートでは、音声テキスト変換とテキスト音声変換の機能を有効にしたときにプレイヤーが体験するシナリオについて順を追って説明します。 ゲーム エクスペリエンスの 3 つのステージ (初期セットアップ、ゲームのプレイ、ゲーム チャットへの参加) におけるユーザーへの影響の概要を示しています。

エクスペリエンス ステージ 設定 プレイ チャット Message
目標 ユーザーが設定を有効にする ユーザーがマルチプレイヤー ゲームに入る ユーザーが通信を送信する ユーザーが通信を受信する
アクション 音声テキスト変換

音声応答を聞くための代替手段
ゲームを起動する

MP ロビーに入る

ゲーム チャットが開始したときにオーバーレイが開く
ユーザーが話す STT チャット オーバーレイでテキストに変換されたチームの音声応答をユーザーが読む
テキスト音声合成

音声応答を話すための代替方法
ゲームを起動する

MP ロビーに入る

ゲームにテキスト入力の方法が表示される (キーボード、入力フィールドなど)
ユーザーがプラットフォームでサポートされている入力方式を使って返信を入力する

入力したメッセージが合成音声に変換される
ユーザーがチーム メンバーの音声応答を聞く
UI ナレーション (ゲーム内)

ゲーム内のメニューとテキストの返信を読むための代替方法
Xbox OS の合成音声によってゲームの起動がユーザーに求められる

ゲームがテキスト音声合成 API を使ってメニュー オプションをナレーションし、ユーザーを MP ロビーに誘導する
テキスト メッセージング システムの場合: ゲームが音声合成 API を使用して、ユーザーに Xbox OS キーボードの起動を案内する テキスト メッセージング システムの場合: ゲームが音声合成 API を使用して返信をナレーションする
ナレーター (Xbox OS)

Xbox メニューを読む代替方法
Xbox OS の合成音声によってゲームの起動がユーザーに求められる テキスト メッセージング システムの場合: ユーザーがメッセージを入力すると仮想キーボードでナレーションされる 該当なし

API の概要

音声からテキストへの変換 (STT)

文字起こしを有効にする

ローカル チャット コントロールに関連付けられているユーザーの着信オーディオの文字起こしは、PartyLocalChatControl::SetTranscriptionOptions() を呼び出すことによって有効にできます。 操作が完了すると、非同期操作が成功したかどうかを示す によって PartyManager::StartProcessingStateChanges()PartySetTranscriptionOptionsCompletedStateChange が提供されます。

文字起こしの受信

音声が、文字起こしを有効にしたローカル ユーザーに関連付けられているチャット コントロールに送信されると、オーディオが文字起こしされます。 それぞれの文字起こしは、 によって提供される PartyManager::StartProcessingStateChanges()PartyVoiceChatTranscriptionReceivedStateChange によって示されます。 スピーカー、レシーバー、および文字起こしテキストは、状態の変更で指定されます。 さらに、状態の変更によって、文字起こしテキストが Hypothesis または Final のどちらの語句であるかを指定します。 Hypothesis フレーズは、文字起こしテキストの反復的な絞り込みを示す文字起こしプロセスのスナップショットです。 必要に応じて、文字起こしプロセスの認知応答性を向上させるために使用できます。 Final フレーズは、ユーザーが文またはフレーズを完了した後の文字起こしプロセスの終了を表します。

文字起こしの表示

文字起こしテキストを受信すると、次の UX 設計ガイドラインに従って表示されます。 Windows::Gaming::UI::GameChatOverlayまたは Windows::Xbox::UI::Accessibility API は、それぞれ Windows または Xbox で使用して、これらのガイドラインに準拠するように設計された既定のシステム テキスト チャット UI を使用できます。

情報表示

Xbox と Windows の場合、ユーザーは、Xbox ホーム (Xbox 本体) または Xbox アプリ (Windows 10) の [設定]の [アクセシビリティ] セクションで、テキスト音声合成 (TTS) と音声からテキストへの変換 (STT) の設定を見つけることができます。 設定は、プラットフォーム設定と統合するユーザー プロファイルに固有のすべての Xbox ゲームの機能を有効または無効にするトグル ボタンを使用して制御されます。 他のすべてのプラットフォームの場合テキスト、音声合成 (TTS) /音声からテキストへの変換 (STT) の設定場所ごとのアクセシビリティ ガイドラインをご覧ください。

注意

ゲーム独自の設定を追加することをゲームで選択したら、それらをゲーム内に配置する必要があります。 一般に、アクセシビリティ オプションはゲームの設定/オプション メニューの下にあります。 理想としては、設定が専用ボタンとして利用可能で、どの画面からでも、または少なくとも一時停止メニューからアクセスできる必要があります。

カスタム会話ウィンドウの作成に関する UX ガイダンス

一般的なベスト プラクティス

字幕とボイス チャットのトランスクリプションでは、画面の高速起動、会話テキスト、リッチ メディアのオーバーレイなどの類似の課題に取り組みます。 字幕に関するドキュメントは、会話ウィンドウに適用できます。

基本

  1. テキストと背景の間をハイ コントラストにします。
  2. 画面に同時に表示されるテキストが多すぎないようにします。
  3. 画面サイズに十分な大きさのテキスト サイズを使用します。

推奨されるプラクティス

  1. ユーザーがゲーム チャットに参加する前に音声合成 (TTS) 設定を見つけて有効にできることを確認します。
  2. 他の UI 要素との競合を回避します。
  3. 複数の応答が積み重なっている場合は、一番下に最新の文字列を追加します。
  4. 話し手を区別します。
  5. 明確で読みやすいフォントを使用します。
  6. 会話ウィンドウとコンテンツをユーザーがカスタマイズできるようにします。

ウィンドウ サイズ

すべてのゲーマーに同等のエクスペリエンスを提供できるように、ユーザーのニーズとゲーム UI のニーズの両方を考慮することが重要です。

ここでは、以下に基づいて最適な表示を判別する方法について説明します。

  • ユーザーのチャット動作。
  • ゲーム チャット使用時のさまざまな UI レイアウト (ロビー、ゲーム設定、ゲーム セッション)。
  • タイトルで呼び出すことのできる UI (TCUI) への影響 (オーバーレイ、トースト、仮想キーボードなど)。
  • フォントや書式設定などのプレゼンテーション要件。

ユーザーのチャット動作

さまざまなゲーム機能により、さまざまなチャット密度が駆動されます。 たとえば、ゲーム ロビー、ゲーム セッション内、ゲームの終了処理は、ゲーム チャットが関与している場合です。 ただし、ディスカッションの種類により画面の目的は変わります。 ディスカッションの種類を知っていると、ゲームプレイのニーズによって会話ウィンドウが重要であるか任意であるかを判断するのに役立つ場合があります。

ユーザー チャット

ユーザー チャット - ゲーム アクション

ディスカッションの種類

  • Small Talkです。 目標の達成に不可欠ではありません。 たとえば、共通の関心、罵り言葉、関係情報などです。
  • 機能的です。 ゲームの目標を達成するために重要です。 たとえば、チームとの戦略の調整です。

チャットの長さ: 最小要件

ゲーム チャットでのディスカッションの種類は、1 人のユーザーからのさまざまな応答の種類 (簡単なあいさつや確認から長い指示や説明まで) に影響します。 各画面の主要なディスカッションの種類を決定したら、応答の種類と長さに関するいくつかの広範な想定を開始することができます。

ゲームのゲーム チャット アクティビティを調査すると、最も正確な結果が得られます。 そのためには、複数のユーザー会話に共通するパターンを識別する必要があります。 1 つのソリューションは、ユーザー リサーチ テストを実施し、ゲーム内の音声からテキストへの変換 (STT) 機能を使用して参加者のユーザー リサーチ データをキャプチャすることです。 もう 1 つの提案は、類似ジャンルの ゲーム ストリームを監視し、会話パターンを追跡することです。

そのデータをこのシンプルな戦略に適用して、会話の長さを判断できます。

  • 流ちょうな応答 - 会話が途切れる前に交換された応答の数を確認し、最終的な数に達するまでのこれらの応答の平均を算出します。 例: チャットを行う 2 人のプレイヤーは、会話が途切れる前に平均 5 回の応答を行いました。

  • 応答の長さ - 1 回の応答の平均単語数と文字数を確認します。 例: 1 回の応答は、応答あたり平均 10 単語、35 文字 (スペースを含む) でした。

  • 書式設定 - チャットに関連する各状態の変更には、視覚化に役立つ有用な情報が含まれています。 書式設定を決定するときは、各フィールドの長さを考慮する必要があります。 次の例では、 メッセージの種類。つまり、メッセージが音声からテキストへの変換 (STT) メッセージまたはテキスト メッセージの結果であるかどうかは、状態変更の種類から推論できます。 PartyVoiceChatTranscriptionReceivedStateChange は常に音声入力の結果であるテキストを示し、PartyChatTextReceivedStateChange は常にテキスト入力の結果であるテキストを示します。 応答元、つまり、通信を送信したユーザー、および応答自体は、各状態変化内のフィールドによって決定できます。

例 - 数値 = 文字数

フォントのサイズと種類

読みやすいフォントの選択は、画面上のテキスト UI を読んでいるプレイヤーと、一部の視力が低いプレイヤーにとって重要です。

注意

Verdana は、Microsoft が出荷している最も読みやすいフォントです。 Verdana だけよりも、ハイ コントラスト (完全に白の背景に完全に黒の文字、またはその反対) で大きいサイズのフォントを使用するとさらに快適になります。 サイズ、コントラスト、文字形式は、(この順に) 読みやすさの 3 大要素です。

例: 同じサイズでも、書体が異なると読みやすさが異なる可能性があります。

書体の比較

10' エクスペリエンスで表示されるチャット トランスクリプションでは、1080p UI テキスト (14sp) に対して最小 28px をお勧めします。 これらは字幕と同様に表示時間が限られるので、テキストは他の UI で許容される最小値 (10' の場合は 24pt) よりもかなり大きくする必要があります。

最終的な最小サイズ要件を計算する

平均応答頻度、応答の長さ、書式設定に関する考慮事項、フォントのサイズと種類を確認したので、ウィンドウ サイズの要件を判断できます。

例: 525px (幅) x 395px (高さ) のウィンドウ サイズ内部で上記の仕様を使用した結果。

チャット ウィンドウ サイズを計算する

ConversationWindow_Template.ai を使用して設計のテストを開始します。 ネイティブ Adobe Illustrator (.ai) ファイルのリソースに移動します。

位置と比率

会話ウィンドウの最小テキスト要件を決定したので、位置とサイズ比のテストを開始できます。

位置: 相対と固定

会話ウィンドウをグリッド形式に合わせると、画面の解像度に関係なくスケーリングできる非常に簡単な入力セットを手に入れることができます。 たとえば、Xbox OS の音声からテキストへの変換 (STT) UI は、配置の際に 9 つのクアドラント (左/上、左/中央、左/下、中央/上など) を参照します。

ゲームで複数の画面解像度 (4 K、PC) を出力する場合は、1080p X、Y ピクセル値をさまざまな画面サイズにスケーリングすることについて心配する必要はありません。

相対位置の数を事前に決定しておけば、設計要素、フォント、セーフ領域のピクセル パーフェクトな配置を維持するために従来のコードと格闘する必要はありません。 代わりに、設計によって相対位置が保証されます。

画面のさまざまな複雑さに対応するため、複数の位置を参照することを検討してください。

  • ゲーム チャット アクティビティが重要である画面を識別します。
  • 対話の抑制は避けます。 (注を参照)
  • 重要な詳細情報を非表示にすることは避けます。 (注を参照)

注意

会話ウィンドウを配置して、ゲームのプレイを妨げないように注意してください。 これにより、音声からテキストへの変換 (STT) ユーザーは、他のユーザーと同等のエクスペリエンスを楽しむことができます。

ユーザー チャット

ユーザーが制御するカスタマイズ

単純に任意のサイズの会話ウィンドウを調整する余裕がない画面が存在する可能性があります。

例: ゲーム終了結果 UI は、画面全体を塗りつぶします。 会話ウィンドウによって重要な統計情報が隠れるおそれがあります。

フラグのキャプチャ - ゲームとチャット

ゲーム UI と会話ウィンドウの競合の解決策

  1. ユーザーは、OS を通じてこの機能を無効にできる必要があります
    ユーザーには、ゲームを退出し、[簡単操作] 設定を使用して音声からテキストへの変換 (STT) オプションをオンまたはオフにするオプションがあります。

    • UI への影響: なし
    • UX への影響: 低品質

    例: OS 設定を使用して音声からテキストへの変換 (STT) の設定を無効にします。 (これにより Xbox One 本体のクリティカルパスが表示されます)

    Xbox One 本体のクリティカル パス

  2. ゲームでは、ユーザーがウィンドウを最小化する方法が提供されます

    音声からテキストへの変換 (STT) 設定でウィンドウを最小化または移動すると、デザイナーとユーザーの柔軟性が高まります。

    • UI への影響: 中 ゲーム内の設定メニューにチャット ウィンドウの最小化/最大化ボタンを追加する必要があります。 このオプションは、音声からテキストへの変換 (STT) が有効として検出された場合にのみ表示することをお勧めします。

    • UX への影響: 良好 これは、ゲームで設定メニューが表示される 3 クリック ソリューションです。

    例: ゲーム内 [オプション] メニューでの 音声からテキストへの変換 (STT) ウィンドウの最小化/最大化 (Xbox 本体/PC のクリティカル パス

    Xbox 本体/PC のクリティカル パス

    本体の例: 音声からテキストへの変換 (STT) 設定を [一時停止] メニューに追加します。

    本体の例: 音声からテキストへの変換 (STT) 設定を [一時停止] メニューに追加

    PC の例:音声からテキストへの変換 (STT) 設定を [一時停止] メニューに追加します。

    PC の例: 音声からテキストへの変換 (STT) 設定を [一時停止] メニューに追加

    ユーザーが会話ウィンドウを最小化または最大化できるようにすると、選択がユーザーに委ねられます。 ゲームで重要な領域の侵害を回避しようとする必要はありません。

    即時の応答を必要としないゲーム画面では、フォーカスを別の場所に移動して設定を編集する時間をユーザーに与えます。 ユーザーは、セッションを破棄せずにウィンドウを最小化または最大化することができます。 この設定との間のナビゲーションはできる限り効率的にしてください。

    即時の応答を必要としないゲーム画面、またはポイント アンド クリック (PC) を選択できない場合は、ボタンまたはキー コマンドを直接マップできます。

    本体の例: ボタンが表示のオン/オフの切り替えにマップされ、凡例に注釈が表示されます。

    フラグ ゲームのキャプチャ - チャットの本体トグル

    PC の例: ボタンが表示のオン/オフの切り替えにマップされ、凡例に注釈が表示されます。

    フラグ ゲームのキャプチャ - チャットの PC トグル

機能の要件

  • ウィンドウが最小化されている間も会話の追跡が継続されます。
  • ユーザーは、最新の応答を展開して参照できます。 (見逃した応答の履歴は表示されません。)
  • このオプションは、ユーザー プロファイルの音声からテキストへの変換 (STT) 設定が有効として検出されたときに表示されます。
  • この設定では、OS プロファイルの音声からテキストへの変換 (STT) 設定は上書きされません。

表示の頻度

チャット アクティビティは、ゲーム セッション中にプレイヤー間で変動します。 プレイヤーがチャットしていないときに空のチャット ウィンドウを開いたままにしておく価値はありません。

設定した期間にわたってチャットが非アクティブになったらウィンドウを自動的に閉じます。

例: 音声からテキストへの変換 (STT) ウィンドウは、15 個の非アクティブ状態の後に閉じます。 この数は、ユーザーが 280 文字の 1 つのメッセージを読むのにかかる時間に基づいています。

音声からテキストへの変換 (STT) ウィンドウ

注意

アクティビティの多いゲーム画面でウィンドウの開閉が煩わしくならないように、さまざまな設定をテストする価値があります。

スクロール

会話の進行中に、ウィンドウで最新の応答を簡単に表示できる必要があります。 最新の応答が一番下に表示され、上方向にスクロールします。

注意

自動スクロールは、デベロッパーとユーザーの両方にとって会話の管理が簡単になるソリューションです。 流動的な会話の模倣によく似ています。 ユーザーがビューを管理する労力が減れば、より多くの時間をゲームプレイに集中できます。 手動のスクロールバーでは、コントローラーのフォーカスを移動する必要があります。これは、アクティブなゲームプレイ中に煩わしく感じる可能性があります。

両眼視差

このチャット ウィンドウを自分の UI スタイルに合わせて設計したくなる可能性があります。 しかし、チャット ウィンドウには、他のゲーム コンポーネントにはない特定の機能があります。 ゲーム命令の外部で発生した情報を表しています。

テキストとフレームも使用するゲーム情報です。 ユーザーは、チャット ウィンドウがゲーム コンポーネント内に実際にあるものと似すぎている場合に、それらの意図を混同する可能性があります。 そのため、チャット オーバーレイがそれ自身をゲーム UI から明確に分離する一意の属性を持つようにしなければなりません。 相違の度合いは設計者の裁量に委ねられます。

会話ウィンドウを閉じるまたは破棄する

ゲームは、会話ウィンドウがアクティブなままのとき (ユーザーがマルチタスク中) または閉じる必要があるとき (たとえば、ユーザーがチャット セッションを終了したとき) を判断する必要があります。 このウィンドウがライブ チャット会話を表すことを念頭に置き、インスタント メッセージング (IM) と混同しないようにしてください。 たとえば、ユーザーが本体から離れた場合やゲームを一時停止した場合、会話は続行されますが、戻る前に発生した応答は見逃されています。

注意

推奨される UX: ゲームに制約がある、または一時停止状態のときもウィンドウをアクティブなままにします。 ゲームが終了したらウィンドウを閉じます。

タイトルが呼び出せる UI (TCUI)

本体の例: Xbox One ガイドは TCUI であり、画面を暗くする透明なオーバーレイを持ちます。

会話ウィンドウが隠される

プラットフォームのシステム UI が任意のゲームまたはアプリ UI の "一番上" の表示レイヤーになることはよくあります。 たとえば、Xbox One オペレーティング システムが開始した UI (エラー メッセージ、仮想キーボード、トースト、Xbox One ガイド、ユーザー ピッカー、その他の要素) は、全画面の半透明な黒のオーバーレイをコンテンツ ウィンドウに適用します。

  • UX への影響: 会話ウィンドウの表示は隠されます。

まとめ

PlayFab パーティーのテキスト音声合成 (TTS) および音声からテキストへの変換 (STT) API は、ゲームやゲームの会話に幅広いユーザーを参加させるための非常に効果的な機能です。 エンゲージメントして関係を築くゲーマーが増えれば増えるほど、プレイを続ける可能性が高くなります。 このガイドでは、ユーザー エクスペリエンスにも役立ちます。

リソース

デザイン テンプレート

テキスト音声変換ナレーション メニューのガイドライン

PlayFab パーティーのテキスト音声合成 (TTS) および音声からテキストへの変換 (STT) の UX シリーズ

SDK ドキュメント

  • PlayFab SDK の「アクセシビリティ対応のゲーム内チャットの概要」(「SDK のダウンロード」を参照)

アクセシビリティのガイダンス

包括性を備えた設計