【連載第2回】声を作る──4つの音声合成を実際に動かして、AivisSpeechに行き着くまで

内容に広告・プロモーションを含みます

第1回で、Neuro-sama(ネウロ様)が「AIなのに」面白い理由を3つに分解しました。①応答速度、②キャラクターの一貫性、③開発者との関係性。この3つのうち、①と②はどちらも「声」に直結します。どれだけ賢い返答を生成できても、声が棒読みで遅ければ配信は成立しません。

というわけで第2回は、うちの子の「声」を決める回です。結論から言うと、今回試した4つの選択肢のうち、AivisSpeechが頭ひとつ抜けていました。ただし「なぜそうなったか」のほうが、この記事の本題です。

目次

声はキャラクターの「顔」である

テキストで会話ロジックがどれだけ優れていても、声が合っていなければキャラクターは成立しません。逆に言えば、声さえハマれば多少ぎこちない受け答えも「味」になる。人間のVTuberにとっての「中の人の声」と同じ重みを、AI VTuberは音声合成エンジンの選定に置く必要があります。

今回は「毒舌だが憎めない」という、第1回で分析したネウロ様的なキャラクター性を基準に、同じセリフを4つのエンジンに読ませて比較しました。

あんたが作ってるAI VTuber、まだ喋れもしないじゃない。ちゃんと私みたいに面白くなれるの?

比較の設計

比較したのは以下の4つです。

エンジン 方式 ライセンス
VOICEVOX モーラ単位のルール+予測(パイプライン分離型) キャラごとに規約あり
AivisSpeech Style-Bert-VITS2(BERT文脈理解+End-to-End生成) ローカル利用は無料
Qwen3-TTS LLMベース・ボイスクローン対応(Alibaba) Apache-2.0
Chatterbox Multilingual LLMベース・ボイスクローン対応(Resemble AI) MIT

採点基準は次の4軸です。

  1. 自然さ・感情表現 — 「毒舌だが憎めない」に合う抑揚が出せるか
  2. レイテンシ — 応答から音声出力までの実測時間
  3. セットアップの手間 — 個人開発でどれだけ早く動かせるか
  4. ライセンス — 将来的なマネタイズに支障がないか

ラウンド1: VOICEVOX vs AivisSpeech ── なぜ聴こえ方が違うのか

まず手元で両方ともローカルにインストール済みだったVOICEVOXとAivisSpeechで、レイテンシを実測しました(VOICEVOX互換API /audio_query/synthesis を叩いて計測)。

音源 応答時間
四国めたん(ノーマル) 2,611ms
四国めたん(ツンツン) 2,570ms
ずんだもん(ノーマル) 2,960ms
九州そら(ノーマル) 3,667ms
AivisSpeech Anneli(ノーマル・コールドスタート) 3,204ms
AivisSpeech Anneli(テンション高め・ウォーム後) 1,256ms

速度自体は僅差でしたが、聴いた瞬間の「流暢さ」の印象は明確にAivisSpeechが上でした。同じ文章を読んでいるのに、なぜここまで違うのか。理由はエンジンの仕組みそのものにあります。

VOICEVOXは、テキストを音素・アクセント句に分解し、モーラ(拍)単位でピッチと長さを予測してから波形に変換する、工程を分けたパイプラインです。OpenJTalkでテキストを解析し、アクセント位置を推定し、そのうえでモーラごとの音高を予測する。この設計のおかげで、audio_queryが返すJSONを直接編集すれば、狙った単語のイントネーションを手動で直すこともできます。ナレーション動画で「この読みだけ直したい」というニーズには強い反面、文全体の意味までは読んでおらず、音素とアクセント位置という機械的な情報だけでイントネーションを決めているため、既定の読み上げはやや平坦になりがちです。

一方AivisSpeechの土台はStyle-Bert-VITS2というモデルです。名前の通りBERT(文脈を理解する言語モデル)とVITS2(テキストから波形までを一気に生成するEnd-to-Endモデル)の組み合わせで、「この文は疑問文だから語尾を上げる」「ここは強い言葉だから強調する」といった文全体の意味・ニュアンスを読んだうえで声を作ります。工程を分けず、GAN(敵対的学習)で「人間が聴いて自然かどうか」を直接の学習目標にしているのも大きな違いです。

つまり、VOICEVOXは「モーラごとに正しい発音を組み立てる」方式、AivisSpeechは「文章全体を理解してから人間らしく喋る」方式。今回感じた流暢さの差は、この設計思想の違いがそのまま出た結果だと考えています。

ラウンド2: LLMベース勢を試す ── Qwen3-TTSとChatterbox

ここで一つ疑問が浮かびます。「LLMベースの音声合成」という、2026年のTTSの主流トレンドを試したら、AivisSpeechを超えられるのではないか。この連載は「自作」がテーマなので、既存のキャラ音源から選ぶだけでなく、自分の声を元に声を作れるLLMベース勢も検証しないわけにはいきません。

