テキスト読み上げおよび音声認識のシナリオ
以下のチャートは、音声認識およびテキスト読み上げ機能を有効にしたときにプレイヤーが体験するシナリオをガイドします。ゲーム体験の 3 つの段階 (初期セットアップ、ゲームのプレイ、ゲーム チャットへの参加) におけるユーザーへの影響を概説しています。API を理解する
テキスト読み上げ
テキスト読み上げのタイプ
Party は 2 種類のテキスト読み上げをサポートしています。Voice Chat と Narration です。Voice Chat タイプは、ユーザーがボイス チャット通信のためにテキスト読み上げオーディオを話し声として使用することを選択するシナリオ用です。このページで Party とテキスト読み上げについて説明する場合、通常はこのシナリオについて話しています。Narration タイプは、ユーザーのオーディオ出力にテキスト読み上げオーディオを再生するシナリオ用です。これは主に「ボイス オーディション」シナリオをサポートするためのもので、ユーザーがテキスト読み上げのボイス オプション間でオーディオを比較して、ボイス チャット シナリオで使用したいプロファイルを選択します。これは任意のゲーム定義のナレーション シナリオに使用できますが、各プラットフォームは通常、XBOX および Windows の Speech Synthesis API など、ゲーム内ナレーションのためのより柔軟なソリューションを提供します。テキスト読み上げ操作を開始するために使用される各メソッドは、2 つのテキスト読み上げシナリオのうちどちらを使用するかを指定するPartySynthesizeTextToSpeechType パラメーターを受け取ります。
テキスト読み上げのボイス プロファイル
テキスト読み上げのボイス プロファイルは、テキスト読み上げオーディオを生成するために使用されるオーディオ特性を定義します。プロファイルは言語、ロケール、性別によって異なります。各組み合わせに対して複数のオプションがある可能性があります。Party は Azure Cognitive Services がサポートするすべてのプロファイルをサポートしています。サポートされている言語とボイス オプションの完全なリストについては、言語サポート リファレンス を参照してください。 プロファイル オプションは、Party ライブラリで列挙することもできます。最初のステップは、PartyLocalChatControl::PopulateAvailableTextToSpeechProfiles() を介してテキスト読み上げプロファイルを設定する非同期操作を開始することです。操作が完了すると、PartyManager::StartProcessingStateChanges() が PartyPopulateAvailableTextToSpeechProfilesCompletedStateChange を提供することで示され、プロファイルは PartyLocalChatControl::GetAvailableTextToSpeechProfiles() を介してクエリできます。
テキスト読み上げのボイス プロファイルの構成
Party ライブラリでテキスト読み上げを生成する前に、タイトルはテキスト読み上げのボイス プロファイルを構成する必要があります。プロファイルを構成する非同期オプションはPartyLocalChatControl::SetTextToSpeechProfile() を介して開始できます。操作の完了は、PartyManager::StartProcessingStateChanges() が PartySetTextToSpeechProfileCompletedStateChange を提供することで示されます。
テキスト読み上げの合成
タイトルがテキスト読み上げのボイス プロファイルを構成した後、PartyLocalChatControl::SynthesizeTextToSpeech() を介してテキストを音声オーディオに合成できます。Voice Chat シナリオの場合、オーディオ データは、テキスト読み上げ操作を開始するユーザーに関連付けられたマイクによって「自然に」キャプチャされたかのように表示されます。これは、ユーザーが代わりに話しているコンピューターにマイクを向けて持っているようなものです。Narration シナリオの場合、オーディオ データはユーザーのオーディオ出力に再生されます。
テキスト読み上げの合成は非同期操作です。操作の完了は、PartyManager::StartProcessingStateChanges() が PartySynthesizeTextToSpeechCompletedStateChange を提供することで示されます。
テキスト読み上げを合成する前にボイス プロファイルを構成する必要がありますが、PartyLocalChatControl::SetTextToSpeechProfile() によって開始された非同期操作の完了を、PartyLocalChatControl::SynthesizeTextToSpeech() を呼び出す前に待つ必要はありません。プロファイル操作が進行中の場合、テキスト読み上げ操作はキューに入れられ、プロファイル操作が完了した後に開始されます。
テキスト メッセージング
テキスト読み上げに加えて、Party は従来のテキスト メッセージングをサポートしています。多くのタイトルはテキスト読み上げをテキスト メッセージングに結び付けていますが、それは必須ではありません。Party はテキスト読み上げとテキスト メッセージングを独立した機能としてサポートしています。詳細については、チャットの理解 を参照してください。テキスト読み上げの UX
テキスト読み上げにより、プラットフォームを使用して合成音声ストリームをアクティブなゲーム チャット参加者に送信できます。これは、テキスト チャット ベースのシステムが利用できず、すべての通信がゲーム内ボイス チャットを介してアクティブな場合にその人が参加できるようにするのに最適です。発見
XBOX および Windows では、ユーザーは XBOX Home (XBOX コンソール) または XBOX App (Windows 10) の Settings の下の Accessibility セクションでテキスト読み上げと音声認識の設定を見つけることができます。設定は、プラットフォーム設定と統合されたユーザー プロファイル固有のすべての XBOX ゲームで機能を有効または無効にするトグル ボタンによって制御されます。他のすべてのプラットフォームについては、テキスト読み上げおよび音声認識設定の場所については、それらのアクセシビリティ ガイドラインを参照してください。ゲームがゲーム固有の追加設定を追加することを選択した場合、それらはゲーム内に配置する必要があります。一般に、アクセシビリティ オプションはゲームの設定/オプション メニューに属します。理想的には、設定は専用のボタン押下として利用可能で、任意の画面から、または少なくとも一時停止メニューからアクセスできる必要があります。
テキスト入出力オプション
タイトルはテキストの入力を促し、受け入れる責任があります。これはカスタム テキスト入力フィールドまたはプラットフォーム提供のキーボードにすることができます。結果として得られたエントリは、PlayFab Party に渡されて合成ストリームに処理できます。そのストリームは、チャット セッションの他のプレイヤーに音声として送信されます。受信側は、この音声ストリームを、マイクで話しているユーザーからの別の音声ストリームと同じ方法で処理します。- コンソール OS 仮想キーボード (XBOX コンソールの例)
ゲームパッドがインストールされていてもキーボードは表示されます。ハードウェア キーボードがインストールされている場合は表示されません。

