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
对于自动语音识别 (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_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开发者计划