构建 ASR + LLM + TTS 流水线

简介

想象一下,对 Jetson 设备说话,然后收到语音回复——就像和朋友聊天一样。ASR + LLM + TTS 流水线将三种 AI 能力结合成一个完整的语音助手,完全离线运行:

  • ASR(自动语音识别):监听你的声音并转换为文本
  • LLM(大语言模型):理解并生成智能回复
  • TTS(文本转语音):将文本回复转换为自然语音
Code
麦克风 --> [ASR] --> 文本 --> [LLM] --> 文本 --> [TTS] --> 扬声器
              (Whisper)          (Ollama)          (Coqui/Riva)

voice-pipeline

系统要求

组件最低配置推荐配置
设备Jetson Orin Nano 8GBJetson Orin NX 16GB / AGX Orin 32GB
音频USB 麦克风USB 麦克风 + 扬声器
系统JetPack 6.2+最新 JetPack 6.x
存储50GB 可用空间100GB+

动手实验:两个可直接运行的项目

以下是两个在 Jetson 上实现 ASR + LLM + TTS 流水线的完整测试项目。选择与你的硬件配置匹配的项目,按指南操作。


项目 1:reComputer + Reachy Mini 语音 LLM

reachy

基于 reComputer Mini J501 搭配 Reachy Mini Lite 开源机器人构建的完全本地化、低延迟语音交互机器人助手。

组件技术方案
ASRFunASR(ModelScope)
LLMOllama — Qwen2.5 7B
TTSCoqui TTS — Tacotron2-DDC-GST
硬件reComputer Mini J501 + Reachy Mini Lite

快速开始:

bash
# 第一步:安装 Ollama 并下载 LLM
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen2.5:7b

# 第二步:克隆项目并安装依赖
git clone https://github.com/Seeed-Projects/reachy-mini-loacl-conversation.git
cd reachy-mini-loacl-conversation
pip install -r requirements.txt -i https://pypi.jetson-ai-lab.io/
pip install "reachy-mini"

# 第三步:启动 Reachy Mini 守护进程(终端 1)
reachy-mini-daemon

# 第四步:启动语音助手(终端 2)
export OLLAMA_HOST="http://localhost:11434"
export OLLAMA_MODEL="qwen2.5:7b"
export COQUI_MODEL_NAME="tts_models/zh-CN/baker/tacotron2-DDC-GST"
export DEFAULT_VOLUME="1.5"
python main.py

R 开始录音,按 S 停止。系统将处理你的语音并以语音回复。

详细教程请参阅:在 reComputer Jetson 上部署本地语音 LLM(适用于 Reachy Mini)


项目 2:NVIDIA Riva + Llama2 本地语音聊天机器人

riva

使用 NVIDIA Riva 进行 ASR/TTS、Llama2 7B 进行语言生成的完整语音聊天机器人,完全运行在 Jetson AGX Orin 上,无需云服务。

组件技术方案
ASR + TTSNVIDIA Riva — Conformer ASR + FastPitch/HiFiGAN TTS
LLMLlama2 7B Chat via text-generation-inference
音频ReSpeaker USB 麦克风阵列
硬件Jetson AGX Orin 32GB

快速开始:

bash
# 第一步:安装 Riva Server(需要 NGC CLI + API 密钥)
# 下载并配置 riva_quickstart_arm64:2.13.1
# 编辑 config.sh:启用 ASR + TTS,禁用 NLP/NMT
sudo bash riva_init.sh    # 下载模型(约 5 分钟)
sudo bash riva_start.sh   # 启动 Riva 服务器(保持运行)

# 第二步:启动 LLM 推理服务器(终端 2)
# 使用 dusty-nv/jetson-containers + text-generation-inference
# 模型服务端口 8899

# 第三步:运行聊天机器人演示(终端 3)
python3 local_chatbot.py --input-device <id> --output-device <id>
# 使用 --list-input-devices / --list-output-devices 查找音频设备 ID

三个终端同时运行:Riva 服务器、LLM 服务器和聊天机器人演示。

jetson-agx

详细教程请参阅:本地语音聊天机器人:在 reComputer 上部署 Riva 和 Llama2


对比

项目 1(Reachy Mini)项目 2(Riva + Llama2)
ASRFunASRNVIDIA Riva
TTSCoqui TTSNVIDIA Riva
LLMQwen2.5 7B(Ollama)Llama2 7B(TGI)
最低内存8GB16GB
特殊硬件Reachy Mini Lite 机器人ReSpeaker USB 麦克风阵列
语言中文(可配置)英文
难度入门进阶

参考资料


恭喜! 你已完成模块 5,学会了如何在 Jetson 设备上离线运行 LLM,并构建完整的语音助手流水线!

下一步:继续学习第 6 章:生成式 AI 应用或返回第 5 章概述