ローカル音声認識・音声合成

ローカルTTS比較:言語・機材・速度根拠の読み方

対応言語数やモデルの小ささだけでは、手元のパソコンでどれほど早く終わるか分かりません。Qwen3-TTS1派生CUDA2ランタイム3にはRTX 4090・5090の作者実測がありますが、KokoroやChatterbox Multilingual V3との同条件比較ではありません。機材、実行版、文章長、測定範囲を確かめ、自分の作業で測る方法を解説します。

実行条件と要点
  • KokoroはApache-2.0のモデルカードとApple Silicon MPS経路を記載しています。
  • Qwenの97msは最初のストリーミングパケットの主張で、合成全体の完了時間ではありません。
  • Chatterbox Nanoの8コアCPUの主張をMultilingual V3の性能に当てはめません。

まず出力と使用言語を決める

ナレーション、多言語案内、特定話者に似た声のどれが必要かを決め、言語と実際の文章を選びます。Kokoroは8言語、Qwen3-TTSは10言語、Chatterbox Multilingual V3は23以上を掲げますが、数は発音品質の順位ではありません。人名、数字、句読点を含む短文を同じ条件で聴いてください。

言語が一覧にあっても、訛りや専門用語が必要な品質で出るとは限りません。幅広い言語対応と、特定地域・業務の文章を正確に読むことは別です。「対応表記」と「自分の試験に合格」を別々に記録します。

機能と公式の実行経路を比較する

Kokoroは82Mの一般読み上げ候補で、公式READMEにCPU4・CUDA例とApple Silicon M1〜M4のMPS fallbackがあります。Qwen3-TTSはCustomVoice・VoiceDesign・Baseに分かれ、公式クイックスタートはPython 3.12とCUDAを説明します。確認した公式手順にはQwenのMPS・CPU経路はありません。

Chatterbox Multilingual V3は500Mの多言語モデルで、リポジトリのPython例はCPU・CUDA・MPSを選びます。これは実行経路の記載であり、性能が同等という意味ではありません。MacではMPS経路が候補を絞る助けになりますが、速度とメモリは別途測定が必要です。

木の棚に並んだスピーカー、録音機、マイク
モデルごとに公式に確認できる実行経路を分けます。

公開された時間と不足条件

Qwen READMEは最初の音声が最短97msで届くと説明しますが、機材、入力長、精度、batch、完了範囲は併記されていません。これはストリーミングTTFAの主張です。別の作者ベンチマークにはQwen派生CUDA経路のRTX 4090・5090値があり、下表の実行版と条件を合わせて読む必要があります。

下の数値は当サイトの測定でも、Qwen公式チームの結果でもありません。faster-qwen3-tts作者はRTX 4090で0.6B・1.7BのCUDA Graph RTF5 4.78・4.22、TTFA 156・174msを報告しますが、表に文章長と反復条件はありません。

TritonリポジトリのRTX 5090値はBF166、batch 1、韓国語・英語の二文、ウォームアップ3回・測定20回を明記しています。両者のRTFは「実音声長÷生成時間」で、この文章で定義した一般的なRTFの逆数です。

数値が大きいほどリアルタイムより速いことを示します。どちらも特定の最適化構成の結果です。

Tritonの表は初回ロードも別に示し、Hybridは6.0秒、PyTorch7 Baseは17.5秒です。試験文の実際の音声長は記載されていないため、このRTFやリクエスト時間を別の長さの文章へそのまま当てはめないでください。

デモに共通のサンプル音声があっても、選択したモデルが生成した比較音声とは限りません。出力品質を比べる場合は、各モデルで同じ文章・話者条件の音声を作り、出典と設定を確認してください。

Qwen派生CUDAランタイムの作者公開値:モデル横断の順位ではない
実行環境・条件リクエスト時間初回モデルロードリポジトリ表記のRTF*最初の音声
faster-qwen3-tts・RTX 4090・0.6B・CUDA Graph表では未記載表では未記載4.78156 ms
faster-qwen3-tts・RTX 4090・1.7B・CUDA Graph表では未記載表では未記載4.22174 ms
Qwen3-TTS-Triton・RTX 5090・1.7B Hybrid・BF16・batch 1・KO/EN・ウォームアップ3回+20回測定886 ms KO / 1,042 ms EN6.0 s4.20 KO / 4.26 EN個別値は未記載
同条件のTritonベンチマークBase4,615 ms KO / 5,081 ms EN17.5 s0.88 KO / 0.90 EN個別値は未記載

Qwen派生CUDAランタイムの作者公開値:モデル横断の順位ではない

faster-qwen3-tts・RTX 4090・0.6B・CUDA Graph

リクエスト時間
表では未記載
初回モデルロード
表では未記載
リポジトリ表記のRTF*
4.78
最初の音声
156 ms

faster-qwen3-tts・RTX 4090・1.7B・CUDA Graph

リクエスト時間
表では未記載
初回モデルロード
表では未記載
リポジトリ表記のRTF*
4.22
最初の音声
174 ms

