0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RustでSIP音声ボット(ずんだもん)を作るメモ:音声合成

Last updated at Posted at 2025-12-14

この記事は筆者オンリーのAdvent Calendar 202513日目の記事です。

RustでSIP通話を受けて、ASR→LLM→音声合成→相手に返す、という音声ボットを作っています。
この記事は 音声合成(TTS) パートの話だけを、ざっくり紹介します。

結論:ずんだもんを使うならVOICEVOX一択

今回のボットは ずんだもん に喋らせたいので、音声合成は実質 VOICEVOX一択 でした。

  • ずんだもん音声がそのまま使える
  • 日本語が自然で、会話ボット向き
  • ローカルで動かせる(構成次第で音声を外に出さない)
  • エンジンがHTTP APIなので、Rustからでも叩きやすい

「ずんだもんで喋らせる」を最優先にすると、選定で悩む余地がほぼなくなります。

ざっくり仕組み(どう使うか)

VOICEVOXは大きく「エンジン(音声合成サーバ)」を立てて、HTTPで合成します。

使い方の流れは基本これだけ:

  1. 話者(スタイル)一覧を取る(ずんだもん等、どの声で喋らせるか決める)
  2. 文章から“合成用クエリ”を作る(イントネーション等のパラメータ入り)
  3. クエリを渡してWAVを生成する

つまり、テキストを投げて終わりというより
「クエリ生成 → 合成」の2段階になってる、くらいの理解でOKです。

SIP音声ボット目線のメモ(超ざっくり)

  • 返答を一気に長文合成すると待ちが長くなるので、短く区切って順に喋らせると会話っぽくなる
    (例:「。」や改行で分割)
  • 定型文(挨拶・案内)をよく使うなら、音声をキャッシュすると安定する
  • 起動直後の1回目が重いことがあるので、必要なら warm-up(ダミーで一度合成)もアリ
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?