-
PC OS 仮想キーボード (Windows 10 の例)
PlayFab Party API は、すべてのプラットフォームで入力の受信をサポートしています。ただし、テキスト入力コンポーネントはそれらのプラットフォームで一貫して提供されているわけではありません。
- XBOX コンソールでは、ゲームは仮想キーボードに依存できます。独自の入力ボックスがあり、そこに入力されたテキストがタイトルに提供されます。
- Windows では、ゲームは仮想キーボードに依存できますが、注意点があります。入力ボックスがありません。これは、仮想キーボードによって生成されたキーストロークを受け入れるためにゲームがテキスト入力ボックスを提供する必要があることを意味します。ゲームが従来のテキスト チャットをサポートしていない場合でも、テキスト読み上げのサポートにはテキスト入力が必要な場合があります。
UX の推奨事項 (Windows)
従来のテキスト メッセージングをサポートしないクロスプラットフォーム ゲームは、テキスト読み上げをサポートするためにキーストロークを受け入れるテキスト入力ボックスを提供する必要があります。
- ゲームが提供するカスタム キーボード (コンソールの例)
ここで使用されているフレーズは、表示されているサンプル ゲーム固有のものです。
- ゲームは可視性を完全に制御できます。
- ゲームは、クイック応答のフレーズを含めるようにキーボードを拡張できます。

Quick Chat: 誰にでも役立つソリューション
プレイヤーのチャット アクティビティ、議論のタイプ、画面の目的を考慮してください。たとえば、アクティブなゲームプレイ セッション中、コントローラーを使用してキーボードを起動して応答を入力するのは面倒ですが、重要かもしれません。事前定義された応答のリストからユーザーがすばやく選択できる方法を提供することは、この問題を解決するのに大いに役立ちます。ナレーションを有効にしているユーザーの場合、各事前定義応答がナレートされます。応答のリストは事前にスクリプト化されるため、翻訳の精度が向上します。ゲームは、プレイヤーに適した文脈的でゲーム固有の用語を制御できます。 以下は、XBOX コンソールと Windows 10 プラットフォームを使用した 2 つの例です:1a. D-pad にマップされたフレーズ リスト
方向パッド (D-pad) の方向 (上、下、左、右) を押すと、選択されたカテゴリが開きます。カテゴリ リストが開くと、D-pad の方向はそのカテゴリ内の選択肢に適用されます。カテゴリを切り替えるには、ユーザーはウィンドウが閉じるまで (2 秒間の非アクティブ) 待ち、次に別の D-pad 方向を選択して新しい応答リストを開きます。
1b. キーボードにマップされたフレーズ リスト
数字キー (1 ~ 4) を押すと、選択されたカテゴリが開きます。カテゴリ リストが開くと、数字キーはそのカテゴリ内の選択肢に適用されます。カテゴリを切り替えるには、ユーザーはウィンドウが閉じるまで (2 秒間の非アクティブ) 待ち、次に別の数字キーを選択して新しい応答リストを開きます。
1c. カスタマイズ可能な応答設定を持つキーボードにマップされたフレーズ リスト
ユーザーが応答の範囲から選択できるようにすることで、この機能をさらに一歩進めます。- コンソールの例: キーボードとコントローラーのデザイン テンプレート ネイティブについては、リソース を参照してください。