Qwen3-TTS-Triton・RTX 5090・1.7B Hybrid・BF16・batch 1・KO/EN・ウォームアップ3回+20回測定

リクエスト時間
886 ms KO / 1,042 ms EN
初回モデルロード
6.0 s
リポジトリ表記のRTF*
4.20 KO / 4.26 EN
最初の音声
個別値は未記載

同条件のTritonベンチマークBase

リクエスト時間
4,615 ms KO / 5,081 ms EN
初回モデルロード
17.5 s
リポジトリ表記のRTF*
0.88 KO / 0.90 EN
最初の音声
個別値は未記載
窓辺の机のノートパソコンと接続したヘッドホン、筆記用ノート
TTFA、合成完了、ファイル保存を別々に測ります。

RTFと最初の音声の遅延は別の指標

完成した音声がA秒、測定時間がT秒ならRTFはT÷Aです。経過時間と音声長が同じならRTFは1です。逆数のA÷Tはリアルタイム倍率で、この例では同じく1です。両者を同じ名前で呼ぶと、速い・遅いの解釈が逆になることがあります。

対話用途ではTTFA、長文納品では最後のチャンクまでの時間が重要です。コールドロード、前処理、合成、ボコーダー/デコーダー、結合、保存のどこまで含むかも記録します。バッチでは一件の待ち時間と全体処理量を分けます。

手元の機材で小さく比較する

各モデルが対応する範囲で言語、文章、目標長、話者タイプを揃えます。モデルID・revision、OS、CPU/GPU、Python・ライブラリ版、backend、精度、batch size8sample rate9を記録します。新しいプロセスで一度実行し、ロードと生成を分け、ウォームアップ後も同じ作業を複数回行います。

保存したWAVの実長を測り、合成区間のRTFを計算します。コールドとウォームを分け、平均や最速だけでなく各回の値を残します。音切れ、読み違い、不自然な間は速度とは別に記録します。品質確認を速度順位で代用できません。

二つの音声波形を比較する画面とヘッドホン、色別のフォルダー
RTFは経過時間を実際の音声長で割った値です。

測定結果から購入機材を決める

自分のOSに対応する公式経路がなければ、速度を推測するのではなく機材やモデルの候補を変えます。MPS対応はCUDAと同等の速度を意味しません。遅い場合はCPU fallback、未対応演算、音声保存、メモリ圧迫なども考え、ログと使用状況を確認します。

公式資料だけでは、三モデルの普遍的な速度・メモリ順位は決められません。必要な言語と機能、公式の加速経路を確認した後なら、自分で測ったRTFと品質メモを購入判断に使えます。不明欄は推測せず空欄にする方が安全です。

ライセンスと参照音声の権利

Kokoroの公式モデルカードはApache-2.0、ChatterboxリポジトリはMITを記載しています。QwenリポジトリのApache-2.0表示はコードに関するものなので、使用するチェックポイント10のカードを別途確認します。配布や商用利用ではコード、重み、入力音声、生成音声それぞれの条件を確認してください。

参照音声は自分の声、または許諾を得た話者の素材だけを使ってください。デモを試すときは付属話者から始め、参照音声のアップロードが必要なら保存・処理方法を確認します。生成音声を公開する前に実在人物の発言と誤解されないかを考え、出典と文脈を明確にしてください。

用語の注釈

  1. 音声合成テキストを発音や韻律を伴う音声信号に変換する技術です。出力音声の特性はモデルや設定によって異なります。

    本文に戻る
  2. CUDANVIDIA GPUで汎用計算を行うソフトウェア基盤です。CUDA向けのプログラムが他のGPUでそのまま動くとは限りません。

    本文に戻る
  3. ランタイムモデルファイルを読み込み、演算を実行するソフトウェアです。対応形式、ハードウェア、最適化機能はランタイムごとに異なります。

    本文に戻る
  4. CPUコンピューターで汎用のプログラム命令を実行する中央処理装置です。AI処理ではGPUなど他のプロセッサーと役割を分けることがあります。

    本文に戻る
  5. リアルタイム係数生成にかかった時間を出力の再生時間で割った値です。条件をそろえて比べる場合、値が小さいほど生成が速いことを示します。

    本文に戻る
  6. BF16モデルの数値を保存・計算する16ビット浮動小数点形式です。利用可否はハードウェアと実行環境によります。

    本文に戻る
  7. PyTorchAIモデルを作成・実行するソフトウェアフレームワークです。モデルと合わせて、対応するPyTorchの版やハードウェアも確認します。

    本文に戻る
  8. バッチサイズ1回の処理単位にまとめる入力またはリクエスト数です。大きくすると処理量とメモリ要件の両方が変わることがあります。

    本文に戻る
  9. サンプリングレート音声信号をデジタル化する際、1秒間に何回測定するかを示す値です。ビット深度とは別の属性です。

    本文に戻る
  10. チェックポイント学習済みモデルの重みなどを保存したファイルです。同じモデル系列でも、版や用途によって異なるチェックポイントを使うことがあります。

    本文に戻る