PlayFab Party 文本到语音转换与文本输入 UX 指南

PlayFab Party 库让游戏创建者能够通过可访问的游戏聊天选项吸引更多玩家。 它提供了一种方法,可以将语音聊天转录为文本,并将文本输入转换为合成语音。 你可以在游戏中实现这些功能的自定义 UI 解决方案。 在 Xbox 和 Windows 中,你可以使用平台 API 实现相关 UI。

本主题是两部分系列的第一部分,该系列介绍实现语音到文本转换和文本到语音转换的 UX 解决方案。 第一部分聚焦于文本到语音转换实现、要求以及主机和电脑 UI 解决方案,第二部分 聚焦于语音到文本转换实现、要求以及主机和电脑 UI 解决方案。

文本到语音转换和语音转文本转换场景

下图将引导你了解在启用语音到文本转换和文本到语音转换功能时,玩家将体验的场景。 它概述了游戏体验三个阶段的用户影响: 初始设置、玩游戏和参与游戏聊天。

体验阶段 设置 玩游戏 聊天 Message
目标 用户启用设置 用户进入多人游戏 用户发送通信 用户收到通信
操作 语音到文本转换

听语音回复的替代方法
启动游戏

进入 MP 大厅

发起游戏聊天后,覆盖层会打开
用户说话 用户在语音到文本转换聊天覆盖层中读取转换为文本的团队语音回复
文本转语音

语音回复的替代方法
启动游戏

进入 MP 大厅

游戏显示文本输入方法(键盘、输入字段等)
用户使用平台支持的输入法键入回复

键入的消息转换为合成语音
用户听团队成员的语音回复
UI 旁白(游戏内)

读取游戏内菜单和文本回复的替代方法
Xbox 操作系统合成语音指导用户启动游戏

游戏使用语音合成 API 讲述菜单选项,引导用户进入 MP 大厅
对于文本消息系统: 游戏使用语音合成 API 指导用户启动 Xbox 操作系统键盘 对于文本消息系统: 游戏使用语音合成 API 讲述回复
讲述人(Xbox 操作系统)

读取 Xbox 菜单的替代方法
Xbox 操作系统合成语音指导用户启动游戏 对于文本消息系统: 当用户键入消息时讲述虚拟键盘 不适用

了解 API

文本到语音转换

文本到语音转换的类型

Party 支持两种类型的文本到语音转换 - 语音聊天旁白。 语音聊天类型适用于用户选择将文本到语音转换音频用作其语音聊天通信的语音的场景。 当本页讨论 Party 和文本到语音转换时,通常会讨论此场景。 “旁白”类型适用于用户应在其音频输出中播放文本到语音转换音频的场景。 这主要是为了支持“语音试音”场景,即用户会比较文本到语音转换语音选项之间的音频,从而选择他们喜欢在语音聊天场景中使用的配置文件。 虽然这可以用于任意游戏定义的旁白场景,但每个平台通常会为游戏内旁白提供更灵活的解决方案,例如 Xbox 和 Windows 中的语音合成 API。 每个用于启动文本到语音转换操作的方法都采用 PartySynthesizeTextToSpeechType 参数,该参数会指定正在使用两种文本到语音转换场景中的哪一种。

文本到语音转换语音配置文件

文本到语音转换语音配置文件定义用于生成文本到语音转换音频的音频特征。 配置文件因语言、区域设置和性别而有所不同。 每个组合可能有多个选项。 Party 支持 Azure 认知服务支持的所有配置文件。 请参阅 语言支持参考,获取受支持的语言和语音选项的完整列表。

此外,Party 库还可以枚举配置文件选项。 第一步是启动异步操作,该操作将通过 PartyLocalChatControl::PopulateAvailableTextToSpeechProfiles() 填充文本到语音转换配置文件。 操作完成后,受 PartyManager::StartProcessingStateChanges() 提供 PartyPopulateAvailableTextToSpeechProfilesCompletedStateChange 的指示,配置文件可以通过 PartyLocalChatControl::GetAvailableTextToSpeechProfiles() 进行查询。

配置文本到语音转换语音配置文件

在 Party 库生成任何文本到语音转换之前,游戏必须配置文本到语音转换语音配置文件。 配置配置文件的异步选项可以通过 PartyLocalChatControl::SetTextToSpeechProfile() 启动。 操作完成由 PartyManager::StartProcessingStateChanges() 提供 PartySetTextToSpeechProfileCompletedStateChange 指示。

合成文本到语音转换

