この記事ではVoxCPM2というOSSのTTSモデルに特化して解説します。LLM全般の仕組み・主要モデル比較・ローカル実行・量子化は LLMとは?仕組み・主要モデル比較・ローカル実行・量子化を一気にまとめる2026年版 をご覧ください。

この記事のポイント
  • VoxCPM2はOpenBMBが公開したトークナイザレスの多言語TTS。Apache-2.0・約25,576★で、日本語を含む30言語に対応し48kHzのスタジオ品質音声を出力する
  • テキスト記述から声を作る音色設計(Voice Design)と、数秒の音声から声を複製するゼロショットボイスクローニングを1モデルで両立。ローカル/オンプレで動かせる
  • 本記事では設計(LocEnc→TSLM→RALM→LocDiT)・日本語性能・VRAM要件・実行手順・倫理ガイドラインまで、一次ソースで整理する

30秒で理解するVoxCPM2

まず要点を押さえる。VoxCPM2は「音素やトークナイザに頼らず、テキストから連続的な音響表現を直接生成する」TTSモデルだ。

・VoxCPM2:OpenBMBによるトークナイザレス多言語TTS、Apache-2.0、約25,576★(fork約2,900)
・約2Bパラメータ、200万時間超の多言語音声で学習。日本語含む30言語、48kHz出力
・テキスト記述からの音色設計(Voice Design)とゼロショットボイスクローニングを両立
・ローカル/オンプレ運用可能。VRAM約8GBで動き、pip install voxcpm で導入
・Coqui XTTS / Bark / OpenVoice2 と比べた強みは「商用可ライセンス×30言語×音色設計」の組合せ

商用APIに依存せず、声を「作る」「複製する」両方を自前で回したい開発者には直撃する内容だ。一方でボイスクローニングは法的・倫理的なグレーゾーンを含むため、技術仕様と並べて注意点も最初から押さえておく。

なぜ「トークナイザレス」が話題なのか

従来のTTSは、テキストをまず音素(phoneme)や離散トークンに変換し、それを音響特徴へマッピングする多段パイプラインが主流だった。この設計には構造的な弱点がある。

第一に言語依存だ。音素の体系は言語ごとに大きく異なり、言語が増えるたびに音素辞書と対応モデルを用意する必要がある。VoxCPMの技術文書も「トークナイザベースの手法は言語固有の音素セットを要求し、シームレスなクロスリンガル合成の障壁になる」と指摘している。第二に情報の損失だ。連続的な音響情報を限られた語彙の離散トークンに押し込む量子化の過程で、細かなニュアンスが失われやすい。

トークナイザレス設計は、この2点を回避する。テキストから離散トークンを経由せず連続的な音響表現を直接扱うため、言語固有の変換ステップが要らず、多言語を1モデルで統一的に処理できる。コードスイッチング(言語混在)やクロスリンガルな声の転写も自然になる。日本語のように音素体系が英語と大きく異なる言語ほど、この恩恵は効きやすい。

ローカルでLLMやTTSを動かす環境構築全般は ローカルLLMとは?2026年版ツール比較——Ollama・Lemonade・LM Studio・GPT4Allの選び方 も併せて参照すると、GPU選定や量子化の勘所がつかめる。

「トークナイザレス」と「音素フリー」は何が違う
多くのTTSは grapheme-to-phoneme(G2P)で文字列を音素列に変換してから合成する。VoxCPM2はこのG2P段も離散トークン段も置かず、テキストから連続音響表現へ直接進む。だから言語ごとのG2P辞書を整備する必要がなく、辞書未整備の言語や固有名詞・新語にも崩れにくい。

VoxCPM2の設計

VoxCPM2は Diffusion自己回帰(diffusion autoregressive)パラダイム を採用し、AudioVAE V2の潜在空間の中で動作する。公式アーキ図に沿うと、処理は LocEnc → Text-Semantic Language Model(TSLM) → Residual Acoustic Language Model(RALM) → LocDiT という流れだ。

VoxCPM2のアーキテクチャ図:LocEncで局所表現を符号化し、Text-Semantic Language Model(TSLM)でテキストと意味を統合、Residual Acoustic Language Model(RALM)で音響残差を予測し、LocDiTが連続音響表現を生成する
VoxCPM2の公式アーキテクチャ(OpenBMB/VoxCPM README)。BPEトークン化されたテキストとLocEncの局所表現がTSLMに入り、RALM・LocDiTが連続音響潜在トークンを生成する。Stop Predictorが終端を判定する

