练习 - 集成和使用语音识别和听录

已完成

在此模块中,你将创建一个混合现实应用程序,用于探索如何将 Azure 语音服务与 HoloLens 2 配合使用。 完成本系列后,你将能够使用设备的麦克风将语音实时转录为文本、将语音翻译为其他语言,并且使用意向识别功能使用人工智能来理解语音命令。

创建和准备 Unity 项目

在本部分,你将创建一个新的 Unity 项目,并为 MRTK 开发做好准备。

作为先决条件,请确保已完成以下步骤来初始化项目和应用程序:

  1. 创建 Unity 项目并为其指定适当的名称,例如“MRTK 教程”
  2. 切换生成平台
  3. 导入 TextMeshPro 基本资源
  4. 导入混合现实工具包
  5. 配置 Unity 项目
  6. 创建和配置场景并为其提供合适的名称,例如 AzureSpeechServices

注意

可以在混合现实工具包简介模块中了解如何设置混合现实项目。

配置功能

  1. 在 Unity 菜单中,选择“编辑”>“项目设置...”打开“播放器设置”窗口,然后找到“播放器”>“发布设置”部分:

    Screenshot of Configuring capabilities.

  2. 在“发布设置”中,向下滚动到“功能”部分并仔细检查“InternetClient”、“麦克风”和“SpatialPerception”功能(在本教程开端创建项目时启用)是否仍处于启用状态。 然后启用 InternetClientServer 和 PrivateNetworkClientServer 功能。

    Screenshot of Enable the capabilities.

导入教程资产

  1. 按照列出的顺序下载并导入以下 Unity 自定义包

  2. 导入教程资产后,“项目”窗口应如下所示:

    Screenshot of Project window after importing the requisite assets.

准备场景

在本部分中,你将通过添加教程 prefab 并配置用于控制场景的 Lunarcom 控制器(脚本)组件来准备场景。

  1. 在“项目”窗口中,导航到“资产”>“MRTK.Tutorials.AzureSpeechServices”>“预制件”文件夹,然后将“Lunarcom”预制件拖到“层次结构”窗口中以将其添加到场景中。

    Screenshot of preparing the scene.

  2. 在“层次结构”窗口中选中“Lunarcom”对象后,在“检查器”窗口中,使用“添加组件”按钮将“Lunarcom 控制器(脚本)”组件添加到 Lunarcom 对象

    Screenshot of adding Lunarcom controller (Script).

  3. 选中“Lunarcom”对象后,将其展开显示其子对象,然后将“Terminal”对象拖动到“Lunarcom 控制器(脚本)”组件的“Terminal”字段中

    Screenshot of the Terminal field.

  4. 选中“Lunarcom”对象后,展开 Terminal 对象以显示其子对象,然后将“ConnectionLight”对象拖动到“Lunarcom 控制器(脚本)”组件的“Connection Light”字段中,并将“OutputText”对象拖动到“Output Text”字段中

    Screenshot of the Output text field.

  5. 选中“Lunarcom”对象后,展开 Buttons 对象以显示其子对象,然后在“检查器”窗口中展开“Buttons”列表,将“Buttons”字段设置为 3,并将“MicButton”、“SatelliteButton”和“RocketButton”对象分别拖动到“Element”0、1 和 2 字段

    Screenshot of configuring the buttons.

将 Unity 项目连接到 Azure 资源

若要使用 Azure 语音服务,需要创建一个 Azure 资源并获取语音服务的 API 密钥。 按照“快速入门”中的说明进行操作,并记下服务区域(也称为“位置”)和 API 密钥(也称为“密钥 1”或“密钥 2”)

  1. 在“层次结构”窗口中选择“Lunarcom”对象,然后在“检查器”窗口中找到“Lunarcom 控制器(脚本)”组件的“语音 SDK 凭据”部分,并按如下所述对其进行配置:

    • 在“语音服务 API 密钥”字段中,输入 API 密钥(密钥 1 或密钥 2)
    • 在“语音服务区域”字段中,使用小写字母输入你的服务区域(位置)并删除空格

    Screenshot of configuring Speech SDK Credentials.

使用语音识别来转录语音

  1. 在“层次结构”窗口中选择“Lunarcom”对象,然后在“检查器”窗口中,使用“添加组件”按钮将“Lunarcom 语音识别器(脚本)”组件添加到 Lunarcom 对象

    Screenshot of adding the Lunarcom Speech Recognizer (Script).

  2. 如果现在进入游戏模式并选择“开始游戏”按钮,则可以先按麦克风按钮测试语音识别

    Screenshot of Enter game mode.

  3. 假设计算机上配备了麦克风,当你讲话时,会在终端面板上听录你的语音:

    Screenshot of Speech will be transcribed on the terminal panel.

    注意

    应用程序需要连接到 Azure,因此请确保计算机/设备已连接到 Internet。