当游戏配置文本到语音转换语音配置文件后,文本可以通过 PartyLocalChatControl::SynthesizeTextToSpeech() 合成为语音音频。 对于“语音聊天”场景,音频数据将像是由与启动文本到语音转换操作的用户关联的麦克风“自然”捕获的。 这类似于用户将麦克风放在代表其说话的计算机上。 对于“旁白”场景,音频数据将播放到用户的音频输出。

合成文本到语音转换是一种异步操作;操作完成由 PartyManager::StartProcessingStateChanges() 提供 PartySynthesizeTextToSpeechCompletedStateChange 指示。

虽然在合成文本到语音转换之前必须配置语音配置文件,但在调用 PartyLocalChatControl::SynthesizeTextToSpeech() 之前无需等待由 PartyLocalChatControl::SetTextToSpeechProfile() 启动的异步操作完成。 如果正在执行配置文件操作,则文本到语音转换操作将排队,并在配置文件操作完成后启动。

文本消息

除了文本到语音转换,Party 还支持传统的文本消息。 虽然许多游戏将文本到语音转换与文本消息相关联,但这并不是一项要求 - Party 支持将文本到语音转换和文本消息作为独立功能。 有关详细信息,请参阅 了解聊天

文本到语音转换 UX

文本到语音转换让用户能够使用平台将合成语音流发送给活动的游戏聊天参与者。 这有助于让用户能够在基于文本聊天的系统不可用时参与游戏,且所有通信都通过游戏内语音聊天处于活动状态。

发现

对于 Xbox 和 Windows,用户可以在 Xbox 主页(Xbox 主机)或 Xbox 应用(Windows 10) 设置 下的 辅助功能 部分查找文本到语音转换和语音到文本转换设置。 设置通过切换按钮进行控制,这些按钮可以启用或禁用所有 Xbox 游戏(特定于与平台设置集成的用户配置文件)的功能。 对于所有其他平台,请参阅其文本到语音转换和语音到文本转换设置位置的辅助功能指南。

注意

如果你的游戏选择添加其他仅特定于游戏的设置,则应将它们置于游戏内。 一般而言,辅助功能选项位于游戏的设置/选项菜单下。 理想情况下,设置应可以用作专用按钮,可以在任何屏幕或至少在“暂停”菜单中访问。

文本输入/输出选项

游戏负责提示并接受文本。 这可以是自定义的文本输入字段或平台提供的键盘。 生成的输入随后可以传递给 PlayFab Party 以处理进合成流。 该流会以语音形式发送给聊天会话中的其他玩家。 接收端会以与处理通过麦克风说话的用户的另一语音流相同的方式来处理此语音流。

  1. 主机操作系统虚拟键盘 (Xbox 主机示例)

    注意

    安装手柄后,键盘仍将出现。 安装硬件键盘后,它将不会出现。

    Xbox One - 虚拟键盘

  2. 电脑操作系统虚拟键盘Windows 10 示例

    PlayFab Party API 支持跨所有平台接收输入。 但这些平台并不以一致的方式提供文本输入组件。

    • 在 Xbox 主机中,游戏可以依赖于虚拟键盘。 它有自己的输入框,该输入框会接受随后提供给游戏的文本。
    • 在 Windows 中,游戏可以依赖于虚拟键盘,但需要注意 - 它没有输入框。 这意味着游戏必须提供文本输入框才可接受虚拟键盘生成的击键。 即使游戏不支持传统的文本聊天,文本到语音转换支持也可能需要文本输入。

    UX 建议(Windows)

    不支持传统文本消息的跨平台游戏必须提供文本输入框才可接受击键,从而支持文本到语音转换。

    Windows - 输入框

  3. 游戏提供的自定义键盘 (主机示例)

    注意

    此处使用的短语特定于所显示的示例游戏。

    • 游戏可以完全控制可见性。
    • 游戏可以增强键盘以包含用于快速回复的短语。

    自定义键盘

快速聊天: 适用于每个人的解决方案

考虑玩家的聊天活动、讨论类型以及屏幕目标。 例如,在活动游戏会话期间,虽然使用控制器启动键盘并键入回复会很麻烦,但可能十分关键。 为用户提供从预定义回复列表快速选择的方法可以很好地解决此问题。 对于启用旁白的用户,每条预定义回复都会进行讲述。 由于回复列表会预先编写脚本,因此翻译的准确性会提高。 游戏会控制适合其玩家的、特定于游戏的上下文术语。

以下是两个使用 Xbox 主机和 Windows 10 平台的示例:

1a. 映射到方向键的短语列表

按方向键上的方向(上、下、左、右)可以打开所选类别。 类别列表打开后,方向键方向会应用于该类别中的选项。 要交换类别,用户需要等待窗口关闭(处于非活动状态两秒),然后选择替换方向键方向以打开新的回复列表。