従来TTSの「Text → Tokens → Phonemes → Acoustic」という離散経路に対し、VoxCPM2は「Text → 連続音響表現 → ボコーダ → 波形」を一気通貫で結ぶ。これを図にすると対比が分かりやすい。

flowchart TD subgraph 従来TTS["従来のトークナイザ依存TTS"] A1["テキスト"] --> A2["G2P / トークナイザ
言語ごとの音素辞書"] A2 --> A3["離散トークン列"] A3 --> A4["音響モデル"] A4 --> A5["波形"] end subgraph VOX["VoxCPM2:トークナイザレス"] B1["テキスト"] --> B2["LocEnc
局所表現を符号化"] B2 --> B3["TSLM
テキストと意味を統合"] B3 --> B4["RALM + LocDiT
連続音響潜在を直接生成"] B4 --> B5["AudioVAE V2 デコード
48kHz波形"] end

AudioVAE V2は 16kHz入力 → 48kHz出力の非対称エンコード/デコード を担い、入力は軽く扱いつつ出力はスタジオ品質に引き上げる。音響潜在のトークンレートは6.25Hzと低く、長文でも系列が伸びすぎないよう設計されている。Diffusionが高品質な音響モデリングを、自己回帰が長い発話の系列的一貫性を担い、両者を組み合わせることで自然さと長文安定性を両立する狙いだ。

この設計が日本語に効く理由をもう一段掘り下げる。漢字かな交じり文は、同じ文字列でも文脈で読みが変わる(「行った」=いった/おこなった等)。音素辞書ベースのTTSはG2Pの段で読みを確定させてしまうため、辞書が文脈を読み違えると音声も間違う。VoxCPM2はテキストの意味表現をTSLMでそのまま音響側に渡すため、文脈に応じた読み・抑揚を連続表現の中で吸収しやすい。多言語混在(日本語の中に英単語が混じる文)でも、言語ごとに辞書を切り替えずに済むのは大きい。

生成を制御する2つの主要パラメータも押さえておきたい。cfg_value(Classifier-Free Guidance)は記述や参照音声への忠実度を調整するつまみで、値を上げるほど指定に強く従うが上げすぎると不自然になる。公式例の 2.0 が標準的な出発点だ。inference_timesteps はDiffusionの反復回数で、増やすほど品質は上がるが生成は遅くなる。公式例の 10 は品質と速度のバランス点で、リアルタイム寄りなら減らし、収録品質を狙うなら増やす、という調整軸になる。

RALMは「Reference」ではなく「Residual」
RALMはResidual Acoustic Language Model(残差音響言語モデル)の略で、参照音声専用モジュールではない。TSLMが出した意味・韻律の土台に対し、RALMが音響的な残差(細部)を予測する役割を担う。アーキ図のFSQ(有限スカラー量子化)とStop Predictorが、潜在の安定化と発話終端の判定を受け持つ。

音色設計(Creative Voice Design)

VoxCPM2の特徴的な機能が、参照音声なしで声を作れる 音色設計だ。性別・年齢・トーン・速度・感情といった声質を、自然言語の括弧記述でテキスト先頭に与えるだけでよい。

・声質パラメータ:性別・年齢・トーン(gentle / cheerful 等)・速度・感情を記述で指定
・参照音声不要:実在の誰かの声を使わずにオリジナルの声を合成・編集できる
・記述を変えるだけで声の方向性を即座に振れる

最小コードは次の通り。(...) の中に声の人物像を書き、続けて読ませたい本文を置く。

from voxcpm import VoxCPM
import soundfile as sf

model = VoxCPM.from_pretrained("openbmb/VoxCPM2", load_denoiser=False)

# 音色設計:参照音声なしで声を作る
wav = model.generate(
    text="(A young woman, gentle and sweet voice)こんにちは、VoxCPM2へようこそ。",
    cfg_value=2.0,
    inference_timesteps=10,
)
sf.write("design.wav", wav, model.tts_model.sample_rate)

CLIからも同等のことができる。

voxcpm design --text "(A calm male narrator)本日のニュースをお伝えします。" --output design.wav

実在の声を使わずに済むため、権利処理の観点では音色設計のほうがボイスクローニングより安全側だ。ナレーションやキャラクターボイスの量産には、まず音色設計から入るのが扱いやすい。

ゼロショットボイスクローニング

参照音声を与えれば、その声質をゼロショットで転写できる。VoxCPM2のクローニングは粒度の異なる2モードを持つ。

Controllable Voice Cloning:参照音声+スタイル記述で、音色は保ちつつ感情・速度・抑揚を調整
Ultimate Cloning:参照音声+その書き起こしテキストを与え、音色・リズム・感情・スタイルを忠実に継続
・必要なリファレンス尺は数秒程度。さらに精度を上げたければLoRAで5〜10分の音声から適応

# Controllable Voice Cloning:音色を保ちつつスタイルを制御
wav = model.generate(
    text="(slightly faster, cheerful tone)スタイル制御つきでクローンしています。",
    reference_wav_path="path/to/voice.wav",
    cfg_value=2.0,
)

# Ultimate Cloning:参照音声+書き起こしで最大忠実度
wav = model.generate(
    text="ここから続きのテキストを同じ声で読み上げます。",
    prompt_wav_path="path/to/voice.wav",
    prompt_text="参照音声の書き起こしテキスト。",
    reference_wav_path="path/to/voice.wav",
)

OpenBMBの利用規約は、なりすまし・詐欺・偽情報への利用を明確に禁止している(後述「倫理と安全性」)。クローニングは技術的には数秒で成立するからこそ、誰の声を、どの同意のもとで使うかの管理が前提になる。

多言語性能

VoxCPM2は30言語に対応するが、言語ごとに品質差はある。代表的なベンチ数値を出典つきで並べる。いずれも自然性そのものではなく、ASRで読み取った誤り率(WER/CER)と話者類似度(SIM)が中心である点に注意してほしい。

ベンチ 指標 スコア 出典
Seed-TTS-eval(英語) WER / SIM 1.84% / 75.3% OpenBMB公式README
Seed-TTS-eval(中国語) CER / SIM 0.97% / 79.5% OpenBMB公式README
CV3-eval(日本語) CER 約5.96% OpenBMB公式README
内部30言語ASRベンチ 平均誤り率 1.68% OpenBMB公式README

英語・中国語は誤り率1%前後と高精度だが、日本語のCERは約5.96% と相対的に高めだ。これは「日本語が苦手」というより、漢字かな交じり・固有名詞・読み分けの難しさが効いている。実用品質には達しているが、ナレーション本番で使うなら、クリーンな日本語音声でLoRA適応して読み精度を底上げするのが現実的な打ち手になる。

30言語平均で誤り率1.68%という内部ベンチの数字は、言語間のばらつきを均した値だ。実務では「自分が使う言語の単体スコア」を見るべきで、平均値に引っ張られて日本語を過大評価しないことが大事になる。CV3-evalは11言語をまたぐ多言語ASR評価で、Seed-TTS-evalが英語・中国語に絞った定番ベンチであるのに対し、より多言語の地力を測る位置づけだ。日本語のCER 5.96%はこのCV3-eval上の値で、英語・中国語の「専用ベンチでの最高値」と直接横並びにはできない点も、数字を読むときの注意点になる。

なお、これらはあくまで「読みの正確さ」の指標であって、声の温かみやイントネーションの自然さといった主観品質は別軸だ。VoxCPM2の音色設計やUltimate Cloningは、この主観品質を参照音声や記述で底上げする仕組みなので、ベンチのCER/WERが多少高くても、良質な参照音声を与えれば体感品質は大きく改善する。最終判断は必ず自分の台本での試聴で行うのが鉄則だ。

ベンチ数値の読み方
ここで挙げた数値はすべてOpenBMB公式READMEに掲載された自己申告値で、第三者の独立再現ではない。WER/CERは「読み間違いの少なさ」を測る指標で、人間が感じる自然性(MOS)とは別物だ。日本語の自然性を最終判断するなら、自分のユースケースの台本で実際に合成して耳で確認するのが確実だ。

ローカル実行手順

導入は軽い。GPU環境さえ整っていれば数分で動く。

・推奨ハード:VRAM約8GBで動作(VoxCPM2 2B)。RTX 4090クラスで快適
・前提:Python ≥ 3.10(<3.13)、PyTorch ≥ 2.5.0、CUDA ≥ 12.0
・レイテンシ:RTX 4090でRTF約0.3(素の推論)、Nano-vLLM併用で約0.13まで短縮
・CPU推論は想定外。リアルタイム会話を狙うならGPU+推論最適化が前提

インストールと最小実行は次の3ステップだ。

# 1. インストール
pip install voxcpm
# 2. 推論(音色設計)
from voxcpm import VoxCPM
import soundfile as sf

model = VoxCPM.from_pretrained("openbmb/VoxCPM2", load_denoiser=False)
wav = model.generate(
    text="VoxCPM2をローカルで動かしています。",
    cfg_value=2.0,
    inference_timesteps=10,
)
sf.write("demo.wav", wav, model.tts_model.sample_rate)
# 3. 低レイテンシ/本番運用(OpenAI互換エンドポイント)
# vLLM-Omni 経由で /v1/audio/speech を立て、API経由で配信
# Nano-vLLM-VoxCPM は RTX 4090 で RTF~0.13・並行リクエスト対応

RTF(Real-Time Factor)は「1秒の音声を作るのに何秒かかるか」の指標で、0.13なら1秒の音声を約0.13秒で生成できる=リアルタイム会話の射程に入る。バッチ生成中心ならRTF 0.3でも実用上の問題は小さい。スループットが要る本番は、vLLM-Omni(PagedAttention+KVキャッシュ、OpenAI互換 /v1/audio/speech)かNano-vLLM-VoxCPMを噛ませて並列化する。

本番デプロイの選び方を整理すると、用途で2つに分かれる。既存のOpenAI TTS APIから乗り換えたいなら、vLLM-Omniが /v1/audio/speech 互換エンドポイントを提供するので、クライアント側のコードをほぼ変えずに差し替えられる。スループットとレイテンシを極限まで詰めたいなら、Nano-vLLM-VoxCPMがRTX 4090でRTF約0.13・並行リクエスト対応と、推論最適化に振った構成になる。このほかComfyUIノード経由でのGUIワークフロー、ONNXエクスポートでのランタイム移植も用意されており、組み込み先に応じて選べる。

導入時の典型的なつまずきは、CUDAバージョンの不一致とVRAM不足だ。CUDA ≥ 12.0・PyTorch ≥ 2.5.0という前提を満たさないと from_pretrained の段で落ちる。VRAMは約8GBが目安だが、長文を一度に流すと一時的にメモリが膨らむため、余裕を見て12GB以上のGPUだと安定する。load_denoiser=False はデノイザを読み込まない軽量設定で、参照音声がクリーンなら有効化不要でメモリを節約できる。

ローカルLLMをコマンドラインで回す運用は Ollama × Codex CLIでローカルLLMをエージェント化する も参考になる。TTSとLLMを同じGPUに同居させる構成を検討するときのVRAM配分の感覚がつかめる。

競合との比較表

主要なオープンソースTTSと並べると、VoxCPM2の立ち位置がはっきりする。クローニング品質・言語数・ライセンスの3点が選定の軸になる。

モデル 対応言語 クローニング ライセンス 特徴
VoxCPM2 30言語(日本語含む) ゼロショット+音色設計 Apache-2.0(商用可) トークナイザレス・48kHz・音色設計を両立
Coqui XTTS v2 17言語 ゼロショット(6秒参照) CPML(商用制限) 枯れた実績だが開発元解散・未メンテ
Bark 多言語(実験的) プリセット話者中心 MIT 笑い声・効果音など非言語音に強い
OpenVoice v2 主要言語 ゼロショット・軽量 MIT 低レイテンシ・高速プロトタイピング向け
Tortoise TTS 英語中心 ゼロショット Apache-2.0 高品質だが推論が非常に遅い

XTTS v2はゼロショットクローンの定番だが、ライセンス(CPML)が商用利用を制限し、開発元Coquiが2024年に解散して以降は実質メンテされていない。Barkは効果音込みの創作音声、OpenVoice v2は軽量・高速、Tortoiseは高品質だが遅い、と各々得意領域が違う。「商用可ライセンス × 30言語 × 音色設計+クローニング」を1モデルで満たす のがVoxCPM2の差別化点だ。

ユースケース

多言語ナレーション

1つのモデルで30言語を扱えるため、製品紹介や研修動画を多言語展開するワークフローに向く。音色設計で統一したブランドボイスを作り、各言語で同じ声色のナレーションを量産できる。

Podcast自動生成

記事や台本を流し込んで音声化するパイプラインに組み込める。話者ごとに参照音声を切り替えれば対談形式も作れる。バッチ処理(voxcpm batch)で大量エピソードをまとめて生成する運用が現実的だ。

アクセシビリティ補助

視覚障害者向けの読み上げや、長文ドキュメントの音声化に使える。48kHz出力で長時間でも聴き疲れしにくい。オンプレで完結するため、社内文書を外部APIに出さずに音声化できるのも利点だ。

教育コンテンツ作成

語学教材で複数言語のネイティブ風音声を用意したり、教材ナレーションを声色を変えて作り分けたりできる。LoRA適応で講師の声に寄せた読み上げを作ることも可能だ。

倫理と安全性

ボイスクローニングは強力ゆえにリスクも大きい。OpenBMBの利用規約と一般的な配慮を整理する。

ディープフェイク懸念:実在の声を無断複製すれば、なりすまし・詐欺・偽情報に悪用されうる。OpenBMBは「なりすまし・詐欺・偽情報への利用を固く禁じる」と明記している
同意と検証:他者の声をクローンする場合は本人の明示的同意が前提。商用なら録音時の利用許諾範囲も確認する
透かし・検知:AI生成音声であることを明示するよう強く推奨されている。配信時はメタデータや音声透かしで「合成音声」と分かる設計にする

ライセンス可否 ≠ 合成の合法性
Apache-2.0はソフトウェアの利用を許諾するライセンスであって、「他人の声を合成してよい」と保証するものではない。肖像権・パブリシティ権・各国の音声合成規制は別レイヤーで効く。声の権利処理はライセンスとは独立に必要だと理解しておく。

よくある落とし穴

実運用で詰まりやすいポイントを先回りで挙げる。

「日本語ネイティブ」品質の期待値:日本語CERは約5.96%で英語・中国語より高め。固有名詞や読み分けはミスが出る前提で、本番台本は事前合成して耳でチェックする
ボイスクローニングの法的グレーゾーン:技術的に数秒で複製できても、無断クローンは権利侵害になりうる。同意取得を運用フローに組み込む
リアルタイムストリームのレイテンシ:素のRTFは約0.3。会話用途で本当にリアルタイムが要るなら、Nano-vLLMやvLLM-Omniでの最適化が必須
GPU/CPU推論のスピード差:CPU推論は想定されていない。VRAM約8GBのGPUを前提に環境を組む

まず音色設計から始める
権利・倫理のリスクを避けたいなら、最初はクローニングではなく音色設計で必要な声を作るのが安全だ。オリジナルの声で要件を満たせるなら、実在話者の同意取得や権利処理を回避できる。クローンは「どうしてもその人の声が必要」な場合に限定するのが、運用上もトラブルが少ない。

まとめ

VoxCPM2は、トークナイザレス設計で多言語の壁を越え、音色設計とゼロショットクローニングを1モデルで両立したオープンウェイトTTSだ。Apache-2.0で商用可、VRAM約8GBでローカル運用でき、30言語に対応する。日本語は英語・中国語より誤り率が高めだが、LoRA適応と参照音声の質で実用域に持ち込める。声を「作る」「複製する」両方を自前で回したい開発者にとって、現時点で有力な選択肢の一つだ。クローニングの法的・倫理的配慮を運用に組み込めるかが、本番投入の分かれ目になる。

参照ソース

・OpenBMB/VoxCPM 公式リポジトリ(README・アーキ図・コード例・ベンチ数値・利用規約)— https://github.com/OpenBMB/VoxCPM
・openbmb/VoxCPM2 Hugging Faceモデルカード(対応言語・学習データ・ライセンス)— https://huggingface.co/openbmb/VoxCPM2
・VoxCPM技術論文 “Tokenizer-Free TTS for Context-Aware Speech Generation and True-to-Life Voice Cloning”(arXiv:2509.24650、トークナイザレス設計の動機)— https://arxiv.org/abs/2509.24650