PlayFab Party 文本转语音 (STT) 和文本显示 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
语音转文本
启用听录
可以通过调用 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) 设置 下的 辅助功能 部分查找文本到语音转换和语音到文本转换设置。 设置通过切换按钮进行控制,这些按钮可以启用或禁用所有 Xbox 游戏(特定于与平台设置集成的用户配置文件)的功能。 对于所有其他平台,请参阅其文本到语音转换和语音到文本转换设置位置的辅助功能指南。
注意
如果你的游戏选择添加其他仅特定于游戏的设置,则应将它们置于游戏内。 一般而言,辅助功能选项位于游戏的设置/选项菜单下。 理想情况下,设置应可用作专用按钮,可从任何屏幕或至少在"暂停"菜单中访问。
用于创建自定义对话窗口的 UX 指南
常规最佳做法
字幕和语音聊天转录需应对类似挑战:显示急速的对话文本,覆盖丰富的媒体。 有关字幕的文档可以适用于对话窗口。
基本信息
- 文本与背景之间的高对比度。
- 避免一次在屏幕上显示过多的文本。
- 对屏幕大小使用足够大的文本大小。
较好做法
- 在参与游戏聊天之前,请确保用户可以找到并启用文本转语音设置。
- 避免与其他 UI 元素冲突。
- 堆叠多个答复时,在底部添加最新的字符串。
- 区分扬声器。
- 使用清晰、易读的字体。
- 允许用户自定义对话窗口和内容。
窗口大小
若要确保所有玩家都获得相同体验,关键是同时考虑用户需求和游戏 UI 需求。
本节介绍基于以下因素确定最佳显示的方法:
- 用户的聊天行为。
- 使用游戏聊天的不同 UI 布局(大厅、游戏设置、游戏会话)。
- 可调用游戏的 UI (TCUI) 影响(例如覆盖、toast、虚拟键盘)。
- 呈现要求,如字体和格式设置。
用户的聊天行为
不同的游戏功能会推动形成不同的聊天密度。 例如,游戏会话期间的游戏大厅和游戏结束结束是游戏聊天开始的时间。 但是,讨论类型会更改屏幕的目标。 了解讨论类型有助于衡量对话窗口对于游戏需求是关键还是可选的。
讨论类型
- 小型对话。 对实现目标并不重要。 例如,共同兴趣、特性、社交。
- 函数。 对于实现游戏目标至关重要。 例如,与团队协调策略。
聊天长度:最低要求
游戏聊天中的讨论类型会影响单个用户的大量回复类型(从简短问候语和确认到更长的说明性回复和描述性回复)。 为每个屏幕确定主要讨论类型后,即可开始对回复的类型和长度进行一些广泛假设。
对游戏研究游戏聊天活动会提供最准确的结果。 需要在多个用户对话中识别常见模式。 一种解决方案是执行用户研究测试,使用游戏中的语音转文本功能捕获参与者的用户研究数据。 另一个建议是观看类似流派的游戏流并跟踪对话模式。
这些数据随后可以应用于以下这种用于确定对话长度的简单策略:
回复频率 - 确定在一个 lull 之前交换了多少条答复,然后对这些答复进行平均处理以到达最终数字。 示例:两个玩家在出现间歇之前的聊天中平均进行五个回复。
回复长度 - 确定单个答复的平均字数和字符计数。 示例:每次单个回复平均包含 10 个词和 35 个字符(带空格)。
格式设置 - 每个与聊天相关的状态更改都包含有用的信息来帮助将其可视化。 确定格式时,需要考虑每个字段的长度。 在下面的示例中, 消息类型,即消息是语音转文本还是文本消息的结果,都可以从状态更改类型推断出来。
PartyVoiceChatTranscriptionReceivedStateChange
将始终指示语音输入结果的文本,PartyChatTextReceivedStateChange
将始终指示文本输入的结果。 回复源,即发送通信的人员,以及答复本身可以由每个状态更改中的字段确定。
字体大小和类型
对于阅读任何屏幕文本 UI 的玩家而言,选择清晰的字体非常重要,其中一些玩家可能视力不佳。
注意
Verdana 是 Microsoft 提供的易读性最高字体。 呈现具有高对比度(全白上的全黑,反之亦然)并且大小较大的字体甚至比 Verdana 本身更好。 大小、对比度和字母形式是易读性方面的三个最重要因素(具有该优先级顺序)。
示例:相同大小的不同字样可能在可读性方面有所不同。
对于在 10’ 体验中呈现的聊天转录,建议将最小 28px 用于 1080p UI 文本 (14sp)。 与字幕一样,这些内容在有限持续时间内显示,因此文本应明显大于其余 UI 部分的可接受最小值(对于 10’ 为 24pt)。
计算最终的最小大小要求
现在有平均回复频率、回复长度、格式设置注意事项以及字体大小和类型,可以确定窗口大小要求:
示例: 在 525px(宽)x 395px(高)的窗口大小中使用上述规格的结果。
使用 ConversationWindow_Template.ai 开始测试设计。 转到资源以获取本机 Adobe Illustrator (.ai) 文件。
位置和比例
现在获得了对话窗口的最小文本要求,可以开始测试定位和大小比例。
定位:相对与固定
将对话窗口与网格格式对齐可提供一组非常简单的可以缩放(与屏幕分辨率无关)的输入。 例如,Xbox OS 语音转文本 UI 引用九个象限(左/上、左/居中、左/下、中间/顶部等)进行定位。
如果游戏输出到多种屏幕分辨率(4K、电脑),则不必担心将 1080p X、Y 像素值为不同的屏幕大小。
通过预先确定相对位置的数量,不必与旧版代码进行竞争即可维护设计元素、字体或安全区域的像素完美定位。 相反,设计可保证相对位置。
请考虑参考多个位置以适应各种屏幕复杂性:
- 确定游戏聊天活动至关重要的屏幕。
- 避免禁止交互。 (请参阅备注)
- 避免隐藏关键详细信息。 (请参阅备注)
注意
请注意定位对话窗口,使其不会抑制游戏活动。 这将确保语音转文本用户可以享受与其他用户类似的体验。
用户控制的自定义
有些屏幕可能只是没有空间容纳任何大小的对话窗口。
示例:游戏结束结果 UI 将填充整个屏幕。 涵盖关键统计信息的对话窗口风险。
游戏 UI 与对话窗口冲突的解决方案
用户应能够通过操作系统禁用功能。
理想情况下,用户可以选择退出游戏,并使用轻松访问设置打开或关闭语音转文本选项。- UI 影响:无
- UX 影响:不佳
示例:通过 OS 设置禁用语音转文本设置。 (这显示了适用于 Xbox One 主机的关键路径)
游戏提供了供用户最小化窗口的方法。
使用语音转文本设置来最小化或移动窗口可为设计器和用户提供更大的灵活性。
UI 影响:中等 需要向游戏内设置菜单添加最小化/最大化聊天窗口按钮。 建议仅在启用语音转文本时显示此选项。
UX 影响:良好 这是一个 3 单击解决方案,其中设置菜单会出现在游戏中。
示例:通过游戏内选项菜单最小化/最大化语音转文本窗口(Xbox 主机/电脑关键路径)
控制台示例:在"暂停"菜单中添加语音转文本设置。
电脑示例:在"暂停"菜单中添加语音转文本设置。
使用户可以最小化或最大化对话窗口对话可使他们掌握选择权。 游戏不必尝试避免损害关键内容。
不需要立即响应的游戏屏幕使用户有时间移走焦点和编辑其设置。 他们可以最小化或最大化窗口,而不会破坏会话。 使访问和离开此设置的导航尽可能高效。
对于需要立即响应的游戏屏幕,或者当无法使用点击(电脑)时,可以直接映射按钮或键命令。
控制台示例:映射按钮以切换显示开/关,并在图例中进行批注。
电脑示例:映射按钮以切换显示开/关,并在图例中进行批注。
功能要求
- 在窗口最小化期间继续跟踪对话。
- 用户可以展开并查看最新回复。 (用户不会看到错过回复的历史记录)。
- 当检测到用户配置文件的语音转文本设置已启用时,将显示此选项。
- 此设置不会覆盖 OS 配置文件的语音转文本设置。
显示频率
在游戏会话过程中,聊天活动会在玩家之间波动。 没有在玩家未聊天时,使空聊天窗口保持打开的值。
在聊天处于非活动状态一段时间时自动关闭窗口。
示例:语音转文本窗口在 15 秒不活动后关闭。 此数字基于用户阅读一条 280 个字符的消息所需的时间。
注意
值得测试各种设置,以确保在具有大量活动的游戏屏幕上打开和关闭窗口不会太过分散注意力。
滚动
在正在进行的对话过程中,窗口必须便于查看最新回复。 最新回复显示在回复底部,可向上滚动。
注意
自动滚动是一种使开发者和用户更易于管理对话的解决方案。 它最接近于模拟流畅的对话。 用户管理视图所需的工作量越少,就可将更多时间专注于玩游戏。 手动滚动条需要移动控制器焦点,这可能会在活动游戏期间造成中断。
视觉差异
设计此聊天窗口以匹配 UI 样式可能十分吸引人。 但是,聊天窗口中具有不同于其他游戏组件的特定功能。 它会呈现源自游戏指令之外的信息。
它也是使用文本和帧的游戏信息。 如果聊天窗口和实际的游戏内组件看起来太相似,则用户可能会将它们的意图相混淆。 因此,聊天覆盖必须具有明确将其与游戏 UI 分开的唯一属性。 差异程度由设计师决定。
关闭或销毁对话窗口
游戏必须确定对话窗口何时保持活动状态(在用户执行多任务期间)或何时应关闭(例如当用户退出聊天会话时)。 请注意,此窗口表示实时聊天对话,不会与即时消息 (IM) 混淆。 例如,如果用户离开其主机或暂停游戏,则对话会继续,但是他们会错过在返回之前进行的回复。
注意
UX 建议:当约束或暂停游戏时,使窗口保持活动状态。 当游戏退出时关闭窗口。
可调用游戏的 UI (TCUI)
控制台示例:Xbox One指南是 TCUI,具有使屏幕变暗的透明覆盖。
平台的系统 UI 通常成为任何游戏或应用 UI 的"顶层"可见层。 例如,Xbox One 操作系统启动的 UI(错误消息、虚拟键盘、toast、Xbox One 导航页、人员选取器和其他元素)会对其内容窗口应用半透明的全屏黑色覆盖区。
- UX 影响: 会遮盖对话窗口的可见性。
总结
PlayFab Party 文本到语音转换和语音到文本转换 API 是非常有效的功能,可以在游戏和游戏对话中包含更广泛的用户。 参与游戏和建立关系的玩家越多,他们就越有可能继续玩游戏。 本指南将帮助确保最佳用户体验。
资源
设计模板
-
PlayFab Parties_AI_Templates.zip 包含:
- PlayFab Parties_9GridTemplate.ai
- ConversationWindow_Template.ai
文本到语音转换讲述菜单指南
PlayFab Party 文本转语音和语音转文本 UX 系列
- 第 1 部分: PlayFab Party 文本转语音和文本输入 UX 指南
- 第 2 部分:PlayFab Party 语音转文本和文本显示 UX 指南
SDK 文档
- PlayFab SDK 中的“可访问的游戏内聊天概述”(请参阅 SDK 下载)
辅助功能指南
- Gareth Griffiths。 字幕: 改进游戏的辅助功能和理解力Gamasutra
- 游戏辅助功能指南 包容性游戏设计的简单参考
- Josh Straub。 游戏辅助功能: 它是什么以及它为什么重要Game Informer
包容性设计
- Xbox 全民游戏计划
- 包容性设计 Microsoft 设计工具包和教育
- Stefan Kojouharov。 创建吸引人的聊天机器人的 10 个技巧 本文档引用了对话 UI 技巧。