# 音声AI 本番実装ガイド【2026】：音声認識(STT)×音声合成(TTS)×音声エージェントの全体像と技術選定

> 音声AI（音声認識STT・音声合成TTS・音声エージェント）を本番投入するための全体像ガイド。耳(Whisper)→脳(LLM)→口(Qwen-TTS)の各レイヤーの技術選定、リアルタイム対話の低遅延設計、前処理（音源分離・VAD）、冪等キャッシュ・回復性・可観測性・コスト・a11y・ボイスクローンの倫理まで、各深掘り記事への地図として実務目線で解説します。

- 公開日: 2026-06-25
- 著者: 友田 陽大
- タグ: 音声合成, 音声認識, 生成AI, Qwen, アーキテクチャ設計, 技術選定
- URL: https://tomodahinata.com/blog/voice-ai-production-guide-stt-tts-voice-agents

## 要点

- 音声AIは『耳(STT)→脳(LLM)→口(TTS)』の連鎖。本番化の勝負どころはモデルの賢さより、境界・回復性・コスト・可観測性・倫理の設計
- レイヤーごとに代表技術がある：STTはWhisper、TTSはQwen-TTS、前処理は音源分離/VAD、対話はリアルタイム合成
- 対話の体感は『最初の音までの時間』で決まる。バッチ生成とリアルタイム対話は別物として設計する
- 本番の共通装備は全レイヤーで同じ：内容ハッシュの冪等キャッシュ・指数バックオフ・可観測性・PIIを出さないログ
- ボイスクローンは同意・開示・来歴を“前提”として設計に組み込む。これが企業案件の信頼境界になる

---

「音声をAIで扱いたい」——文字起こし、読み上げ、電話の自動応答、多言語の吹き替え、対話する受付。要件は様々ですが、本番に載せる段になると**判断すべきことは驚くほど共通**しています。**どのモデルを選ぶか。リアルタイムかバッチか。コストをどう抑えるか。失敗してもやり直せるか。そして——他人の声を勝手に複製しないという一線をどう守るか。**

この記事は、音声AIを**本番品質**で組み上げるための**全体像（地図）**です。各レイヤーの深掘りは個別記事に譲り、ここでは**「どの技術を、どこで、どう組み合わせるか」**という設計の見取り図と、全レイヤーに共通する本番装備を示します。題材は、私が実際に構築した[生成AI音声チャットボット](/case-studies/ai-voice-chatbot)（STT→LLM→TTSの音声接客）と[AI動画ローカライズ基盤](/case-studies/ai-video-localization-lipsync)（多言語吹き替え）です。

> **この記事のルール**：各モデルの仕様・料金は**各公式ドキュメント（2026年6月時点）**に基づきます。料金・モデル名は改定が速いため、本番投入前に必ず一次情報で確認してください。コードは実運用で使える形に整えていますが、APIキーは環境変数前提（ハードコード厳禁・ブラウザに出さない）です。

---

## 0. 音声AIの地図：5つのレイヤー

音声AIのシステムは、ほぼ必ず次のレイヤーの組み合わせに分解できます。**自分の要件がどのレイヤーを必要とするか**を最初に切り分けてください。

```text
[① 前処理]      [② STT]        [③ LLM]        [④ TTS]        [⑤ アバター]
音源分離/VAD  →  音声→テキスト → 理解・応答生成 → テキスト→音声 → 口元同期(任意)
（雑音/BGM除去）  （耳）          （脳）          （口）          （顔）
```

各レイヤーには「定番の深掘り記事」があります。本ガイドはそのハブです。

| レイヤー | 役割 | 代表技術 | 深掘り記事 |
| --- | --- | --- | --- |
| ① 前処理 | 雑音・BGM除去、無音検出 | Demucs / UVR5 / VAD | [音源分離ツール選定](/blog/music-source-separation-tool-selection-demucs-uvr-spleeter) |
| ② STT | 音声 → テキスト | Whisper / gpt-4o-transcribe | [Whisper 本番運用ガイド](/blog/openai-whisper-production-guide-selfhost-vs-api) |
| ③ LLM | 理解・応答生成 | Claude / GPT（+RAG） | [Vercel AI SDK 本番ガイド](/blog/vercel-ai-sdk-production-llm-apps-streaming-tools-rag) |
| ④ TTS | テキスト → 音声 | Qwen-TTS / ElevenLabs ほか | [Qwen-TTS 本番運用ガイド](/blog/qwen-tts-qwen3-tts-flash-production-guide) |
| ⑤ アバター | 音声 → 口元同期 | MuseTalk / LatentSync | [リップシンク・デジタルヒューマン](/blog/ai-lip-sync-talking-head-model-selection-guide-2026) |

