Riva快速入门(嵌入式平台操作指南)

Riva Speech Skills 支持两种架构,Linux x86_64 和 Linux ARM64 , 本章节重点对在Linux ARM64架构的嵌入式平台如何快速入门Riva进行说明。

一: 嵌入式平台使用的先决条件

1.您可以访问并登录到 NVIDIA NGC 请参阅 NGC 入门指南

2.您可以使用Linux aarch64架构操作系统的嵌入式平台硬件如下:
在这里插入图片描述

3.您已在 Jetson Xavier 上安装了 NVIDIA JetPack™ 4.6.1 版。有关详细信息请参阅Support Matrix

4.根据默认容器和模型大小的要求,您在 Jetson 上需要有约至少 7 GB 的可用磁盘空间。如果需要部署自定义 Riva 模型中间表示 (RMIR) 模型,则所需要约为 5 GB 加上自定义 RMIR 模型的大小的额外磁盘空间。

5.您已经在Jetson平台上启用了以下电源模式。 这些模式会激活所有的CPU内核,并以最高频率时钟CPU/GPU,以获得最佳性能。启用指令如下:

sudo nvpmodel -m 0 (Jetson Xavier AGX, mode MAXN)
sudo nvpmodel -m 2 (Jetson Xavier NX, mode MODE_15W_6CORE)

二:可供部署的模型

  • 使用NGC目录中所提供的预训练模型来部署Riva功能

  • 本地化Docker: 您可以使用快速入门脚本结合Docker部署Riva服务。嵌入式平台不支持Riva Helm Chart方式的部署

  • 在嵌入式平台上部署时,会下载 NVIDIA Jetson 上 GPU 的预先优化好的模型。

三:本地快速启动脚本部署

针对于嵌入式平台的操作步骤:

1.可以使用NGC的CLI工具通过命令行方式下载针对于嵌入式平台的快速启动脚本,指令如下:

ngc registry resource download-version nvidia/riva/riva_quickstart_arm64:2.1.0

2.切换至嵌入式平台快速启动脚本目录中:

cd riva_quickstart_arm64_v2.1.0

3.初始化并启动Riva(初始化步骤将会下载并准备Docker镜像和模型, start命令启动服务器)

bash riva_init.sh
bash riva_start.sh

注意:对于嵌入式平台不需要bash riva_start_client.sh的步骤,因为客户端示例已经存在于上一步中所启动的 Riva 服务器的容器当中。

4.嵌入式平台的Riva服务开启后,从容器内部可以使用所提供的 Jupyter 笔记本,通过以下指令开启jupyter notebook。

jupyter notebook --ip=0.0.0.0 --allow-root

四:使用 Riva 转录音频文件(语音识别)

对于自动语音识别 (ASR)任务,嵌入式平台与数据中心平台具体的API命令行使用方法一样,会从 Riva 容器内部运行以下命令,以执行音频文件的流式传输和离线转录。

  • 进行离线语音识别指令:
riva_asr_client --audio_file=/work/wav/en-US_sample.wav
  • 进行流式语音识别指令:
riva_streaming_asr_client --audio_file=/work/wav/en-US_sample.wav

五:使用 Riva 生成语音(语音合成)

在Riva 容器中运行以下命令来合成音频文件。命令行案例如下:

riva_tts_client --voice_name=English-US-Female-1 \
                --text="Hello, this is a speech synthesizer." \
                --audio_file=/work/wav/output.wav

注意
–voice_name:选择语音合成的声音样本
–text:指定需要进行语音合成的文字
–audio_file: 合成出来的音频文件output.wav存储在 /work/wav 目录中。

六:总结

在本快速入门指南中,您了解到了如何在嵌入式平台中使用预训练模型部署Riva 服务器和使用命令行 API 的基础知识。

  • 初始化启用Riva服务器

  • 通过 Jupyter 笔记本使用 Riva API

  • 嵌入式平台容器中执行 Riva 命令行完成语音识别

  • 嵌入式平台容器中执行 Riva 命令行完成语音合成

  • 有关如何在实际应用中使用 Riva 技能的更多示例,您可以关注虚拟助手演示

  • 有关微服务gRPC可以参考 gRPC gRPC & Protocol Buffers

  • 更多的客户端命令行可参考 API Command-line Clients

  • 要了解有关 Riva 技能的更多信息,请访问 NVIDIA Riva 开发者主页NVIDIA Riva | NVIDIA Developer。

  • 更多精彩内容,请扫描下方二维码或者访问https://developer.nvidia.com/zh-cn/developer-program 来加入NVIDIA开发者计划
    在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