Piper TTS 完全ガイド 2026年7月最新版|ローカル音声合成の決定版、日本語対応から Home Assistant 連携まで

Piper TTS 完全ガイド 2026年7月最新版 チュートリアル

「クラウドの音声合成APIは月額料金がかかるし、プライバシーも気になる。ローカルで動く高品質な音声合成エンジンはないか」と探している方に、決定版の選択肢がPiper TTSです。Raspberry Pi 5クラスの小型PCでもリアルタイム合成が可能で、CPUのみで動作、30以上の言語と100を超える音声モデルが用意されています。Home Assistantの標準TTSエンジンとしても採用されているデファクトスタンダードです。

本記事では、2026年7月時点の最新版(OHF-Voice/piper1-gpl v1.4.2)に基づき、Piper TTSのインストールから実践的な運用、日本語音声合成、Home Assistant連携、学習によるオリジナル音声作成まで、一次情報だけで完結できるレベルまで徹底的に解説します。開発体制の大きな変遷(rhasspy/piperアーカイブ→OHF-Voice/piper1-gpl移行、日本語対応フォークayutaz/piper-plus登場)についても、混乱しないように順を追って整理します。

Piper TTS 公式ロゴ
Piper TTSの公式ロゴ(出典: OHF-Voice/piper1-gpl / GPL-3.0ライセンス)
  1. Piper TTSとは何か
    1. 基本情報
    2. 主な特徴
  2. 2026年時点の最新リリース情報と開発体制の変遷
    1. 開発リポジトリの変遷
    2. piper1-gplのバージョン別変更履歴(直近1.5年)
    3. piper-plus(日本語対応フォーク)の状況
  3. 他ツールとの徹底比較
    1. 選び方の指針
  4. メリットとデメリット
    1. メリット
    2. デメリット
  5. 動作要件
    1. 推論(音声合成のみ)の要件
    2. 学習(オリジナルボイス作成)の要件
  6. インストール手順
    1. Linux(Ubuntu)でのpipインストール(推奨)
    2. Windows でのインストール
    3. macOS(Apple Silicon / Intel)でのインストール
    4. Dockerでの実行(本番運用推奨)
    5. Home Assistantアドオンとしてのインストール
    6. piper-plus(日本語)のインストール
  7. 初期設定とモデルのダウンロード
    1. ボイスモデルの入手
    2. クオリティレベルの選択
  8. 基本的な使い方(CLI)
    1. ワンライナーでの音声合成
    2. 複数文をまとめて処理
    3. 主要なコマンドラインオプション
    4. 発話速度と抑揚のチューニング
  9. 実践的な使い方
    1. ケース1: ブログ記事の音声化(Podcast風)
    2. ケース2: 動画ナレーション生成
    3. ケース3: Home Assistantでの完全ローカル音声アシスタント
  10. 応用・カスタマイズ
    1. Python APIから直接呼び出す
    2. HTTPサーバーモード
    3. Wyoming Protocolサーバーモード
    4. マルチスピーカーモデルの活用
    5. オリジナルボイスの学習
  11. パフォーマンス最適化
    1. CPU推論の最適化
    2. GPU推論の有効化
    3. モデルキャッシュとロード時間短縮
  12. よくあるエラーとトラブルシューティング
    1. 1. ModuleNotFoundError: No module named 'piper'
    2. 2. espeak-ng not foundエラー
    3. 3. 生成音声にプツプツとノイズが入る
    4. 4. 日本語テキストが「不明な音素」で失敗する
    5. 5. onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument
    6. 6. Wyoming Protocolで Home Assistant から検出されない
    7. 7. Docker実行時に「CUDA not available」警告
  13. おすすめの組み合わせ・連携
    1. Whisper(音声認識)+ Piper(音声合成)
    2. Home Assistant + ESPHome音声デバイス
    3. Piper + ffmpeg + OBS Studio
    4. Piper + Ollama(ローカルLLM)
  14. 用途別 推奨PCスペック
    1. 入門(Piper推論のみ、Home Assistant用途)
    2. 標準(Piper + Whisper + Ollama軽量モデル)
    3. ハイエンド(オリジナルボイス学習・大量ナレーション生成)
  15. まとめ
  16. 📦 この記事で紹介した商品

Piper TTSとは何か

Piper TTS(以下Piper)は、深層学習ベースの高速かつ完全ローカルで動作するニューラル音声合成エンジンです。VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)系のモデルを軽量ONNX形式にエクスポートし、onnxruntime上で推論することで、GPUなしのCPUだけでも実用的な速度で音声を生成できます。