> **設計の出発点**：全レイヤーを使うのは「対話するデジタルヒューマン」くらいです。**文字起こしだけなら②、読み上げだけなら④**で足ります。要件に無いレイヤーを足さない——これが最初のコスト最適化です（YAGNI）。

---

## 1. STT（音声認識）：音声をテキストにする

「耳」のレイヤー。録音の文字起こし、議事録、字幕、検索インデックス、そして音声エージェントの入力に使います。

```python
# OpenAI Audio API（運用ゼロ・高精度）。セルフホストなら Whisper turbo。
from openai import OpenAI
client = OpenAI()  # キーは環境変数

with open("speech.mp3", "rb") as f:
    text = client.audio.transcriptions.create(
        model="gpt-4o-transcribe", file=f, language="ja",  # 言語固定で精度↑
    ).text
```

選定の勘所は**「音声を外に出せるか（プライバシー）」「長さ」「コスト構造」「運用体制」**の4軸です。社外秘音声を送れないならセルフホスト（Whisper `turbo`/`large`）一択。詳細・25MB制限の回避・幻覚対策は[Whisper 本番運用ガイド](/blog/openai-whisper-production-guide-selfhost-vs-api)に。

---

## 2. TTS（音声合成）：テキストを音声にする

「口」のレイヤー。ナレーション、読み上げ、IVR、吹き替え、キャラクターボイス。本ガイドの主力は[Qwen-TTS](/blog/qwen-tts-qwen3-tts-flash-production-guide)（49+音色・10言語・9つの中国語方言・Apache-2.0のOSS版あり）。

```python
import os, dashscope
dashscope.base_http_api_url = "https://dashscope-intl.aliyuncs.com/api/v1"

res = dashscope.MultiModalConversation.call(
    model="qwen3-tts-flash", api_key=os.getenv("DASHSCOPE_API_KEY"),
    text="本日はご来店ありがとうございます。", voice="Cherry",
    language_type="Japanese", stream=False,
)
audio_url = res.output.audio.url  # ※24時間で失効 → 即・自前ストレージへ退避
```

TTSは派生テーマが広いので、目的別に深掘り記事へ：

- **声の選定・方言・指示制御・OSS版の全体像** → [Qwen-TTS 本番運用ガイド](/blog/qwen-tts-qwen3-tts-flash-production-guide)
- **他社（ElevenLabs/OpenAI/Google/Azure）との比較・選定** → [TTS徹底比較](/blog/qwen-tts-vs-elevenlabs-openai-google-azure-tts-comparison)
- **独自の声（ボイスクローン）と倫理・同意設計** → [ボイスクローン本番実装](/blog/qwen-tts-voice-cloning-self-hosting-consent-governance-guide)
- **アクセシブルな「記事読み上げ」UI** → [Next.js 読み上げプレイヤー](/blog/nextjs-qwen-tts-accessible-audio-player-text-to-speech)

---

## 3. 音声エージェント：耳と口をつなぐ（リアルタイム対話）

STT→LLM→TTS を**ひと続きの低遅延ループ**にすると、音声エージェント（電話の自動応答・受付・接客）になります。ここで品質を決めるのは賢さではなく**間（ま）**——**最初のひと言が返るまでの速さ**と、**話しかけたら即黙る**バージインです。

```text
ユーザー発話 → ②STT → ③LLM(ストリーミング) → ④TTS(リアルタイム) → 再生
        ↑________________ バージイン（割り込みで即停止）________________|
```

肝は「全文を待たない」こと。LLMの**最初の文ができた瞬間にTTSへ流す**とfirst_audio_delayが縮みます。WebSocketプロトコル・ブラウザでのPCMギャップレス再生・バージインの実装は[Qwen-TTS リアルタイム音声エージェント実装ガイド](/blog/qwen-tts-realtime-voice-agent-websocket-streaming-guide)で詳説。RAG接客の実例は[生成AI音声チャットボット](/case-studies/ai-voice-chatbot)です。

> **バッチとリアルタイムは別物**：録音の一括文字起こし／ナレーションの一括生成（バッチ）と、対話の逐次処理（リアルタイム）は設計が違います。要件を取り違えると、無駄にWebSocketを張ったり、逆に待たせるUXになります（KISS）。