映射到方向键的短语列表

1b. 映射到键盘的短语列表

按下数字键(1-4)可以打开所选类别。 类别列表打开后,数字键会应用于该类别中的选项。 要交换类别,用户需要等待窗口关闭(处于非活动状态两秒),然后选择替换数字键以打开新的回复列表。

映射到键盘的短语列表

1c. 映射到键盘的短语列表(具有可自定义的回复设置)

通过允许用户从一系列响应中进行选择,让这一功能更进一步。

  • 主机示例: 对于本机键盘和控制器设计模板,请参阅 资源

在第一张图像中,“选项”菜单包含“聊天”部分。 此屏幕显示默认回复和用户选择的回复,在四种对话类型(赞美、指导等)下列出。

每个类别都映射到单方向键方向。 每条回复都映射到双方向键方向。 用户可以按 A 选择要编辑的回复。

选项菜单 - 聊天

在第二张图像中,弹出屏幕提供包含十条回复的列表。 用户最多可以选择四条回复,每条回复都基于选择顺序映射到方向键方向。

弹出屏幕 - 聊天

映射回复的控制器示意图

一些游戏已经为各种游戏首选项提供了自定义的控制器映射。 本示例提供文本到语音转换和语音到文本转换的备用控制器架构。 用户可以从预定义回复列表中进行选择并映射到 4 个方向键方向。 左、右缓冲键会滚动浏览类别;Y 按钮会启动自定义回复的虚拟键盘。

在游戏会话期间,用户可以按下专用按钮(由游戏分配)以交换控制架构。 在此案例中,B 按钮用于退出此模式。

控制器示意图

“快速聊天”回复指南: 让玩家参与游戏的方法

如果玩家可以对增强玩家之间交流的快速聊天解决方案进行个性化设置,那会怎么样? 如果存在可以最大程度提高游戏性能,同时最大程度减少通信障碍的解决方案,那会怎么样? “快速聊天”可以实现类似效果,具体方法是允许用户从预定义回复列表中进行选择。 但这些回复通常是受到限制的冗余短语,似乎有些机械化和无聊。 以下指南探讨了保持玩家参与游戏的策略。

目标: 使此行为自动化

如果“快速聊天”反复满足某种要求,则可以形成一种习惯。 考虑触发响应的方式,以及这如何满足当时的会话要求。

“快速聊天”案例

  • 对话: 玩家希望参与游戏以推动团队活动或建立更深层次的社交联系。
  • 简易性: 在高强度活动期间,“快速聊天”解决方案必须易于访问。
  • 匿名: 通常避免语音聊天的玩家有办法参与游戏。
  1. 不同回复 提供回复选项的大集合。 这将有助于实现通常在动态语音对话中实现的自发性。 用户将不太会对相同的回复选项感到厌烦,且回复似乎将不那么机械化。

  2. 在出现要求时提出解决方案

    • 任何时候使用游戏聊天时,提供“快速聊天”。
    • 按下专用按钮,启动“快速聊天”回复。
    • 默认为与当前游戏活动上下文相关的类别。 例如,当用户得分时,默认类别为“赞美”。
  3. 保持回复有重点且具体 这主要是为了保持较低的认知负载。 用户应能够毫不费力地阅读整条消息。

    • 做出与游戏及其类别相关的回复。
    • 使用游戏中最常用的短语和单音节词。
    • 使用你可以立即想象到的词。
  4. 使用幽默开玩笑 是一种以友好的方式对玩家进行嘲讽的常见形式。 这与 恶意破坏 不同,后者常常会让用户受到骚扰。 如果回复巧妙、相关且多样化,则一些用户可能不会采用不恰当的选择。

  5. 与技能和进度相关

    • 提供包含基于进度和技能级别的回复的聊天首选项。
    • 显示用户可以向其他团队成员传达的建议回复。 这些选项与当前游戏活动的上下文相关。 例如,“有人有可以打败这个僵尸的斧头吗?”
  6. 聚焦情绪 传达特定目标情绪的回复有助于让他们的体验更具相关性。

总结

PlayFab Party 文本到语音转换和语音到文本转换 API 是非常有效的功能,可以在游戏和游戏对话中包含更广泛的用户。 参与游戏和建立关系的玩家越多,他们就越有可能继续玩游戏。 本指南将帮助确保最佳用户体验。

资源

设计模板

文本到语音转换旁白菜单指南

PlayFab Party 文本到语音转换和语音到文本转换 UX 系列

SDK 文档

  • PlayFab SDK 中的“可访问的游戏内聊天概述”(请参阅 SDK 下载)

辅助功能指南

包容性设计