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

自分のパソコンで音声を作る:ローカルTTSガイド

講義原稿の読み上げ、多言語の案内音声、特定話者に似た声のいずれかで、必要なモデルは変わります。対応言語の一覧に名前があっても、発音や抑揚の品質まで同じとは限りません。用途を決め、モデルと実行バックエンドを合わせ、短い文章で試す順序を紹介します。当サイトのトークン1毎秒を音声生成速度に換算することはできません。

実行条件と要点
  • 対応言語と出力品質は別です。目的の言語で短い音声を作り、聴いて判断します。
  • 最初の音声が届くまでの時間(TTFA)と、発話全体の完了時間を分けて記録します。
  • Python・CUDA・MPSなど、公式に示された実行経路が機材に合うか確認してから試します。

音声の用途を一文で決める

聞き手と納品物から考えます。「韓国語の講義原稿を一定の声で読み、WAVで保存」のように書けば、言語、形式、話し方を整理できます。短い案内と長い原稿では必要な機能も異なります。長文なら分割・結合の方法や、一部だけ作り直せるかも確認します。

声の再現が必要か、付属話者で足りるかも決めます。通常の読み上げなら、まず参照音声を使わない方法から始められます。声を似せる機能では、自分の録音か、明確に許諾された音声だけを使ってください。最初の比較では、モデル付属の話者から聴いてみましょう。

書見台の開いた本と小型コンピューター、スピーカー
原稿と言語を先に決めるとモデルを選びやすくなります。

言語一覧の次は実際の発音を確認

Qwen3-TTS2は10言語、Kokoroのカードは8言語、Chatterbox Multilingual V3は23以上の言語を案内しています。この数は対応範囲を示すもので、訛り、人名、数字の読み方まで同等の品質を保証しません。Kokoroの公式音声ノートも、英語以外の学習や発音対応には差があり得ると注意しています。

短い試験文には、よく使う地名、製品名、日付を入れます。読み違いがあれば、原文を残したうえで句読点や表記を変えた版も試します。聞き取りやすさ、読みの正確さ、声の好みを別々に記録すれば、対応言語の表示だけでモデルを決めずに済みます。

作業の流れでモデル候補を絞る

英語・日本語・中国語などKokoroの対応言語での一般的な読み上げなら、82MのKokoroから試せます。ただし公式一覧に韓国語はありません。韓国語なら話者Soheeを使えるQwen3-TTS CustomVoice、参照音声を使う多言語用途ならChatterbox Multilingual V3を候補にします。QwenのVoiceDesignは1.7B版のみです。

最初は声を複製せず、付属話者で同じ文章を読み比べると条件を揃えやすくなります。候補が決まったら、長文や複数ファイルなど本番に近い作業へ進みます。短い試験で合わない音色や発音を早めに除外できます。

OSに合う実行経路を選ぶ

Windows・LinuxのNVIDIA GPU3では、チェックポイント4が示すCUDA5と精度の条件を確認します。Qwen3-TTSの公式Python手順はPython 3.12で、CUDA例はBF166と任意のFlashAttention7 2を示します。これはCUDAの実行例であり、全GPUの速度表ではありません。FlashAttention導入前に互換性を確認してください。

Apple SiliconではKokoro公式PyTorch8経路にMPS fallbackの案内があります。別のMLX9実行環境を使う場合、MLX-Audioは変換版のKokoro・Qwen3-TTS・Chatterboxを案内しています。

upstreamの重み・実行環境そのものではなくcommunity MLX配布版なので、実行環境と変換済みチェックポイントを確認してください。下は付属の韓国語話者を使うMLX-Audio CLI10の記載形式です。

Apple SiliconでのMLX-Audio Qwen例
pip install mlx-audio
mlx_audio.tts.generate --model mlx-community/Qwen3-TTS-12Hz-0.6B-CustomVoice-8bit --text '안녕하세요.' --voice Sohee --lang_code Korean
MLX-Audioが案内するパッケージ・CLI・communityチェックポイントの例です。Qwen公式CUDA実行経路や速度値と同一ではありません。
マイク、ポップフィルター、ヘッドホン、音声波形画面のある作業机
対応する実行経路と速度測定は別の情報です。

短いリクエストから始める

重みを取得する前に、公式文書でPythonの版、パッケージ、チェックポイント名を確認します。Qwen3-TTSのデモはIP指定を受け取るので、ローカルUIでは公開インターフェースではなく127.0.0.1だけにバインドします。KokoroとChatterboxはPythonライブラリの例があり、ポートを外部公開せずにスクリプトで試せます。

動いたら短い文章を一つ生成し、再生します。言語、話者、形式、保存先を一つずつ変えると原因を特定しやすくなります。途中で切れる場合は、長文にする前にトークン上限、分割、サンプルレート、実ファイルの長さを確認します。一度再生できても長時間の安定性が証明されるわけではありません。

自分の用途で速度と品質を評価する

同じ文章と話者で、モデル読み込み、ウォーム状態の合成、ファイル保存完了を別々に記録します。音声の実長からRTF11(経過時間÷実音声長)を計算し、逆数のリアルタイム倍率と混同しません。最初の音声までの時間は別欄にします。ナレーションでは全体完了時間、対話ではTTFAが重要な場合があります。

同じ言語での読みの正確さ、聞きやすさ、話し方の適合性も別々に記録します。一つの数字で「最高の声」を決めるより、自分の原稿の修正回数や納品形式との相性を見ます。Qwen READMEの97msはストリーミング最初のパケットの主張で、原稿全体の完了時間ではありません。当サイトでこれらのモデルを実測したわけではありません。

音声波形を表示する携帯プレーヤーとヘッドホン
TTFAと合成全体の完了時間を分けて記録します。

用語の注釈

  1. トークンモデルが入力や出力を分けて処理する単位です。1トークンが1文字や一定の時間に相当するわけではありません。

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

    本文に戻る
  3. GPU多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。

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

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

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

    本文に戻る
  7. FlashAttentionAttention計算のメモリアクセスを効率化する実装です。利用可否や効果はハードウェア、モデル、実行環境によって異なります。

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

    本文に戻る
  9. MLXApple silicon向けの機械学習フレームワークです。統合メモリ構造を活用し、対応モデルや機能はMLXの各ツールで異なります。

    本文に戻る
  10. CLICommand-Line Interfaceの略です。ターミナルにコマンドを入力してプログラムを操作する方式です。

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

    本文に戻る