---

## 4. 前処理：精度とコストは「入力の質」で決まる

雑音・BGM・無音は、STTの精度を落とし、TTS/対話の体感を損ないます。**入力を整える前処理**が効きます。

- **音源分離**：BGMや雑音から「声だけ」を取り出すと、文字起こし精度が上がる。BGMを残したまま多言語吹き替えする際にも必須。→ [音源分離ツール選定](/blog/music-source-separation-tool-selection-demucs-uvr-spleeter)
- **VAD（音声区間検出）**：発話のない区間を落とすと、課金が減り、Whisperの「幻覚」も抑えられる。
- **正規化・分割**：長尺は無音境界で分割（文の途中で切らない）。

「精度が出ない」の多くは、モデルではなく**入力の質**が原因です。前処理は地味ですが投資対効果が高い領域です。

---

## 5. 選定の地図：タスク別チートシート

「結局どれを使うか」をタスクから引けるように整理します。

| やりたいこと | 主に使うレイヤー | 第一候補 | 深掘り |
| --- | --- | --- | --- |
| 録音の文字起こし・字幕 | ② | Whisper `turbo` / gpt-4o-transcribe | [Whisper](/blog/openai-whisper-production-guide-selfhost-vs-api) |
| 記事・教材の読み上げ | ④ | Qwen-TTS（+a11yプレイヤー） | [読み上げUI](/blog/nextjs-qwen-tts-accessible-audio-player-text-to-speech) |
| 電話/受付の自動対話 | ②③④ | STT＋LLM＋Qwen-TTS realtime | [リアルタイム](/blog/qwen-tts-realtime-voice-agent-websocket-streaming-guide) |
| 多言語ナレーション・吹き替え | (①)④ | Qwen-TTS（10言語） | [Qwen-TTS](/blog/qwen-tts-qwen3-tts-flash-production-guide) |
| 自社/タレントの声で読ませる | ④ | OSSボイスクローン（+同意設計） | [ボイスクローン](/blog/qwen-tts-voice-cloning-self-hosting-consent-governance-guide) |
| TTSのベンダー選定 | ④ | 要件から逆算 | [TTS比較](/blog/qwen-tts-vs-elevenlabs-openai-google-azure-tts-comparison) |
| 雑音/BGM下の精度改善 | ①② | 音源分離＋VAD＋Whisper | [音源分離](/blog/music-source-separation-tool-selection-demucs-uvr-spleeter) |
| 喋るアバター/受付 | ②③④⑤ | 上記＋リップシンク | [デジタルヒューマン](/blog/ai-lip-sync-talking-head-model-selection-guide-2026) |

---

## 6. 本番運用の共通装備（全レイヤーで同じ）

音声AIはレイヤーが違っても、**「外部API or GPU・課金あり・長時間ジョブ」**という性質は共通です。だから本番装備も共通化できます（DRY）。

- **内容ハッシュの冪等キャッシュ**：入力（テキスト/音声＋パラメータ）のSHA-256をキーに結果を保存。同入力は再生成しない＝**コスト削減＋再開可能＋二重課金回避**。
- **指数バックオフ付きリトライ**：一時障害（429/5xx/接続断）だけ再試行し、入力不正（4xx）は即失敗（fail fast）。冪等な操作にだけ掛ける。
- **生成物の寿命管理**：TTSの生成URLは**24時間で失効**するなど、外部の一時リソースは受領直後に自前ストレージへ退避。
- **可観測性**：first_audio_delay（対話）・RTF（音声長に対する処理時間比）・文字数/分課金・推定コスト・失敗種別を構造化ログに。相関は[OpenTelemetry](/blog/opentelemetry-observability-production-tracing-metrics-logs)で。
- **PIIを出さない**：音声・原稿は個人情報になり得る。**本文ではなくメタデータ**だけ記録する。
- **境界バリデーション**：言語・音色・ファイル形式/サイズを[Zodで境界検証](/blog/typescript-type-safety-discipline-zod-nevererror-no-any)。ユーザー由来の値を素通ししない。
- **a11y**：生成音声は自動再生しない・キーボードで操作可・状態を`aria-live`で告知・テキストを併記（[WCAG 2.2](/blog/react-nextjs-web-accessibility-wcag22-guide)）。

この共通レイヤーを最初に1つ作り、各機能から呼び出す——これが保守性と拡張性の核です（SRP・ETC）。

---

## 7. 倫理・コンプライアンス・データ所在

