【要約】AivisSpeech で voice agent ベンチの user simulator TTS コストを 0 にする [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
voice agent の評価において、人間の発話者を模した user simulator が必要となる。開発者が大規模なテスト(matrix 形式)を継続的に実行しようとする際、以下の問題に直面する。
- ・デフォルトの ElevenLabs や OpenAI TTS は従量課金制である。
- ・タスク数や試行回数が増えると、TTS 費用が無視できない規模に膨らむ。
- ・本番想定の評価を維持しつつ、テストコストを抑える手段が不足している。
// Approach
評価フレームワーク「tau2-bench」の TTS 層に、VOICEVOX 互換 API を持つ AivisSpeech を統合する。具体的には以下の手順で実装を行う。
- ・
synthesize_voice関数にaivisspeech用の分岐を追加する。 - ・
/audio_queryで韻律等のパラメータを含む JSON を取得する。 - ・
/synthesisで WAV データを生成し、PCM16 形式へ変換する。 - ・VAD 検出を安定させるため、発話末尾に 600ms の無音を付与する。
// Result
AivisSpeech への置換により、評価の質を維持したままコスト構造を劇的に改善した。主な成果は以下の通りである。
- ・user-sim 側の TTS コストを $0 に削減した。
- ・OpenAI TTS と比較して、会話の成立性や reward 値に差がないことを確認した。
- ・VOICEVOX 互換の他エンジンにも同様の手法が適用可能であることを示した。
Senior Engineer Insight
> 本手法は、大規模な回帰テストを CI/CD に組み込む際の経済的障壁を打破する。agent 側の Realtime API 等、評価対象のコストは維持しつつ、シミュレータ側のコストのみを削る戦略は極めて合理的だ。ただし、サンプリングレートの不一致によるピッチシフト等の副作用には注意が必要である。パイプライン全体での音声フォーマットの厳格な管理が、実戦投入の鍵となる。