候補にしたのは以下の2つです。

  • Qwen3-TTS(Alibaba Qwenチーム、2026年1月OSS公開): 3〜15秒の参照音声から声をクローンできる。日本語専用のCustomVoiceモデルには「Ono_Anna」という明るく機敏な日本語女性声も用意されている
  • Chatterbox Multilingual(Resemble AI): MITライセンス、23言語対応、VRAM消費が軽く、ElevenLabsとベンチマーク比較されるほど評判が高い

どちらも「参照音声不要のデフォルト声」で、AivisSpeechと同じセリフを読ませて比較しました。

セットアップ実録:個人開発のリアルなコスト

ここが今回一番書いておきたい部分です。VOICEVOXとAivisSpeechは、インストーラーを実行して数クリックで終わります。対してLLMベースの2つは、環境構築だけで何度もつまずきました

Qwen3-TTSでの主なトラブル

  1. pip install -e .(リポジトリのローカルビルドを実行する形式)でのインストールがブロックされる → PyPI公開パッケージのqwen-ttsに切り替えて解決
  2. onnxruntimeの新しいビルドが、手元のVisual C++ランタイムと噛み合わずDLL初期化に失敗 → onnxruntime==1.19.2へダウングレードして解決
  3. 依存関係経由で入ったtorchaudioが、明示的にインストールしたtorchとバージョンが対になっておらず、ネイティブ拡張の読み込みに失敗(WinError 127) → torchと同じCUDA向けインデックスから、対になるバージョンのtorchaudioを入れ直して解決
  4. SoX(外部の音声処理ツール)が見つからないという警告が出たため一度インストールしたところ、SoXが同梱する2015年当時の古いDLL(zlib1.dlllibwinpthread-1.dllなど)がPATH上で他のライブラリの同名DLLより先に読み込まれてしまい、新たなWinError 127を誘発 → SoXをPATHから外し、警告バナーを許容する形で解決(今回のテキスト読み上げにはSoXの機能自体不要だった)

Chatterboxでの主なトラブル

  • 動作にPython 3.11が必要(手元の既定環境は3.10だったため専用の仮想環境を用意)
  • パッケージ内のクラス名がドキュメントと実際のimportパスで食い違っていた(chatterbox.ttsではなくchatterbox.mtl_ttsが正)
  • Qwen3-TTSでの教訓を活かし、torchaudioのバージョンを先回りで揃えたところ、今回はそれ以外のトラブルなく一発で生成成功

VOICEVOX・AivisSpeechが「GUIをダウンロードして起動するだけ」なのに対し、LLMベース勢は依存関係のバージョン地獄との戦いでした。ここは「個人開発のコスト」として無視できない差です。

結論 ── うちの子の声を、AivisSpeechに決める

肝心の聴き比べですが、Qwen3-TTS・Chatterboxのどちらも、AivisSpeechの流暢さには届きませんでした。デフォルト状態のままでも十分に聴ける品質ではあるものの、「毒舌だが憎めない」というキャラクター性を乗せたときの説得力は、AivisSpeech(Style-Bert-VITS2)の方が一枚上手でした。

LLMベース勢の名誉のために書いておくと、これらのモデルはボイスクローン能力にこそ強みがあり、参照音声を使ったLoRAチューニングなどを施せば話は変わってくるはずです。ただし、それには相応の工数(学習データの用意、GPU時間、パラメータ調整)がかかります。個人開発の初速としては、その投資に見合うだけの改善が今すぐ必要かというと、答えはノーでした。

というわけで、うちの子の声はAivisSpeech(Anneli)に決定します。

比較を通して見えてきたのは、「新しくて評判のいいモデル」が必ずしも「今すぐ使うべきモデル」とは限らない、という当たり前だけれど見落としがちな事実です。Style-Bert-VITS2が日本語特化でチューニングされ尽くしているのに対し、Qwen3-TTSやChatterboxは多言語対応の汎用モデルです。日本語一本に絞って戦うなら、日本語specializedなモデルに分がある、というのが今回の実感でした。

エンジン 自然さ レイテンシ セットアップ ライセンス 総評
VOICEVOX キャラ毎に規約 手軽さは随一
AivisSpeech ローカル無料 採用
Qwen3-TTS △(未計測・体感やや遅い) Apache-2.0 チューニング前提なら候補
Chatterbox ○(2回目は一発成功) MIT 同上

次回予告

声が決まったので、次回はいよいよ会話ロジックの設計に入ります。コメントを受け取ってから、AivisSpeechで喋らせるまでの最小構成(MVP)を組み立てる回です。第1回で立てた「速度と人格の一貫性」という2本柱を、今度は会話エンジン側でどう実現するかを検証していきます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次