音声AIは「技術的にできる」と「やってよい」が最も乖離する領域です。**設計の前提**として組み込みます。

- **ボイスクローンの同意・開示・来歴**：本人同意のない声の複製はなりすまし・詐欺に直結。**同意台帳・用途限定・失効・AI生成の開示・来歴（プロベナンス）**を必須化する。→ [ボイスクローンのガバナンス設計](/blog/qwen-tts-voice-cloning-self-hosting-consent-governance-guide)
- **AI生成の明示**：合成音声であることを明示（規制対応かつ倫理）。
- **データ所在（residency）**：原稿・声がどの国/事業者に渡るか。社外秘・要配慮個人情報なら、リージョン選定かOSSセルフホストで境界の外に出さない。
- **保存方針**：保持期間・暗号化・削除フローを最初に決める。

---

## 8. ユースケース別レシピ

- **多言語eラーニング/ナレーション**：原稿を音色固定で `language_type` を回し10言語化（④）。→ [Qwen-TTS](/blog/qwen-tts-qwen3-tts-flash-production-guide)
- **動画の多言語吹き替え**：①音源分離→②文字起こし→翻訳→④TTS→⑤口元同期。私が[AI動画ローカライズ基盤](/case-studies/ai-video-localization-lipsync)で構築した流れです。
- **電話IVR/受付の自動対話**：②③④ realtime をWebSocketで（→[リアルタイム](/blog/qwen-tts-realtime-voice-agent-websocket-streaming-guide)、[音声チャットボット](/case-studies/ai-voice-chatbot)）。
- **アクセシブルな読み上げ**：記事/書類を④で音声化し、a11yプレイヤーで提供（→[読み上げUI](/blog/nextjs-qwen-tts-accessible-audio-player-text-to-speech)）。
- **放送/制作のQA**：OCR×ASRでテロップ誤字を照合（②応用）→ [テロップ誤字検出](/blog/telop-typo-detection-ocr-asr-cloud-workflows)。

---

## 9. まとめ：音声AI設計チートシート

- **まずレイヤーを切り分ける**：必要なのは②だけか、④だけか、②③④の対話か、全部か。
- **STT**：外に出せない/長尺 → セルフホスト Whisper。即日/高精度 → gpt-4o-transcribe。
- **TTS**：多言語/方言/最安 → Qwen-TTS。データ主権/独自の声 → OSSセルフホスト。選定は[比較記事](/blog/qwen-tts-vs-elevenlabs-openai-google-azure-tts-comparison)。
- **対話**：first_audio_delayを指標に、文単位でTTSへ流し、バージインで即停止。
- **前処理**：音源分離・VADで入力の質を上げる（精度・コストに直結）。
- **共通装備**：冪等キャッシュ・指数バックオフ・24h URL退避・可観測性・PII非出力・a11y。
- **倫理**：クローンは同意・開示・来歴を前提に。データ所在を設計判断に。

音声AIは「一行の要件」に見えて、**レイヤー選定・コスト・遅延・プライバシー・倫理のトレードオフを設計する仕事**です。私は音声接客（STT→LLM→TTS）と多言語吹き替えの両方を本番運用し、冪等・回復性・可観測性・a11y・倫理を担保した形で組み上げました。**「自社の音声業務を、速く・安く・安全に・誰でも使える形で本番化する」——その設計から実装・運用まで一気通貫で伴走します。** 要件の整理段階からお気軽にご相談ください。

---

### 参考（深掘り記事 / 公式ドキュメント）

- STT：[Whisper 本番運用ガイド](/blog/openai-whisper-production-guide-selfhost-vs-api)
- TTS：[Qwen-TTS 本番運用ガイド](/blog/qwen-tts-qwen3-tts-flash-production-guide) ／ [TTS徹底比較](/blog/qwen-tts-vs-elevenlabs-openai-google-azure-tts-comparison)
- 対話：[リアルタイム音声エージェント](/blog/qwen-tts-realtime-voice-agent-websocket-streaming-guide)
- 倫理：[ボイスクローンのガバナンス設計](/blog/qwen-tts-voice-cloning-self-hosting-consent-governance-guide)
- 前処理：[音源分離ツール選定](/blog/music-source-separation-tool-selection-demucs-uvr-spleeter)
- 公式：[OpenAI Speech-to-Text](https://developers.openai.com/api/docs/guides/speech-to-text) ／ [Qwen-TTS（Alibaba Cloud Model Studio）](https://www.alibabacloud.com/help/en/model-studio/qwen-tts)