応答をマッピングするためのコントローラー概略図
一部のゲームは既にさまざまなゲームプレイの好みのためのカスタム コントローラー マッピングを提供しています。この例では、テキスト読み上げおよび音声認識のための代替コントローラー スキーマを提案します。ユーザーは事前定義された応答のリストから選択して、4 つの D-pad 方向にマップできます。左右のバンパーはカテゴリをスクロールし、Y ボタンはカスタム応答用の仮想キーボードを起動します。 ゲーム セッション中、ユーザーは専用のボタン押下 (ゲームによって割り当てられる) でコントロール スキーマを切り替えることができます。この場合、B ボタンはこのモードを終了します。
Quick Chat 応答ガイダンス: ゲーマーを引き付ける方法
もしゲーマーがプレイヤー間の交換を強化するクイック チャット ソリューションをパーソナライズできたらどうでしょうか?コミュニケーションの障壁を最小限に抑えながらゲームのパフォーマンスを最大化するソリューションがあったらどうでしょうか?Quick Chat は、ユーザーが事前定義された応答のリストから選択できるようにすることでこれに近づきます。ただし、通常、これらの応答は限定された、繰り返しの、自動化されて退屈に見えるフレーズでした。以下のガイドラインは、プレイヤーを引き付け続けるための戦略を探ります。目標: この動作を自動的にする
Quick Chat が繰り返しニーズを満たすと、習慣が形成されます。応答をトリガーする方法と、それがその瞬間の会話ニーズをどのように満たすかを検討してください。Quick Chat のユース ケース
- 会話的: プレイヤーはチーム アクティビティを促進したり、より深い社会的つながりを構築したりするために関わりたいと思っています。
- シンプルさ: Quick Chat ソリューションは、高強度のアクティビティ中に簡単にアクセスできる必要があります。
- 匿名性: 通常ボイス チャットを避けるプレイヤーが参加する方法を持っています。
- 応答を多様化する 応答オプションの大規模なコレクションを提供します。これは、動的なボイス会話で通常達成される自発性に貢献します。ユーザーは同じ応答オプションに飽きにくくなり、応答は自動化されているように見えにくくなります。
-
必要が生じたときにソリューションを表面化する
- ゲーム チャットが有効な場合、いつでも Quick Chat を利用できるようにします。
- Quick Chat 応答を起動するために専用のボタン押下を使用します。
- 現在のゲーム アクティビティに文脈的なカテゴリをデフォルトにします。たとえば、ユーザーが得点したとき、デフォルト カテゴリは「褒め言葉」です。
-
応答を焦点を絞って具体的に保つ
これは主に認知負荷を低く保つためです。ユーザーはメッセージ全体を苦労なく読めるべきです。
- 応答をゲームプレイとそのカテゴリに関連付けます。
- ゲームで最も一般的に使用される短いフレーズと 1 音節の単語を使用します。
- すぐに視覚化できる単語を使用します。
- ユーモアを使う Banter (軽口) は、フレンドリーな方法でプレイヤーに対処する一般的なからかいの形式です。これは、ユーザーがあまりにも頻繁に嫌がらせを受ける griefing (嫌がらせ) とは異なります。応答が賢く、関連性があり、多様であれば、一部のユーザーは不適切な選択に頼らないかもしれません。
-
スキルと進捗に相対的である
- 進捗とスキル レベルに基づく応答を含むチャット環境設定を提供します。
- ユーザーが他のチーム メンバーに伝えることができる推奨応答を表面化します。これらのオプションは現在のゲーム アクティビティに文脈的なものになります。たとえば、「このゾンビを倒すために斧を持っている人はいますか?」
- 感情に焦点を当てる 特定のターゲット感情を伝える応答は、体験をより共感的にするのに役立ちます。
結論
PlayFab Party のテキスト読み上げおよび音声認識 API は、より広い範囲のユーザーをゲームとゲーミング会話に含めるための非常に効果的な機能です。ゲーマーが関わり、関係を築くほど、プレイし続ける可能性が高くなります。このガイダンスは、可能な限り最良のユーザー体験を保証するのに役立ちます。リソース
デザイン テンプレート
- QuickChat_AI_Template.zip
含まれるもの:
- QuickChat_ConsolePC_Templates.ai
テキスト読み上げナレーション メニュー ガイドライン
PlayFab Party テキスト読み上げおよび音声認識 UX シリーズ
- パート 1: PlayFab Party テキスト読み上げおよびテキスト入力 UX ガイダンス
- パート 2: PlayFab Party 音声認識およびテキスト表示 UX ガイダンス
SDK ドキュメント
- PlayFab SDK の「Accessible in-game chat overview」を参照 (SDK ダウンロード 参照)
アクセシビリティ ガイダンス
- Griffiths, Gareth. Subtitles: Increasing Game Accessibility, Comprehension Gamasutra
- Game Accessibility Guidelines インクルーシブなゲーム デザインのためのわかりやすい参考資料
インクルーシブ デザイン
- XBOX’s Gaming for Everyone Initiative
- Inclusive Design Microsoft Design Toolkit と教育
- Kojouharov, Stefan. 10 Tips on Creating an Addictive ChatBot 会話型 UI のヒントとしてこのドキュメントで参照されています。
