WindowsでローカルTTSを始める方法|日本語音声合成の選び方
- 公開日
- 2026-09-28
- 更新日
- 2026-09-28
- 情報確認日
- 2026-09-28
- 編集・運営
- Local AI Compass
WindowsでローカルTTSを使うなら、まず「インストール済みWindows音声を対応アプリから使う」「日本語voiceを持つKokoroを試す」「英語など対応voiceが合う場合にPiperを選ぶ」を分けます。TTSは文字から音声を作る機能で、Whisperの音声認識やGGUFのチャットruntimeとは別の処理です。
導入前に確認すること
- Windowsのバージョン、メモリ容量、GPU/VRAM、空き容量を確認する
- 最初は軽量モデル、短い質問、少ない同時作業から始める
- 公式サイトの対応OS、利用規約、モデルのライセンスを確認する
TTSは音声認識と逆向きの処理
TTS(Text-to-Speech)は文章を音声へ変換します。Whisperは音声から文字を作るASRで、話者分離は音声内の話者区間を推定します。ローカルLLMの回答を読む場合も、文章を生成するLLMと音声を作るTTS engineを別々に選びます。
| 方式 | 入力 → 出力 | 最初に見る候補 |
|---|---|---|
| Windowsのインストール済み音声 | テキスト → speech stream | 対応アプリ、インストール済みlanguage/voice |
| Kokoro | テキスト → 音声配列/WAV | 日本語pipeline、voice ID、Python依存関係 |
| Piper | テキスト → WAV | 現行voice一覧、ONNX voice file、各voice license |
- Windowsでローカル音声認識を始める - 音声から文字へ変換するWhisperの手順を見る
- WindowsでローカルAI翻訳を使う - 翻訳後に読み上げる場合の処理順を考える
Windows標準音声はインストール済みvoiceを使う
WindowsのSpeechSynthesizer APIは、システムにインストール済みのspeech synthesis voiceを使い、テキストまたはSSMLから音声streamを作ります。アプリ開発や、Windows APIに対応したアプリ内で使う選択肢です。APIがあることだけで、任意の文章をすぐWAVへ書き出す共通画面がWindowsに用意されているとは限りません。
- Windowsの「設定」から「時刻と言語」→「言語と地域」を開く。
- 使いたい言語のオプションでText-to-speech機能が提供されているか確認する。
- language packを追加した場合は、使うアプリ側で対応するインストール済みvoiceを選べるか確認する。
- 日本語の短文、句読点、数字、固有名詞を同じアプリ内で試聴する。
言語機能の取得にはインターネット接続が必要とMicrosoftが案内しています。取得後の音声処理、アプリ同期、利用ログなどの通信はそれぞれ別に確認してください。Windows標準音声の利用条件や挙動はOSの版、導入した言語、アプリで異なるため、全アプリが同じ音声一覧を共有すると決めつけないでください。
- Microsoft SpeechSynthesizer API - インストール済みvoiceと音声streamの仕様を見る
- Windowsの音声言語を追加する手順 - Text-to-speech対応language機能の追加を確認する
日本語音声ではモデル名よりvoice一覧を確認する
「TTS engineがある」と「使いたい言語のvoiceが現行配布されている」は別の条件です。2026-09-28に確認したKokoro公式voice一覧には日本語voice IDがあります。一方、Piperの現行メンテナンス版voice一覧には日本語が掲載されていません。過去の別リポジトリやコミュニティ配布voiceは、現行engineの公式サポートやlicenseを保証しません。
| 候補 | 日本語の確認 | 向いている場合 | 先に確認すること |
|---|---|---|---|
| Windows標準voice | 追加した日本語speech featureが利用アプリに出るか | 対応アプリ内で短く読み上げたい | Windows版、language pack、アプリのvoice選択 |
| Kokoro | 公式voice一覧の日本語voiceを試す | ローカル生成と音声ファイル保存を試したい | Python、misaki[ja]、eSpeak NG、実機の速度 |
| Piper | 現行公式一覧には日本語voiceが掲載されていない | 現行一覧の別言語voiceを使う、またはengineを調べたい | ONNX model/configの組、voice別license、言語対応 |
Kokoro公式のvoice IDには`jf_alpha`、`jf_gongitsune`、`jf_nezumi`、`jf_tebukuro`、`jm_kumo`などがあります。これは選択肢の一覧であって、声質の優劣や日本語の読み上げ精度のランキングではありません。サンプルを聞き、固有名詞、数字、長音、句読点、文の切れ目を自分の用途で確認します。
- Kokoroの日本語voice一覧 - voice IDと公式サンプルを確認する
- Piperの現行voice一覧 - 現行の対応言語とvoiceごとのlicenseを見る
KokoroをWindowsで短いWAVから試す
Kokoro-82Mは82 million parametersのopen-weight TTS modelです。公式READMEは日本語で`lang_code="j"`を使い、`misaki[ja]`を追加する案内と、WindowsではeSpeak NGを用意する案内を載せています。必要なPythonと音声依存関係は、既存の作業環境と分けて導入します。
- Kokoro公式READMEの現在のWindows手順とPython要件を確認し、専用の仮想環境を作る。
- `kokoro`、`soundfile`、日本語用の`misaki[ja]`を公式例に合わせて導入する。
- 公式eSpeak NG releaseからWindows向け配布物を選び、導入後に同じshellから実行できるか確かめる。
- 短い非機密の日本語文を1つ生成し、WAVの再生、保存先、サンプルレートを確認する。
- 声や速度を変える場合は、同じテキストで一項目ずつ比較する。
from kokoro import KPipeline
import soundfile as sf
pipeline = KPipeline(lang_code="j")
for i, (_, _, audio) in enumerate(pipeline("これは日本語音声合成の短い確認です。", voice="jf_alpha")):
sf.write(f"sample-{i}.wav", audio, 24000)この例は公式API形状を使った最小の動作確認です。生成処理は一文ごとに複数chunkを返す場合があります。実際のsample rate、package互換性、Windows上のCPU/GPU利用条件は導入した版とログで確かめ、例をそのまま長文や業務データへ広げないでください。
- Kokoro公式README - 日本語pipelineとWindows依存関係の最新版を見る
- Kokoro-82M model card - モデル配布、weight license、利用条件を見る
- eSpeak NG公式releases - Windows向け公式配布物を確認する
Piperはengineとvoice modelの条件を分ける
Piperはローカルで動くneural TTS engineで、公式CLIはvoice modelを読み込んでWAVを出力する形式です。現行の公式voice一覧に日本語が見つからない場合、日本語読み上げ目的なら、一覧にない古い配布voiceを現行サポートとみなさず、互換性・音質・licenseを個別に確かめます。
Piperのengine licenseと、ダウンロードする各voice modelのlicenseは別々に確認します。公式voice資料は`.onnx` modelと`.onnx.json`設定ファイルの組を案内し、voiceごとのMODEL_CARDにlicense情報があるとしています。配布モデルがあることだけで、商用利用、再配布、声の利用権が得られるとは限りません。
| 対象 | 確認するもの | 判断を分ける理由 |
|---|---|---|
| engine | 現行GitHub READMEとGPL-3.0 license | 実行コードの利用・配布条件を確認する |
| voice model | 対応言語、model card、license、必要な設定file | モデルごとに条件が異なる場合がある |
| Windows実行 | Python/CLI、ONNX runtime、model path | 配布版、実行方法、依存関係が変わる |
- Piperメンテナンス版 - 現行engine、導入とlicenseを確認する
- Piper公式voice一覧 - 対応言語と各voice modelの利用条件を見る
ローカルLLMの文章を読み上げる時の分岐
ローカルLLMの回答を音声にする構成は、LLMの文章生成とTTSの音声合成をつなぐ処理です。API対応アプリを使う場合は、LLMの送信先、TTSの実行先、音声の保存場所、ログや履歴の各経路を別々に確かめます。GGUFをチャットruntimeへ読み込むだけで読み上げ機能が追加されるわけではありません。
- 読み上げる文章を短く固定し、最初は句読点と改行だけ整える。
- 同じ短文で日本語voice、数字、略語、固有名詞、文末の読み方を試す。
- 生成したWAVの保存先、ファイル名、一時ファイル、削除方法を決める。
- モデル取得やlanguage packの初回downloadと、実際の推論通信を分けて確認する。
- 他人の文章や本人の許可がない声の模倣へ使わず、音声とvoiceの利用条件を守る。
- ローカルAIをAPIで使う方法 - LLMと別のローカル処理を接続する前の確認を見る
- ローカルAIのプライバシー確認 - ローカル処理、ログ、同期、外部通信を分ける
- ローカルAI用PCスペックの見方 - CPU、メモリ、GPUの余裕を確認する
TTSが動かない・日本語が不自然な時
| 症状 | 先に確認すること | 次の切り分け |
|---|---|---|
| 日本語voiceが一覧に出ない | voice modelとlang code、導入したspeech feature | 現行公式voice一覧とmodel cardを再確認する |
| `espeak-ng`やphonemizerで止まる | Windows install、PATH、同じshellの見え方 | Kokoro公式Windows手順と依存関係の版を確認する |
| 声が途切れる・不自然 | 入力長、改行、句読点、数字、読み仮名 | 短文に分け、同じvoiceで一項目ずつ比較する |
| 処理が遅い・失敗する | CPU/GPU backend、RAM/VRAM、モデル読み込み | 短い文とCPU baselineで再現条件を記録する |
| WAVが見つからない・無音 | 現在のworking directory、出力名、再生sample rate | 絶対パスへ短く書き出し、プレイヤーで再生する |
音の良し悪しを調べる時は、違うモデル、違う文章、違う端末を一度に変えません。同じ短い文を使い、voice、辞書・読み、速度、runtimeを一つずつ確認すると、モデルの違いとWindows環境の問題を分けやすくなります。
- GPUなしのWindows PCでローカルAIを使う - CPUで試す場合の待ち時間と負荷の見方へ進む
- ローカルAIの症状別トラブル解決 - メモリ、依存関係、起動失敗の基本へ戻る
よくある質問
Windowsで日本語のローカルTTSを使うには?
対応アプリからWindowsにインストールした日本語voiceを使う方法と、日本語voiceを提供するKokoroをローカル実行する方法があります。Piperは現行公式voice一覧に日本語が掲載されていないため、対応状況を別途確認してください。
Kokoroは日本語に対応していますか?
公式READMEは日本語のlang_code="j"とmisaki[ja]を案内し、公式voice一覧には日本語voice IDがあります。使用するvoiceと文章で、読み方や音質を実際に確認してください。
Piperは日本語を読み上げられますか?
2026-09-28に確認したメンテナンス版Piperの公式supported voices一覧には日本語がありません。過去の別配布voiceを見つけても、現行engineとの互換性、言語の品質、個別licenseを確認し、公式サポートと同一視しないでください。
ローカルTTSは完全オフラインですか?
モデルやWindows language packの初回取得にはネットワークが必要な場合があります。必要なファイルを準備した後の音声生成が端末内で行われる構成でも、更新、ログ、アプリ連携、同期、ファイル共有は個別に確認してください。
KokoroやPiperのGPUが必要ですか?
GPUが必須とは一律に言えません。実行package、backend、PC、文章の長さで速度が変わるため、短文とCPU baselineから実測し、対応する実行環境を確認してください。
TTSのWAVはそのまま公開・商用利用できますか?
engine、model weights、個別voice model、生成した音声の利用条件を分けて確認してください。KokoroのモデルlicenseやPiper engine licenseだけで、全voiceと全用途の条件を代表できません。
ローカルLLMの回答を自動で読み上げられますか?
LLMとTTSの両方を連携できるアプリやスクリプトがあれば可能です。GGUFは音声を生成するファイル形式ではないため、LLM runtimeとTTS engine、APIや保存先を別々に設定・検証します。
次に読むおすすめルート
初めてローカルAIを触る人
まず全体像をつかみ、LM StudioとOllamaの違い、モデルサイズの考え方を順番に確認します。
- クラウドAIとローカルAIの使い分け
- ローカルLLMとは
- ローカルAIを入れる前に確認すること
- WindowsでローカルAIを始める完全ガイド
- Windows ARMでローカルAIを使う前の確認
- WindowsでOllamaをインストールする
- Windowsでローカル音声認識を始める
- WindowsでローカルOCRを始める
- Windowsで話者分離を始める
- WindowsでローカルAI翻訳を始める
- LM Studioとは
- GGUFとは
- GGUF版とは
- GGUFファイル名の読み方
- LM StudioでGGUFを入れる方法
- LM Studioで画像を読み込む方法
- LM Studioのモデル保存場所と移動
- 小型LLM・量子化の現実
- GGUF量子化安全とRAG/NPU研究
- Quant.npuとNPU向け静的量子化
- LENSで見るNPUレイテンシ予測
- Copilot+ PCのNPU期待値
- Hugging Face安全チェック
- PDF/RAG/引用確認の現実
- LM Studioで最初に選ぶモデル
- GGUFモデル選び診断
- Hugging FaceでGGUFモデルを探す方法
- Q4/Q5/Q8の違いと選び方
- 日本語GGUFモデルの選び方
- Q4/Q5/Q8研究ガイド
- Hermes Desktopとは
- Hermes DesktopとLM Studio接続
- Hermes DesktopとOllama接続
- Hermes Desktop接続トラブル
- Hermes AgentとDesktopの違い
- ローカルLLMツール比較
- ローカルAI更新メモ
- 診断ページ
あなたはどのタイプ?
- 初めてローカルAIを触る人 - まず全体像をつかみ、LM StudioとOllamaの違い、モデルサイズの考え方を順番に確認します。
- LM Studio・Ollamaの症状別トラブルを解決したい人 - 起動、モデルロード、Prompt Processing、generation、API接続、GPU確認をツール別に分けて読みます。
- GPUなし・低スペックPCの人 - 軽量モデル、メモリ別の目安、重いときの確認ポイントを先に見ます。
- PDFや資料を読ませたい人 - 先に基本を押さえ、モデル単体の確認後にAnythingLLMへ進みます。
- ローカルAIエージェントを試したい人 - Bionic、Ollama、AnythingLLM、Hermesを役割別に分け、local/cloud、tool、保存、PC負荷を順番に確認します。
- 開発・API連携したい人 - LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。
関連チェック先
- Windows SpeechSynthesizer API - インストール済み音声を使ってテキストやSSMLからspeech streamを生成するWindows APIを確認できます。
- Windowsで読み上げ用の言語と音声を追加する - Windows 10/11でText-to-speech対応の言語機能を追加する手順と注意を確認できます。
- Kokoro official GitHub repository - KPipeline、Windows向けeSpeak NG案内、日本語lang_code、WAV生成例を確認できます。
- Kokoro-82M model card - 82Mのopen-weight TTSモデル、Apache-2.0のモデルカードと配布情報を確認できます。
- Kokoro voices - 日本語のvoice IDとサンプル音声を確認できます。声質の評価は実際に試聴してください。
- Piper official repository - メンテナンス版PiperのローカルTTS engine、導入入口、engine licenseを確認できます。
- Piper supported voices - 現行Piperが案内する言語とvoice modelごとのlicense注意を確認できます。
- eSpeak NG Windows releases - KokoroのWindows導入で使うeSpeak NGの公式releaseを確認できます。