基本情報

  • 公式リポジトリ: github.com/OHF-Voice/piper1-gpl
  • 開発元: Open Home Foundation(Nabu Casa傘下のオープンソース団体、Home Assistantを開発する組織)
  • ライセンス: GPL-3.0(現行のpiper1-gpl。旧rhasspy/piperはMIT)
  • 言語: 実装はC++とPython。Python API経由の呼び出しが標準的
  • 対応言語: 30を超える言語、100以上の学習済みボイス
  • 特徴: 完全オフライン、リアルタイム合成、Raspberry Piでも動作、Home Assistantデファクト

主な特徴

  • ONNX Runtimeによる高速推論。espeak-ngをG2P(Grapheme-to-Phoneme、書記素-音素変換)に組み込み
  • CPU単体でリアルタイム以上の合成速度(Raspberry Pi 5でも実用域)
  • ボイスモデルは1音声あたり10〜75MB程度と軽量。ディスク・メモリ負荷が小さい
  • コマンドラインからワンライナーで音声生成可能、パイプ処理にも対応
  • Python APIで直接呼び出し可能、HTTPサーバーモードも標準搭載
  • Home AssistantのWyoming Protocol経由で自動検出、標準TTSエンジンに採用
  • クオリティレベル(x_low / low / medium / high)を用途に応じて選択可能

2026年時点の最新リリース情報と開発体制の変遷

Piperを扱う上で最も重要な前提が、2024〜2025年にかけて起きた開発体制の再編です。ここを押さえずに古い情報を追うと、アーカイブされたリポジトリで詰まる可能性があります。

開発リポジトリの変遷

