日本語TTSモデル徹底比較2026:ローカルOSS・クラウドAPI 10選の選定ガイド
音声合成(TTS: Text-to-Speech)の進化が目覚ましい2026年、日本語対応モデルの選択肢はかつてないほど豊富になりました。ローカルで動くオープンソースモデルだけでも Style-BERT-VITS2、AivisSpeech、Qwen3-TTS、Fish Speech、Chatterbox と粒揃いのラインナップが並び、クラウドAPIでは OpenAI gpt-4o-mini-tts や Google Chirp3 HD が日本語品質を大幅に向上させています。
この記事では、ローカルOSS 6モデル+クラウドAPI 4サービスを横断的に比較し、用途別の選定基準を提示します。
この記事でわかること
- 2026年時点で日本語に対応する主要TTSモデル10選の特徴と比較
- ローカルOSS(VOICEVOX・Style-BERT-VITS2・AivisSpeech・Qwen3-TTS・Fish Speech・Chatterbox)の導入手順と日本語品質
- クラウドAPI(OpenAI・Google Cloud・Amazon Polly・ElevenLabs)の料金体系と品質スコア
- ボイスクローン・感情制御・ストリーミング対応の有無による選定フローチャート
- 用途別(AITuber・ナレーション・コールセンター・アクセシビリティ)の推奨構成
対象読者
- 想定読者: AI/MLエンジニアで音声合成機能の組み込みを検討している方
-
必要な前提知識:
- Python 3.11以上の基本的な使い方
- PyTorch / ONNX Runtime の概要理解
- REST API の呼び出し経験
結論・成果
ABEJA Tech Blogの比較検証によると、クラウドAPIの日本語品質スコアは Amazon Polly 91.3点、OpenAI gpt-4o-mini-tts 90.2点、Google Chirp3 HD 89.6点、ElevenLabs 89.0点と、4サービスとも90点前後の僅差に収まっています(出典)。ローカルOSSでは Style-BERT-VITS2 と AivisSpeech が日本語品質で最高評価(★5/5)を獲得し、Qwen3-TTS がボイスクローン+10言語対応で急速にシェアを拡大しています(出典)。
料金面では、ローカルOSSはGPU初期投資のみで追加課金ゼロ、クラウドAPIは OpenAI gpt-4o-mini-tts が約$0.015/分(約2.2円/分)と低コストです。月間100時間の音声生成を想定すると、ローカルOSSは電気代のみ、OpenAI APIは月額約$90、ElevenLabs Proは月額$99となり、利用規模と品質要件によって最適解が変わります。
ローカルOSSモデルを比較する
ローカルで動作するオープンソースTTSモデルは、データを外部に送信せずに音声生成できる点が強みです。プライバシー要件が厳しいユースケースや、大量の音声を低コストで生成したい場合に適しています。
ここでは2026年3月時点で日本語対応が確認できる6モデルを取り上げます。
VOICEVOX:導入の手軽さで選ぶ定番
VOICEVOX は2021年にリリースされた日本語音声合成ソフトウェアで、GPUなしのCPUだけで動作する手軽さが特徴です。ずんだもん・四国めたん等のキャラクターボイスが豊富で、AITuber・動画制作の分野で広く採用されています。
# VOICEVOX Engine API を使った音声合成の例
# VOICEVOX Engine を起動した状態で実行(デフォルト: http://localhost:50021)
import requests
import json
def synthesize_voicevox(text: str, speaker_id: int = 3) -> bytes:
"""VOICEVOXで音声合成を実行する"""
# 1. 音声合成用のクエリを作成
query_resp = requests.post(
"http://localhost:50021/audio_query",
params={"text": text, "speaker": speaker_id},
timeout=30,
)
query_resp.raise_for_status()
query_data = query_resp.json()
# 2. 音声を合成
synth_resp = requests.post(
"http://localhost:50021/synthesis",
params={"speaker": speaker_id},
json=query_data,
timeout=60,
)
synth_resp.raise_for_status()
return synth_resp.content # WAVバイナリ
# 使用例
audio = synthesize_voicevox("こんにちは、音声合成のテストです。")
with open("output.wav", "wb") as f:
f.write(audio)
なぜVOICEVOXを選ぶか:
- GPUなしで動作するため、開発マシンを選ばない
- REST APIが標準搭載で、既存アプリケーションへの組み込みが容易
- 2025年9月にさくらインターネットが「さくらのAI Engine」でVOICEVOX採用のTTS APIを提供開始し、国内完結型の音声AIパイプラインが構築可能に(出典)
注意点:
VOICEVOXの各キャラクターには利用規約があり、商用利用時はキャラクターごとの許諾条件を確認する必要があります。また、日本語品質は後述のStyle-BERT-VITS2やAivisSpeechと比較すると一段劣る評価(★3/5)です。
Style-BERT-VITS2:日本語品質の最高峰
Style-BERT-VITS2 は、日本語BERTを活用してテキストの文脈を理解し、アクセント・イントネーションを自然に制御するモデルです。感情パラメータ(Happy / Sad / Angry 等)をスライダーで調整でき、日本語品質は現行ローカルモデルの中で最高評価を受けています。
# Style-BERT-VITS2 API サーバー経由の音声合成
# Editor.bat で WebUI を起動後、API モードで利用可能
import requests
def synthesize_style_bert_vits2(
text: str,
model_name: str = "jvnv-F1-jp",
style: str = "Neutral",
style_weight: float = 1.0,
) -> bytes:
"""Style-BERT-VITS2で感情付き音声合成を実行する"""
resp = requests.get(
"http://localhost:5000/voice",
params={
"text": text,
"model_name": model_name,
"style": style,
"style_weight": style_weight,
"language": "JP",
},
timeout=60,
)
resp.raise_for_status()
return resp.content
# 「嬉しい」スタイルで合成(強度 1.5)
audio = synthesize_style_bert_vits2(
"今日はとても良い天気ですね!",
style="Happy",
style_weight=1.5,
)
JVNV(Japanese Versatile Natural Voice)コーパスで学習済みの4モデル(男女各2名)が同梱されており、追加学習なしですぐに利用できます。自前の音声データで追加学習する場合はGPUが必要ですが、推論時はCPUでも動作します。
注意点:
ライセンスはAGPL v3です。SaaSとして公開する場合はソースコード開示義務が発生するため、商用利用時はライセンス条件の確認が必要です。また、学習データの権利処理は利用者の責任となります。
AivisSpeech:VOICEVOX互換APIで高品質を実現
AivisSpeech は、Style-BERT-VITS2と同等の高品質な日本語音声を、VOICEVOX互換のREST APIで提供するエンジンです。内部的にはONNX Runtimeを使用しており、PyTorch依存を排除することでインストールサイズの削減と高速なCPU推論を実現しています。
# AivisSpeech Engine は VOICEVOX と同じ API 仕様
# デフォルト: http://localhost:10101
import requests
def synthesize_aivisspeech(text: str, speaker_id: int = 0) -> bytes:
"""AivisSpeechで音声合成を実行する(VOICEVOX互換API)"""
# VOICEVOX と同一の API エンドポイント
query_resp = requests.post(
"http://localhost:10101/audio_query",
params={"text": text, "speaker": speaker_id},
timeout=30,
)
query_resp.raise_for_status()
synth_resp = requests.post(
"http://localhost:10101/synthesis",
params={"speaker": speaker_id},
json=query_resp.json(),
timeout=60,
)
synth_resp.raise_for_status()
return synth_resp.content
audio = synthesize_aivisspeech("AivisSpeechの音声品質をテストします。")
なぜAivisSpeechを選ぶか:
- VOICEVOXのコードをそのままAivisSpeechに差し替え可能(APIエンドポイントの変更のみ)
- ONNX Runtime 推論によりPyTorch不要、インストールが軽量
- 3層リソース管理(GPU VRAM → CPU RAM → SSD)で大量のモデルを1台のGPUサーバーで運用可能(出典)
AivisSpeechは2025年後半からMCPサーバー対応も進んでおり、AIエージェントから直接音声合成を呼び出すワークフローも構築できます。
Qwen3-TTS:ボイスクローンとVoiceDesignの多機能モデル
Qwen3-TTS は、Alibaba CloudのQwenチームが2026年1月にオープンソース公開した多言語TTSモデルです。3秒の音声サンプルからのボイスクローン、自然言語によるVoiceDesign、ストリーミング生成(初期遅延97ms) と多機能を備えています。
# Qwen3-TTS によるボイスクローン付き音声合成
# pip install -U qwen-tts
from qwen_tts import QwenTTS
tts = QwenTTS(model="Qwen3-TTS-12Hz-1.7B-Base")
# ボイスクローン: 3秒の参照音声から声を再現
audio = tts.synthesize(
text="Qwen3-TTSは10言語に対応しています。",
reference_audio="reference_voice.wav", # 3秒以上の参照音声
language="ja",
)
audio.save("output_clone.wav")
# VoiceDesign: 自然言語で声の特徴を指定
audio_designed = tts.synthesize(
text="落ち着いたトーンでニュースを読み上げます。",
voice_design="30代男性、落ち着いた低めの声、ニュースキャスター風",
language="ja",
)
audio_designed.save("output_design.wav")
0.6Bと1.7Bの2サイズが用意されており、1.7Bモデルで約4〜8GBのVRAMが必要です(fp16/bf16推論時)。ライセンスはApache 2.0で、商用利用にも制約がありません。
対応言語は中国語・英語・日本語・韓国語・ドイツ語・フランス語・ロシア語・ポルトガル語・スペイン語・イタリア語の10言語です。日本語品質は★4/5の評価で、特にボイスクローンを併用すると自然さが大幅に向上すると報告されています(出典)。
注意点:
中国語・英語の品質が最も安定しており、日本語は参照音声なしの場合にアクセントの不自然さが出ることがあります。ボイスクローン用の参照音声を用意することで品質が改善するため、日本語メインで使う場合はBase + 参照音声の組み合わせを推奨します。
Fish Speech S2:80言語対応の大規模多言語モデル
Fish Speech は、Fish Audioが開発する多言語TTSモデルです。S1(13言語)からS2 Pro(80言語)へ進化し、単語レベルの感情制御が可能な点が特徴です。30万時間以上の英語・中国語データと10万時間以上の日本語データで学習されています(出典)。
DualAR(Dual Autoregressive)アーキテクチャを採用しており、2つのAutoregressiveトランスフォーマーが協調して高品質な音声を生成します。
# Fish Speech API を使った音声合成
# fish-speech パッケージを利用
import httpx
def synthesize_fish_speech(
text: str,
reference_audio: str | None = None,
) -> bytes:
"""Fish Speech APIで音声合成を実行する"""
payload = {
"text": text,
"language": "ja",
"format": "wav",
}
if reference_audio:
# ボイスクローン用の参照音声を指定
payload["reference_audio"] = reference_audio
resp = httpx.post(
"http://localhost:8080/v1/tts",
json=payload,
timeout=60.0,
)
resp.raise_for_status()
return resp.content
audio = synthesize_fish_speech("Fish Speechの日本語テストです。")
注意点:
Fish Speechのライセンスは複雑で、コード部分はFish Audio Research License、モデルウェイトはバージョンによって異なります。商用利用時はモデルバージョンごとにライセンスを個別確認する必要があります(出典)。
Chatterbox:MITライセンスの感情制御モデル
Chatterbox は、Resemble AIが開発するオープンソースTTSで、MITライセンスで公開されている点が大きな特徴です。Original(0.5B)、Multilingual(0.5B、23言語対応)、Turbo(350M)の3バリアントがあり、日本語はMultilingualバリアントで対応しています。
感情の強弱をパラメータで制御できる Emotion Exaggeration Control は、オープンソースTTSとしては初の実装です(出典)。ゼロショットボイスクローンにも対応しています。
4GBのVRAMで動作するため、比較的低スペックなGPUでも利用可能です。
注意点:
Multilingual版の日本語品質は、Style-BERT-VITS2やAivisSpeechのような日本語特化モデルと比較すると見劣りする場合があります。Turbo版の笑い声・咳などのパラリンガル制御は英語のみ対応で、日本語では未対応です。
ローカルOSSモデルの比較表
| モデル | 日本語品質 | VRAM | ライセンス | ボイスクローン | 感情制御 | ストリーミング |
|---|---|---|---|---|---|---|
| VOICEVOX | ★3 | 0GB(CPU) | 独自 | × | × | × |
| Style-BERT-VITS2 | ★5 | 0GB(推論時) | AGPL v3 | × | ○ | × |
| AivisSpeech | ★5 | 0GB(CPU) | 独自 | × | ○ | × |
| Qwen3-TTS 1.7B | ★4 | 4-8GB | Apache 2.0 | ○ | ○ | ○ |
| Fish Speech S2 | ★4 | 4-6GB | 複合 | ○ | ○ | × |
| Chatterbox Multi | ★3 | 4GB | MIT | ○ | ○ | × |
生成速度の参考値(RTX 5090環境、同一テスト文での計測結果、出典):
| モデル | 生成時間 | VRAM消費 |
|---|---|---|
| VOICEVOX | 0.8秒 | 0GB |
| Style-BERT-VITS2 | 1.2秒 | 約2GB |
| AivisSpeech | 1.0秒 | 0GB |
| CosyVoice | 2.3秒 | 約3GB |
| Qwen3-TTS | 1.5秒 | 約4.2GB |
クラウドTTS APIを比較する
クラウドAPIはインフラ管理不要で即座に利用開始でき、スケーラビリティに優れます。一方で音声データが外部サーバーに送信されるため、機密情報を含むテキストの音声化にはデータ処理契約の確認が必要です。
OpenAI gpt-4o-mini-tts:指示制御の柔軟性
gpt-4o-mini-tts は2025年3月にリリースされた OpenAI の TTS モデルです。自然言語による指示で音声のスタイルを制御できる点が最大の特徴で、「ドラマチックに」「中世の騎士風に」といった抽象的な指示にも対応します。
# OpenAI TTS API を使った音声合成
# pip install openai
from openai import OpenAI
from pathlib import Path
client = OpenAI() # OPENAI_API_KEY 環境変数を設定
response = client.audio.speech.create(
model="gpt-4o-mini-tts",
voice="coral", # alloy, ash, ballad, coral, echo, fable, nova, sage, shimmer 等
input="OpenAIのTTSで日本語音声を生成します。",
instructions="落ち着いたトーンで、ゆっくりと明瞭に読み上げてください。",
response_format="wav",
)
Path("output_openai.wav").write_bytes(response.content)
料金は約$0.015/分(約2.2円/分)で、2025年12月の gpt-4o-mini-tts-2025-12-15 アップデートでWord Error Rateが大幅改善されています(出典)。50以上の言語に対応し、英語と日本語の混在テキストも正確に読み上げます。
デモサイト OpenAI.fm でブラウザから音質を確認できます。
注意点:
最大入力トークン数は2000です。長文を合成する場合は分割処理が必要です。また、ボイスクローン機能はなく、プリセット音声(13種類)からの選択のみです。
Google Cloud TTS Chirp3 HD:高明瞭度と10秒ボイスクローン
Google Cloud Text-to-Speech Chirp3 HD は、31言語に対応するHD音声モデルです。ABEJA Tech Blogの検証では明瞭さ(Intelligibility)で最高スコア97.0を記録しています(出典)。
Chirp3 Instant Custom Voice では、わずか10秒の音声サンプルからボイスクローンを作成でき、多言語間の音声転移にも対応します。
# Google Cloud TTS Chirp3 HD を使った音声合成
# pip install google-cloud-texttospeech
from google.cloud import texttospeech
client = texttospeech.TextToSpeechClient()
synthesis_input = texttospeech.SynthesisInput(
text="Google Cloud TTSのChirp3 HDで音声を生成します。"
)
voice = texttospeech.VoiceSelectionParams(
language_code="ja-JP",
name="ja-JP-Chirp3-HD-Leda", # Chirp3 HD の日本語音声
)
audio_config = texttospeech.AudioConfig(
audio_encoding=texttospeech.AudioEncoding.LINEAR16,
sample_rate_hertz=24000,
)
response = client.synthesize_speech(
input=synthesis_input,
voice=voice,
audio_config=audio_config,
)
with open("output_google.wav", "wb") as f:
f.write(response.audio_content)
料金はChirp3 HDで100万文字あたり$100、標準音声で$4です。無料枠は標準音声400万文字/月、HD音声100万文字/月が提供されます(出典)。
Amazon Polly:日本語品質トップのNTTS
Amazon Polly は、AWSの音声合成サービスです。ABEJA Tech Blogの検証で日本語品質の総合スコア91.3/100を記録し、4大クラウドAPIの中でトップ評価を獲得しています。特に「自然さ」と「ノイズ抑制」で高い評価を得ています(出典)。
# Amazon Polly NTTS を使った音声合成
# pip install boto3
import boto3
polly = boto3.client("polly", region_name="ap-northeast-1")
response = polly.synthesize_speech(
Text="Amazon Pollyのニューラル音声で合成します。",
OutputFormat="pcm",
VoiceId="Takumi", # 日本語男性 NTTS対応
Engine="neural", # Neural TTS を指定
SampleRate="24000",
)
with open("output_polly.wav", "wb") as f:
# PCMデータをWAVに変換する処理が別途必要
f.write(response["AudioStream"].read())
NTTS料金は100万文字あたり$19.20で、無料枠として最初の12ヶ月間は月500万文字(標準)または100万文字(NTTS)が無料です。
注意点:
日本語のNTTS対応音声はTakumi(男性)のみです。Mizuki(女性)はスタンダード音声のみで、NTTSには非対応です。ボイスクローン機能や感情制御はサポートされていません。
ElevenLabs:70言語対応と高度な感情表現
ElevenLabs は、70以上の言語に対応し、高品質なボイスクローンと感情表現が特徴のTTSプラットフォームです。Webダッシュボードからの操作とAPIの両方に対応しています。
# ElevenLabs API を使った音声合成
# pip install elevenlabs
from elevenlabs.client import ElevenLabs
client = ElevenLabs(api_key="YOUR_API_KEY")
audio = client.text_to_speech.convert(
voice_id="Morioki", # 日本語女性音声
text="ElevenLabsで自然な日本語音声を生成します。",
model_id="eleven_multilingual_v2",
)
with open("output_elevenlabs.wav", "wb") as f:
for chunk in audio:
f.write(chunk)
料金体系はクレジット制で、Starterプラン$5/月(3万クレジット)からBusinessプラン$1,320/月まで5段階です。Proプラン($99/月)以上で44.1kHz PCM出力に対応します(出典)。
なぜElevenLabsを選ぶか:
- ボイスクローンの品質が高く、少量の音声サンプルで高精度な再現が可能
- 抑揚が自然で人間らしい音声が生成される
- Webダッシュボードで非エンジニアでも操作可能
注意点:
ABEJA Tech Blogの検証では日本語品質スコアが89.0/100で4サービス中最下位でした。日本語の明瞭さや自然さでは Amazon Polly や OpenAI に及ばない場合があります。英語の品質は非常に高いため、多言語対応が必要な場合に真価を発揮します。
クラウドAPI比較表
| サービス | 日本語品質 | 料金目安 | ボイスクローン | 感情/スタイル制御 | 無料枠 |
|---|---|---|---|---|---|
| OpenAI gpt-4o-mini-tts | 90.2/100 | $0.015/分 | × | ○(指示制御) | なし |
| Google Chirp3 HD | 89.6/100 | $100/100万文字 | ○(10秒) | × | 100万文字/月 |
| Amazon Polly NTTS | 91.3/100 | $19.20/100万文字 | × | × | 100万文字/月(12ヶ月) |
| ElevenLabs | 89.0/100 | $5〜$1,320/月 | ○ | ○ | 1万クレジット/月 |
品質スコアの注意: 上記スコアはABEJA Tech Blogの検証による相対評価であり、テスト文や評価者によって結果は変わり得ます。絶対的な品質指標ではない点に留意してください。
用途別の推奨構成を設計する
TTSモデルの選定は、用途・規模・制約条件によって最適解が異なります。ここでは代表的な4つのユースケースについて推奨構成を示します。
AITuber・動画制作
キャラクターの個性を表現する感情制御と、長時間の音声生成に対する低コスト運用が求められます。
推奨: Style-BERT-VITS2 または AivisSpeech(ローカル)
- 感情パラメータで喜怒哀楽を表現可能
- 大量の音声をAPI課金なしで生成
- VOICEVOX互換APIで既存ツールチェーンと統合しやすい
ナレーション・オーディオブック
長文の安定した読み上げと、高い明瞭度が求められます。
推奨: Amazon Polly NTTS または Google Chirp3 HD
- 日本語品質スコアが高く、長文でも安定
- Google Chirp3はボイスクローンで独自ナレーター音声を作成可能
コールセンター・IVR(自動応答)
低遅延のストリーミング生成と、高い可用性が求められます。
推奨: OpenAI gpt-4o-mini-tts(クラウド)または Qwen3-TTS(ローカル)
- OpenAI: 指示制御で「丁寧な応対」等のスタイルを柔軟に設定
- Qwen3-TTS: ストリーミング対応(初期遅延97ms)でリアルタイム応答に対応
アクセシビリティ・スクリーンリーダー
明瞭度とレスポンス速度を最優先し、安定した読み上げが求められます。
推奨: VOICEVOX または AivisSpeech(ローカル)
- GPUなしで動作し、エッジデバイスでも利用可能
- レスポンスが高速(0.8〜1.0秒)
- オフライン環境でも動作
よくある問題と解決方法
TTSの導入・運用でよく遭遇する問題と対処法をまとめます。
| 問題 | 原因 | 解決方法 |
|---|---|---|
| 日本語のアクセントが不自然 | 多言語モデルの日本語学習量不足 | 日本語特化モデル(Style-BERT-VITS2)に切り替え、またはボイスクローンで参照音声を指定 |
| VRAM不足でモデルが読み込めない | モデルサイズがGPUメモリを超過 | fp16/bf16量子化を適用、または小サイズモデル(0.6B)を選択 |
| 生成速度が遅い | CPU推論またはバッチサイズ設定不足 | GPU推論に切り替え、AivisSpeechのONNX Runtimeを利用 |
| API料金が想定を超過 | 大量テキストの音声化 | ローカルOSSへの移行、またはキャッシュ層の導入で同一テキストの再生成を防止 |
| 英語混在テキストの読み上げ失敗 | 言語判定の誤り | OpenAI gpt-4o-mini-tts(混在テキスト対応)を使用、またはテキストを言語ごとに分割して処理 |
まとめと次のステップ
まとめ:
- 日本語品質最重視: Style-BERT-VITS2 / AivisSpeech(ローカル)、Amazon Polly NTTS(クラウド)
- ボイスクローンが必要: Qwen3-TTS(ローカル、Apache 2.0)、Google Chirp3 / ElevenLabs(クラウド)
- コスト最小化: VOICEVOX / AivisSpeech(ローカル、GPU不要)、OpenAI gpt-4o-mini-tts($0.015/分)
- MITライセンスで商用利用: Chatterbox Multilingual
- クラウドAPI4サービスの日本語品質は89.0〜91.3点と僅差であり、品質だけでなく料金・機能・データ処理ポリシーで選定すべき
次にやるべきこと:
- 自分のユースケースに合うモデルを上記の選定フローチャートで絞り込む
- ローカルOSSなら AivisSpeech をまず試す(VOICEVOX互換APIで移行しやすい)
- クラウドAPIなら各サービスの無料枠・デモサイトで日本語品質を実際に耳で確認する
参考
- VOICEVOX 公式サイト
- Style-Bert-VITS2 GitHub リポジトリ
- AivisSpeech Engine GitHub リポジトリ
- Qwen3-TTS GitHub リポジトリ
- Fish Audio 公式サイト
- Chatterbox GitHub リポジトリ(Resemble AI)
- Kokoro-82M Hugging Face
- OpenAI TTS API ドキュメント
- Google Cloud Text-to-Speech Chirp3 HD ドキュメント
- Amazon Polly 料金ページ
- ElevenLabs 料金ページ
- OpenAIのAny-to-Any APIでTTSサービスの音声品質を比較してみた(ABEJA Tech Blog)
- ローカルTTSを5つ全部試したら日本語品質の差に驚愕した(Qiita)
- オープンソースTTSモデル完全比較2026(Neosophie Blog)
- さくらインターネット、音声合成(TTS)APIを追加(Innovatopia)
注意: この記事はAI(Claude Code)により自動生成されました。内容の正確性については複数の情報源で検証していますが、実際の利用時は公式ドキュメントもご確認ください。