ASR + LLM + TTS パイプラインの構築

はじめに

Jetson デバイスに話しかけて音声返答を受け取る — まるで友達と話しているかのような体験。ASR + LLM + TTS パイプラインは、3つの 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 マイク + スピーカー
OSJetPack 6.2+最新 JetPack 6.x
ストレージ50GB 空き100GB+

ハンズオン:すぐ動かせる2つのプロジェクト

以下は Jetson 上で ASR + LLM + TTS パイプラインを実装した2つの完整テストプロジェクトです。あなたのセットアップに合ったものを選んでガイドに従ってください。


プロジェクト 1:reComputer + Reachy Mini 音声 LLM

reachy

reComputer Mini J501Reachy Mini Lite オープンソースロボットを組み合わせた、完全にローカルで低遅延の音声対話ロボットアシスタント。

コンポーネントテクノロジー
ASRFunASR(ModelScope)
LLMOllama — Qwen2.5 7B
TTSCoqui TTS — Tacotron2-DDC-GST
ハードウェアreComputer Mini J501 + Reachy Mini Lite

クイックスタート:

bash
# ステップ 1:Ollama をインストールして LLM をダウンロード
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen2.5:7b

# ステップ 2:プロジェクトをクローンして依存関係をインストール
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"

# ステップ 3:Reachy Mini デーモンを起動(ターミナル 1)
reachy-mini-daemon

# ステップ 4:音声アシスタントを起動(ターミナル 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 を押して停止。システムがあなたの speech を処理して音声で返答します。

詳細な歩き方はこちら:reComputer Jetson で Reachy Mini 用ローカル音声 LLM をデプロイ


プロジェクト 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
# ステップ 1: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 サーバーを起動(-running で保持)

# ステップ 2:LLM 推論サーバーを起動(ターミナル 2)
# dusty-nv/jetson-containers + text-generation-inference を使用
# モデルはポート 8899 で提供服务

# ステップ 3:チャットボットデモを実行(ターミナル 3)
python3 local_chatbot.py --input-device <id> --output-device <id>
# --list-input-devices / --list-output-devices でオーディオデバイス ID を確認

3つのターミナルが同時に動作: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)
最小 RAM8GB16GB
特殊 HWReachy Mini Lite ロボットReSpeaker USB マイクアレイ
言語中国語(設定可能)英語
難易度入門中級

参考資料

  • Jetson AI Lab — NVIDIA 公式 Jetson AI プラットフォーム
  • FunASR — 音声認識ツールキット
  • Coqui TTS — オープンソーステキスト読み上げ
  • NVIDIA Riva — GPU アクセラレーテッド speech AI SDK
  • Ollama — ローカル LLM 推論エンジン

おめでとうございます! モジュール 5 を完了し、Jetson デバイスで LLM をオフラインで実行し、完全な音声アシスタントパイプラインを構築する方法を学びました!

次のステップ第 6 章:生成 AI アプリケーションに進むか、第 5 章の概要に戻る。