時期リポジトリ状態概要
〜2023年rhasspy/piperアーカイブ済みMichael Hansen氏個人による初期実装。v1.2.0(2023-08-01)が最終安定版。MITライセンス
2024-07以降OHF-Voice/piper1-gpl現行公式Open Home Foundationに移管。GPL-3.0化、Pythonリファクタ、C++コード一時削除
2024〜ayutaz/piper-plus日本語対応フォークOpenJTalk統合、つくよみちゃんモデル同梱、MIT維持、多言語ランタイム(Rust/C#/Go/JS-WASM等)

2025年10月6日、旧rhasspy/piperリポジトリは正式にアーカイブされました。以降、新規開発はOHF-Voice/piper1-gplで進んでいます。ネット上には旧リポジトリの手順(pip install piper-ttsを旧バージョンで説明したブログ、旧HuggingFaceパスなど)が大量に残っていますが、2026年7月現在の推奨は新公式リポジトリです。

piper1-gplのバージョン別変更履歴(直近1.5年)

  • v1.4.2(2026-04-02): pathvalidate依存関係の修正
  • v1.4.1(2026-02-05): 不足していたwheelバイナリの追加配布
  • v1.4.0(2026-01-30): 中国語向けg2pW音素化の実装、複数音素化タイプ(pinyin / text / IPA)に対応、ボコーダーのウォームスタート機能、事前生成音素IDでの学習対応
  • v1.3.0(2024-07-10): OHF-Voice組織への移管。C++コードを一時削除しPython開発に集中、ライセンスをGPL-3.0に変更、Python API大幅リファクタ

piper-plus(日本語対応フォーク)の状況

公式piper1-gplには2026年7月時点でもまだ公式な日本語ボイスモデルが存在しません。日本語を扱いたい場合、実質的な選択肢はコミュニティフォークayutaz/piper-plusとなります。

  • 公式リポジトリ: github.com/ayutaz/piper-plus
  • ライセンス: MIT(唯一のMIT系Piperフォーク、商用組込みに向く)
  • 対応言語: 日本語・英語・中国語・スペイン語・フランス語・ポルトガル語(他にスウェーデン語・韓国語のコード対応)
  • 特徴: OpenJTalk統合による日本語韻律処理、疑問詞マーカー、文脈依存「ん」バリアントの再現
  • ランタイム: Python / Rust / C# / Go / JS-WASM / C++ の6ランタイム
  • 推論バックエンド: CUDA / CoreML / DirectML対応(Rust CLI)
  • 最新版: 2026年時点でv2.0系(2026年5月〜)。Docker既定イメージがCUDA 12.8 + Ubuntu 24.04 + Python 3.13に統一、学習用torch 2.11+cu128にアップデート、TF32+bf16-mixedが学習デフォルトへ
  • 同梱モデル: つくよみちゃん(tsukuyomi)、multilingual-6lang、bilingual-ja-en-v4
piper-plus ロゴ
日本語対応フォークpiper-plusのロゴ(出典: ayutaz/piper-plus / MITライセンス)

ライセンスに注意です。公式piper1-gplはGPL-3.0のため、独自サービスに組み込む場合はソース公開義務が発生する可能性があります。商用組み込みや配布物のクローズド運用が必要な場合は、MITライセンスのpiper-plusを検討してください。

他ツールとの徹底比較

日本語話者がローカル音声合成エンジンを選ぶ際、実質的な選択肢は以下の5つです。それぞれの2026年7月時点の最新版で比較します。

項目Piper(piper1-gpl)piper-plusVOICEVOXStyle-Bert-VITS2Coqui TTS
最新版v1.4.2(2026-04)v2.0系(2026-05)ENGINE v0.25.2(2026-04)v2.7.0(2025-08)v0.27.5(2026-01)
ライセンスGPL-3.0MITLGPL-3.0AGPL-3.0MPL-2.0
日本語対応非対応(公式)OpenJTalk統合で標準対応日本語専用日本語特化(JP-Extra)要別途G2P
対応言語数30+6+2日本語のみマルチリンガル1100+モデル
推論速度非常に高速(CPU可)非常に高速(CPU/GPU)高速(CPU/GPU)中速(CPU/GPU)中速(GPU推奨)
ラズパイ動作Pi 5でリアルタイムPi 5で実用Pi 5でも可(重い)非現実的非現実的
感情・スタイル制御限定的限定的キャラごとにスタイル切替スタイル強弱を細かく制御モデル依存
音質中〜高中〜高非常に高い非常に高いモデル次第
Home AssistantデフォルトTTS直接統合なしコミュニティ統合あり非対応非対応
商用利用GPL条件次第MITで容易キャラ規約に従うAGPLで制限強いMPLで比較的容易
学習・ファインチューニング可能(Python)可能(Docker完備)公式非提供可能(GPU必須)可能(重い)

選び方の指針

  • Home AssistantでボイスAIを組みたい → 迷わずPiper(piper1-gpl)
  • 日本語で軽量・高速なローカル音声合成が欲しい → piper-plus
  • 日本語のキャラクターボイスを使いたい → VOICEVOX(キャラ規約に注意)
  • ナレーションで感情表現を細かく調整したい → Style-Bert-VITS2
  • 研究・実験でモデル差し替えを重視 → Coqui TTS
  • ラズパイやミニPCで完全オフライン運用 → Piper(1択)

メリットとデメリット

メリット

  • 圧倒的な軽量性: 1ボイスモデルが10〜75MB、メモリ使用量も数百MB程度でRaspberry Piでも動作
  • リアルタイム以上の推論速度: 最新Ryzen/Coreクラスなら音声より数倍速く合成できる
  • 完全オフライン: インターネット接続不要、プライバシー完全保護
  • Home Assistantデファクト: Wyoming ProtocolでHome Assistantに自動連携
  • 100超のボイス: 英語だけでも数十種類、地域アクセントや性別・年齢のバリエーション豊富
  • ONNX Runtimeベース: CUDA / DirectML / CoreMLで加速可能、モバイルSDKへの組み込みも容易
  • MIT系フォーク(piper-plus)が現役: ライセンス面で不安な場合の逃げ道あり

デメリット

  • 公式に日本語ボイスがない: 日本語利用ではpiper-plusまたは自前学習が必須
  • 感情・スタイル制御が限定的: 感情表現の細やかさではStyle-Bert-VITS2に劣る
  • ライセンスがGPL-3.0: 独自サービスの一部として組み込むと再配布ソース公開義務が発生しうる
  • 破壊的変更あり: 2024年のPython大規模リファクタで旧APIコードは動かない
  • ドキュメントが分散: 旧rhasspy時代の記事が大量に残っており、新旧の情報混在で混乱しやすい
  • 学習には計算リソース必要: 自前ボイスの学習にはGPU(できれば24GB VRAM級)と数十時間の音源が必要

動作要件

推論(音声合成のみ)の要件

項目最小推奨ハイエンド
OSUbuntu 20.04 / Windows 10 / macOS 12Ubuntu 22.04 / Windows 11 / macOS 14Ubuntu 24.04 / Windows 11 / macOS 15
CPU4コア(ARM含む)8コア以上(Ryzen 5 / Core i5クラス)16コア以上
GPU不要(CPUで十分)不要(速度が欲しければ任意)RTX 4070クラス(大量合成向け)
RAM2GB4GB8GB以上
ディスク500MB2GB10GB以上(複数モデル)
Python3.103.11以上3.13

ポイント: 推論のみならば、Raspberry Pi 5(RAM 4GB、CPU 4コア)でも実用速度で合成できます。GPUは無くても構いません。実際にHome Assistant Green等の小型ホームアシスタント機ではCPUだけで動作しています。

学習(オリジナルボイス作成)の要件

項目最小推奨
GPUNVIDIA GTX 1660 (6GB VRAM)RTX 4070 Ti SUPER (16GB) 以上
RAM16GB32GB以上
ディスク50GB空き500GB NVMe SSD
音声データ1時間以上10時間以上(クリーンな音源)
CUDA11.8以上12.8(piper-plusのDocker既定)
NVIDIA driverR525以上R570以上

インストール手順

Linux(Ubuntu)でのpipインストール(推奨)

最も簡単で確実な方法です。Python 3.10以上とpipが入っていれば、以下のコマンドで完了します。

python3 -m venv piper_env
source piper_env/bin/activate
pip install --upgrade pip
pip install piper-tts

# 動作確認
piper --version

依存関係としてespeak-ngが必要なため、Ubuntuなら事前にaptで入れておきます(一部のモデルは音素化にespeak-ngを使わないケースもあります)。

sudo apt-get update
sudo apt-get install -y espeak-ng

Windows でのインストール

Windowsでは、Python 3.11以上を公式サイトからインストールし、PowerShellで以下を実行します。

# 作業ディレクトリを作る
mkdir C:\piper
cd C:\piper

# 仮想環境を作る
python -m venv piper_env
.\piper_env\Scripts\Activate.ps1

# pipアップグレードとインストール
python -m pip install --upgrade pip
pip install piper-tts

# 動作確認
piper --version

Windowsではespeak-ngを別途GitHub ReleasesからMSIインストーラーで入れる必要があります。インストール後、環境変数PATHC:\Program Files\eSpeak NGが追加されているか確認してください。

macOS(Apple Silicon / Intel)でのインストール

Homebrewで依存関係を入れ、pipでインストールします。Apple Silicon(M1〜M4)ではネイティブに動作します。

brew install espeak-ng python@3.12

python3.12 -m venv ~/piper_env
source ~/piper_env/bin/activate
pip install --upgrade pip
pip install piper-tts

piper --version

Dockerでの実行(本番運用推奨)

本番運用では公式Docker Composeイメージを使うのが安定です。Home Assistant環境ならアドオンで簡単に入ります。

# docker-compose.yml
services:
  piper:
    image: rhasspy/wyoming-piper:latest
    container_name: piper
    restart: unless-stopped
    ports:
      - "10200:10200"
    volumes:
      - ./data:/data
    command: --voice en_US-lessac-medium
docker compose up -d
docker logs -f piper

Wyoming Protocol(TCPポート10200)でTTSサーバーとして起動し、Home Assistantから自動検出されます。

Home Assistantアドオンとしてのインストール

Home Assistant OS / Supervisedを使っている場合、公式アドオンから数クリックでインストール可能です。

  1. Home Assistantの設定 → アドオン → アドオンストアを開く
  2. 右上のメニューから「リポジトリ」→ Nabu Casa公式アドオンリポジトリが登録されているか確認
  3. 「Piper」を検索してインストール
  4. デフォルトのボイス(en_US-lessac-medium)で起動
  5. 設定 → 音声アシスタント → TTSでPiperを選択

ボイスを日本語や別のアクセントに変えたい場合、アドオンの設定画面からvoiceを書き換えるだけで済みます。

piper-plus(日本語)のインストール

日本語で音声合成をしたい場合、公式ではなくpiper-plusを使います。uv(超高速Pythonパッケージマネージャ)ベースの手順が推奨されています。

# uvのインストール(未導入の場合)
curl -LsSf https://astral.sh/uv/install.sh | sh

# piper-plusのインストール(CPU推論)
uv pip install "piper-plus[inference]"

# GPU推論(CUDA環境)
uv pip install "piper-plus[inference-gpu]"

# 学習環境
uv pip install "piper-plus[train]"

# 日本語モデル(つくよみちゃん)で合成
python -m piper --model ja_JP-tsukuyomi-chan-medium -f output.wav "こんにちは、今日は良い天気ですね。"

piper-plusはPython 3.13を推奨しており、3.11以上でも動作します。Dockerイメージを使う場合、既定でCUDA 12.8とUbuntu 24.04がプリセットされ、NVIDIA driver R570以上が必要です。

初期設定とモデルのダウンロード

ボイスモデルの入手

Piperは、モデル本体(.onnx)と設定ファイル(.onnx.json)の2つのファイルで1つのボイスを構成します。両ファイルともHuggingFaceの公式リポジトリから入手可能です。

# 例: en_US-lessac-medium(英語・女性・ミディアム品質)をダウンロード
wget https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/lessac/medium/en_US-lessac-medium.onnx
wget https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/lessac/medium/en_US-lessac-medium.onnx.json

# CLIから直接ダウンロードすることも可能
python -m piper.download_voices en_US-lessac-medium

クオリティレベルの選択

多くのボイスは複数のクオリティレベルで提供されています。用途に応じて選んでください。

品質サンプルレートファイルサイズ目安用途
x_low16000Hz約10MB組み込み機器、超低遅延用途
low16000Hz約20MBRaspberry Pi、低スペック機
medium22050Hz約60MB汎用(推奨デフォルト)
high22050Hz約75MBナレーション、放送品質

迷ったらmediumを選べば失敗しません。Home Assistantの応答音声のように短いフレーズが中心ならlowで十分実用的、動画のナレーションを作るならhigh推奨です。

基本的な使い方(CLI)

ワンライナーでの音声合成

最もシンプルな使い方は、標準入力からテキストを流し込む方法です。

echo "Hello, this is Piper text-to-speech engine." | \
  piper --model en_US-lessac-medium.onnx \
        --output_file greeting.wav

これでgreeting.wavができ、22050Hz 16bitのWAVで書き出されます。音を確認するにはaplay greeting.wav(Linux)やafplay greeting.wav(macOS)を使います。

複数文をまとめて処理

テキストファイルから複数行を一括処理したい場合、--json-inputオプションでJSON形式の入力が使えます。

cat << 'EOF' | piper --model en_US-lessac-medium.onnx --output_dir ./output --json-input
{"text": "Good morning.", "output_file": "morning.wav"}
{"text": "Good evening.", "output_file": "evening.wav"}
{"text": "Good night.", "output_file": "night.wav"}
EOF

outputフォルダに3つのWAVファイルが生成されます。バッチ処理やCI/CDでの音声生成に便利です。

主要なコマンドラインオプション

オプション意味デフォルト
--modelONNXモデルファイルのパス必須
--config設定JSONファイルのパスmodelと同名を自動検索
--output_file出力WAVファイル名標準出力
--output_dir出力先ディレクトリカレントディレクトリ
--speakerマルチスピーカーモデルの話者ID0
--length_scale発話速度(大きいほどゆっくり)1.0
--noise_scale音質のバリエーション0.667
--noise_w音素長のバリエーション0.8
--sentence_silence文末の無音秒数0.2
--phoneme_silence指定音素の無音時間なし
--cudaCUDA GPUを使用false(CPU)

発話速度と抑揚のチューニング

ナレーション用途では、標準の発話速度は少し早すぎる場合があります。--length_scale 1.15のように1.1〜1.3の値を指定すると、聞き取りやすい速度になります。

echo "Welcome to Warokai blog. Today we will introduce Piper TTS." | \
  piper --model en_US-lessac-high.onnx \
        --output_file intro.wav \
        --length_scale 1.15 \
        --sentence_silence 0.5

実践的な使い方

ケース1: ブログ記事の音声化(Podcast風)

WordPressの記事本文をテキストファイルとして書き出し、Piperで音声化してMP3にまとめる流れを示します。

# 1. 記事テキストを用意(article.txt)
# 2. Piperで音声化
piper --model en_US-lessac-high.onnx \
      --output_file article.wav \
      --length_scale 1.1 \
      < article.txt

# 3. ffmpegでMP3変換(ビットレート128kbps)
ffmpeg -i article.wav -codec:a libmp3lame -b:a 128k article.mp3

# 4. 音量ノーマライズ(-16 LUFSはPodcast標準)
ffmpeg -i article.mp3 -af loudnorm=I=-16:LRA=11:TP=-1.5 article_norm.mp3

日本語ブログの場合、piper-plusで同じ流れになります。

python -m piper \
  --model ja_JP-tsukuyomi-chan-medium \
  --output_file article_ja.wav \
  --length_scale 1.1 \
  < article_ja.txt

ffmpeg -i article_ja.wav -codec:a libmp3lame -b:a 128k article_ja.mp3

ケース2: 動画ナレーション生成

YouTubeやTikTok向けのショート動画では、スクリプトを段落ごとにWAV化し、無音区切りで結合するのが定石です。

# 段落ごとに分割された scenes/ フォルダのテキストを一括音声化
for f in scenes/*.txt; do
  base=$(basename "$f" .txt)
  piper --model en_US-lessac-high.onnx \
        --output_file "audio/${base}.wav" \
        --length_scale 1.05 \
        < "$f"
done

# 全WAVを結合(file_list.txtに順序を書く)
ls -1 audio/*.wav | awk '{print "file " $0}' > file_list.txt
ffmpeg -f concat -safe 0 -i file_list.txt -c copy narration_full.wav

ケース3: Home Assistantでの完全ローカル音声アシスタント

Whisper(STT)+ Piper(TTS)+ Home Assistantで、Alexaに依存しない完全ローカル音声アシスタントが組めます。ここが2026年時点でPiperを選ぶ最大の理由の1つです。

  1. Home Assistantのアドオンストアから「Whisper」「Piper」「openWakeWord」をインストール
  2. 設定 → 音声アシスタント → 新しいアシスタントを作成
  3. Speech-to-textにWhisper、Text-to-speechにPiperを設定
  4. ウェイクワード(Hey Jarvisなど)を選択
  5. ESP32ベースのAtom Echo等の音声デバイスとペアリング

これで「テレビをつけて」「照明を暗くして」といった自然言語コマンドが完全ローカルで実行できます。クラウドを一切経由しないため、応答は300ms程度と非常に低遅延、プライバシーも守られます。

応用・カスタマイズ

Python APIから直接呼び出す

スクリプトの中でPiperを呼び出したい場合、Python APIを使います。

from piper import PiperVoice
import wave

# モデルのロード(起動時に1度だけ)
voice = PiperVoice.load("en_US-lessac-medium.onnx")

# 音声合成してWAVに書き出す
with wave.open("output.wav", "wb") as wav_file:
    voice.synthesize_wav(
        "Hello world from Piper Python API.",
        wav_file,
    )

# ストリーミング合成(音声データのバイト列を逐次取得)
for audio_chunk in voice.synthesize("This is streamed audio."):
    # audio_chunk.audio_int16_bytes を音声出力デバイスに流す
    pass

Webアプリケーションのバックエンドやチャットボットで、リクエストごとに動的に音声を生成する用途に最適です。

HTTPサーバーモード

Piperには標準でHTTP APIサーバーが付属しています。他プロセスから音声合成を呼びたい場合に便利です。

# Piper HTTPサーバーを起動(デフォルトport 5000)
python -m piper.http_server \
  --model en_US-lessac-medium.onnx \
  --port 5000
# クライアントからPOSTでリクエスト
curl -X POST http://localhost:5000/ \
  -H "Content-Type: text/plain" \
  --data "Hello from HTTP API." \
  --output response.wav

Wyoming Protocolサーバーモード

Home Assistantと連携する場合、Wyoming Protocolでの起動が推奨です。TCPポート10200を待ち受け、Home Assistantから自動検出されます。

pip install wyoming-piper

python -m wyoming_piper \
  --piper piper \
  --voice en_US-lessac-medium \
  --uri tcp://0.0.0.0:10200 \
  --data-dir ./voices \
  --download-dir ./voices

マルチスピーカーモデルの活用

いくつかのモデルは1つのONNXに複数の話者を内包しています。--speakerオプションで切り替え可能です。

# en_US-libritts-highは904話者収録
echo "Speaker zero speaking." | \
  piper --model en_US-libritts-high.onnx --speaker 0 --output_file spk0.wav

echo "Speaker forty-two speaking." | \
  piper --model en_US-libritts-high.onnx --speaker 42 --output_file spk42.wav

オリジナルボイスの学習

自前の音声データからオリジナルボイスを学習することも可能です。piper-plusは学習用Dockerイメージを提供しており、比較的セットアップが楽です。

# 学習環境のインストール
uv pip install "piper-plus[train]"

# データセット準備(LJSpeech形式のCSV+WAV)
# metadata.csv: id|text|normalized_text
# wavs/*.wav (22050Hz mono推奨)

# 学習実行
python -m piper_train \
  --dataset-dir ./my_dataset \
  --output-dir ./my_voice_model \
  --language ja \
  --sample-rate 22050 \
  --quality medium \
  --batch-size 16 \
  --max-epochs 6000

音声データは、クリーンなスタジオ収録で最低1時間、実用品質を狙うなら10時間以上が目安です。学習にはRTX 4070 Ti SUPER(16GB VRAM)クラス以上のGPUで数日〜1週間程度かかります。

パフォーマンス最適化

CPU推論の最適化

  • onnxruntimeのスレッド数調整: 環境変数OMP_NUM_THREADSMKL_NUM_THREADSで並列度を制御。CPUの物理コア数に合わせるのが基本
  • クオリティレベルを下げる: mediumからlowにするだけで2〜3倍高速化
  • ボイス設定のnoise_scaleを0にする: 確定的合成になり若干高速化(音質のバリエーションはなくなる)
# 4コア機で並列度を最適化
OMP_NUM_THREADS=4 MKL_NUM_THREADS=4 \
piper --model en_US-lessac-low.onnx --output_file fast.wav < input.txt

GPU推論の有効化

onnxruntime-gpuを別途インストールし、--cudaフラグを付けるとGPU推論が有効化されます。ただし、Piperは軽量なため、GPUを使ってもCPUと比較して劇的な高速化は得られません。大量のテキストを短時間に処理したい場合に検討してください。

pip uninstall onnxruntime
pip install onnxruntime-gpu

# CUDA GPUでの推論
piper --model en_US-lessac-high.onnx \
      --output_file gpu_output.wav \
      --cuda \
      < input.txt

モデルキャッシュとロード時間短縮

HTTPサーバーモードやPython APIでは、初回のモデルロードに1〜2秒かかりますが、その後は数十ms〜数百msで合成できます。CLIモードでも常駐プロセスを立てておくとレスポンスが安定します。

よくあるエラーとトラブルシューティング

1. ModuleNotFoundError: No module named 'piper'

仮想環境がアクティブでない、または旧パッケージpiper-tts-plusと現行piper-plusが混在しているケースが多発しています。

# 仮想環境の再有効化
source piper_env/bin/activate

# 旧パッケージのアンインストール
pip uninstall piper-tts-plus piper-tts

# 新パッケージのクリーンインストール
pip install --upgrade --force-reinstall piper-tts   # 公式使う場合
# または
pip install --upgrade --force-reinstall piper-plus  # 日本語なら

2. espeak-ng not foundエラー

espeak-ngが未インストール、またはPATHに含まれていない場合に発生します。

# Ubuntu / Debian
sudo apt-get install -y espeak-ng
# Fedora / RHEL
sudo dnf install -y espeak-ng
# macOS
brew install espeak-ng
# Windows: GitHub Releasesからespeak-ng-X64.msiを入手してインストール後、PATHに追加

3. 生成音声にプツプツとノイズが入る

WAVのサンプルレート指定と再生機のミスマッチが原因です。設定ファイル(.onnx.json)のsample_rateを確認し、再生側に合わせてください。ffmpegでリサンプルする対処例:

ffmpeg -i piper_output.wav -ar 48000 -ac 2 output_48k.wav

4. 日本語テキストが「不明な音素」で失敗する

公式piper1-gplは日本語未対応です。以下のどちらかを使用してください。

  • piper-plusに切り替える(pip install piper-plus
  • OpenJTalkベースの前処理でカタカナ・ローマ字化してから流し込む

5. onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument

ONNXモデルと.onnx.jsonのバージョン不整合、またはonnxruntimeのバージョン古すぎが原因です。

pip install --upgrade onnxruntime

# GPU版を使っているなら
pip install --upgrade onnxruntime-gpu

# モデルを再ダウンロード
rm en_US-lessac-medium.onnx*
python -m piper.download_voices en_US-lessac-medium

6. Wyoming Protocolで Home Assistant から検出されない

ファイアウォールでポート10200が閉じられている、あるいはZeroconf/mDNSが機能していない可能性があります。

# ポート開放(ufwの場合)
sudo ufw allow 10200/tcp

# 手動で追加する場合、Home Assistantの設定 → 統合 → Wyoming Protocolを追加
# ホスト: piperコンテナのIP、ポート: 10200

7. Docker実行時に「CUDA not available」警告

GPU推論用のonnxruntime-gpuを使うDockerイメージでは、ホスト側のNVIDIA driverがR525以上(piper-plusはR570以上)である必要があります。nvidia-container-toolkitのインストールも必須です。

nvidia-smi  # ドライバのバージョン確認
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

docker run --gpus all --rm nvidia/cuda:12.8.0-runtime-ubuntu24.04 nvidia-smi

おすすめの組み合わせ・連携

Whisper(音声認識)+ Piper(音声合成)

Wyoming Faster Whisperと組み合わせることで、双方向の音声インターフェースを完全ローカルで実現できます。Home AssistantでもこのペアがデフォルトのSTT+TTS構成です。

Home Assistant + ESPHome音声デバイス

ESP32-S3ベースのAtom Echo、M5Stack Atom Echoなどのハードウェアと組み合わせると、数千円で完全ローカルスマートスピーカーが作れます。Amazon EchoやGoogle NestからHome Assistantへ完全移行する事例が増えています。

Piper + ffmpeg + OBS Studio

配信・録画用途では、Piperで生成した音声を仮想オーディオデバイス(VB-Audio Cable等)経由でOBS Studioに流し込み、ライブ配信のBGMやナレーションとして使えます。

Piper + Ollama(ローカルLLM)

OllamaでローカルLLMを動かし、その応答をPiperで読み上げる構成は、完全オフラインのボイスAIアシスタントの王道です。以下は最小構成のPythonスクリプト例です。

import subprocess
import requests

def ask_ollama(prompt):
    r = requests.post(
        "http://localhost:11434/api/generate",
        json={"model": "llama3.2:3b", "prompt": prompt, "stream": False},
    )
    return r.json()["response"]

def speak(text):
    subprocess.run(
        ["piper", "--model", "en_US-lessac-medium.onnx",
         "--output_file", "reply.wav"],
        input=text.encode(),
        check=True,
    )
    subprocess.run(["aplay", "reply.wav"], check=True)

question = "What is the capital of Japan?"
answer = ask_ollama(question)
print("LLM:", answer)
speak(answer)

用途別 推奨PCスペック

入門(Piper推論のみ、Home Assistant用途)

パーツ推奨理由
本体Raspberry Pi 5(8GB版)Piper単独で十分動作、消費電力小
ストレージ128GB microSD or M.2 SSD複数モデル格納にゆとりあり
電源Pi 5公式27W USB-C PD安定動作の必須条件
ネットワーク1000BASE-T有線Home Assistantとの低遅延通信

標準(Piper + Whisper + Ollama軽量モデル)

パーツ推奨理由
CPURyzen 5 7600 / Core i5-13500Piperは軽量、他ワークロード並列実行
メモリDDR5メモリ 32GB複数AIツール同時運用に必要
GPURTX 4060 Ti (16GB)Ollama 7Bモデル並列稼働に十分
SSD1TB NVMe SSDモデル30〜50GB格納で余裕
電源750W 80+ GOLD拡張性を確保

ハイエンド(オリジナルボイス学習・大量ナレーション生成)

パーツ推奨理由
CPURyzen 9 9950X / Core i9-14900Kデータ前処理の並列度確保
メモリDDR5メモリ 64GB大規模データセット扱う際の余裕
GPURTX 4070 Ti SUPER (16GB) 以上学習には最低16GB VRAM推奨
SSD2TB NVMe SSD音声データセット数百GB級を保存
電源1000W 80+ PLATINUM学習中のピーク電力に耐える
冷却360mm水冷長時間学習の温度管理

まとめ

Piper TTSは、2026年時点でローカル音声合成のデファクトスタンダードです。特徴を改めて整理すると以下の通りです。

  • Raspberry Pi 5クラスでもリアルタイム動作する圧倒的な軽量性
  • Home AssistantのデフォルトTTSエンジンとして完全統合済み
  • 公式リポジトリはOHF-Voice/piper1-gpl(v1.4.2、GPL-3.0)
  • 日本語利用にはコミュニティフォークのayutaz/piper-plus(v2.0系、MIT)が現実解
  • Whisper・Ollamaと組み合わせれば完全ローカルの音声AIが数千円のハードから作れる

2025年10月のリポジトリアーカイブと2024年のOHF-Voice移管により、ネット上の情報は新旧混在しています。今から新規に導入するなら、迷わずpiper1-gplまたはpiper-plusを選ぶのが正解です。特にHome Assistant環境やRaspberry Piを持っている方は、まずアドオンやpip install piper-ttsでインストールして、その速度と品質を体感してみてください。

今後のロードマップとしては、公式piper1-gpl側でも日本語含む未対応言語のモデル追加、v2.0系のC++コード復活が予告されています。piper-plus側もv2.0でCUDA 12.8+bf16対応と学習効率が大きく改善しており、オリジナルボイス作成のハードルはさらに下がる見込みです。「クラウド不要の音声AI」を実現する最短ルートとして、Piperは今後も進化し続けるでしょう。

📦 この記事で紹介した商品

※ 上記リンクはAmazonアソシエイトリンクです。購入いただくと当サイトに紹介料が入ります。

タイトルとURLをコピーしました