PiperPlus.Core 0.3.0

dotnet add package PiperPlus.Core --version 0.3.0
                    
NuGet\Install-Package PiperPlus.Core -Version 0.3.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PiperPlus.Core" Version="0.3.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PiperPlus.Core" Version="0.3.0" />
                    
Directory.Packages.props
<PackageReference Include="PiperPlus.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PiperPlus.Core --version 0.3.0
                    
#r "nuget: PiperPlus.Core, 0.3.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PiperPlus.Core@0.3.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PiperPlus.Core&version=0.3.0
                    
Install as a Cake Addin
#tool nuget:?package=PiperPlus.Core&version=0.3.0
                    
Install as a Cake Tool

Piper logo

English | 日本語 | 中文 | Français | 한국어 | Español | Português | Deutsch | Русский | Svenska | हिन्दी

CI PyPI Python License: MIT Hugging Face Demo Hugging Face Model Try in Browser

🔑 唯一の MIT ライセンス Piper フォーク — オリジナルの rhasspy/piper は 2025年10月にアーカイブ済み。OHF-Voice/piper1-gpl は GPL-3.0 に移行。piper-plus は espeak-ng に依存しない唯一の MIT 互換フォークです。独自実装の G2P で8言語 (JA/EN/ZH/KO/ES/FR/PT/SV) に対応し、商用利用・組込み利用に適しています。

高速・高品質なニューラルテキスト音声合成 (TTS) システム。VITS アーキテクチャを採用し、日本語・英語・中国語・韓国語・スペイン語・フランス語・ポルトガル語・スウェーデン語の8言語マルチスピーカー音声合成に対応。Piper のフォークで、日本語対応・音質向上・学習機能を大幅に強化しています。

Hugging Face デモ | WebAssembly デモ (ブラウザで動作、サーバー不要)


目次


ベンチマーク

計測環境: Intel Xeon E5-2650 v4 @ 2.20GHz / 48 cores / Linux x86_64 / Python 3.12 / ONNX Runtime 1.24 テスト文: "Hello, how are you doing today?" (英語, 25 音素) 計測パラメータ: warmup 5 回 / 計測 30 回 (intra-op threads = auto) 使用モデル:

  • piper-plus: 6lang MB-iSTFT 75epoch ONNX (PR #320 で導入された統一 Decoder)
  • Piper 本家: en_US-lessac-medium (rhasspy/piper-voices v1.0.0)
  • sherpa-onnx: vits-piper-en_US-amy-low (k2-fsa リリース)

再現: uv run python scripts/benchmark.py --model <model.onnx> --config <config.json> --language en --text "Hello, how are you doing today?" --n-warmup 5 --n-runs 30 --format markdown

システム RTF ↓ Latency P50 (ms) サイズ (MB) RAM (MB) 初回起動 (ms) パラメータ 言語数 ライセンス
piper-plus (MB-iSTFT) 0.078 27 38 208 1633 19.6 M 8 MIT
Piper 本家 (archived) 0.066 35 60 185 2510 15.7 M 1/model MIT
sherpa-onnx (VITS Piper-fmt) 0.075 53 60 202 2554 15.6 M 1/model Apache-2.0
piper1-gpl (OHF fork) † 0.06 75 150 400 1/model GPL-3.0
Kokoro-82M † 0.12 320 450 800 1 Apache-2.0
eSpeak-NG † 0.001 2 15 10 100+ GPL-3.0

: RTF (Real-Time Factor) は低いほど高速。Latency P50 は単発推論の中央値で「実際の応答性」を直接表す指標。piper-plus は MB-iSTFT 統一 Decoder により Latency P50 27ms と最速 (Piper 本家 35ms 比 -23%、sherpa-onnx 53ms 比 -49%) 、かつモデルサイズも 38MB と最小クラス。旧 piper-plus HiFi-GAN ベース (P50 43.3ms) と比べても -38% の改善。

がついた行は本 PR では再計測していません (piper1-gpl は piper 本家と同一アーキテクチャ・ONNX 形式のため Piper 本家行とほぼ同等になる見込み。Kokoro-82M は別アーキテクチャ、eSpeak-NG は非ニューラル CLI のため scripts/benchmark.py のテンソル契約に乗らず、別ハーネスが必要)。これらの値は前回計測時 (Apple M2 Max) のもの。


主要機能

音声合成

  • 8言語対応 — 日本語・英語・中国語・スペイン語・フランス語・ポルトガル語・スウェーデン語・韓国語 (ja=0, en=1, zh=2, es=3, fr=4, pt=5, sv=6, ko=7) ※学習済みモデルは6言語 (JA/EN/ZH/ES/FR/PT)
  • 日本語 TTS — OpenJTalk統合、韻律情報 (A1/A2/A3)、疑問詞マーカー (#204)、文脈依存「ん」バリアント (#207)
  • 英語 TTS — GPL-free G2P (g2p-en, Apache-2.0)、espeak-ng 不要
  • マルチスピーカー — 571話者対応 (学習用ベースモデル)、SpeakerBalancedBatchSampler、言語グループ均等サンプリング
  • カスタム辞書 — 200+技術用語の発音辞書内蔵
  • 音素入力[[ phonemes ]] 記法による直接指定 — ガイド

学習

  • WavLM Discriminator — MOS +0.15-0.25 向上 (デフォルト有効、学習時のみ使用)
  • MB-iSTFT-VITS2 Decoder — Decoder を MB-iSTFT + PQMF に統一、CPU 推論 2.21x 高速化。ONNX 形式不変で既存ランタイム互換
  • FP16 Mixed Precision — 学習速度2-3倍、メモリ約50%削減 (デフォルト有効)
  • EMA — Exponential Moving Average による学習安定性向上 (デフォルト有効)
  • マルチGPU — DDP対応、自動学習率スケーリング
  • Prosody Features — Duration Predictorへの韻律情報注入 (--prosody-dim 16)
  • Wandb統合 — リアルタイムメトリクス監視

インターフェース

  • WebUI (Gradio) — 推論・学習対応、Docker対応
  • C++ CLI — ストリーミング、CUDA推論、音素タイミング出力 (JSON/TSV/SRT)、カスタム辞書
  • C API 共有ライブラリlibpiper_plus.so/.dylib/.dll、FFI対応 (Flutter/Godot/Swift等)、ストリーミング API
  • WebAssembly — ブラウザ内で完全動作、音素タイミング出力 (JSON/TSV/SRT)、サーバー不要
  • Docker — 推論・学習・WebUI・C++の5イメージ提供
  • PyPIpip install piper-plus で簡単インストール、8言語マルチリンガル、音素タイミング出力 (JSON/TSV/SRT)、ストリーミング、HTTP API
  • C# CLI — .NET 10 クロスプラットフォーム、8言語マルチリンガル、ONNX推論、音素タイミング出力 (JSON/TSV/SRT)
  • Rust CLI — piper-plus/piper-plus-cli、ストリーミング、CUDA/CoreML/DirectML対応、音素タイミング出力 (JSON/TSV/SRT)、辞書自動ダウンロード
  • Go CLI — HTTP APIサーバー、セッションプーリング、Docker対応、シングルバイナリ、音素タイミング出力 (JSON/TSV/SRT)
  • Voice Cloning (Speaker Encoder + speaker_embedding) — 全 6 ランタイム (Python/Rust/C#/Go/WASM/C++) 対応。C++ は CLI バイナリと libpiper_plus C API ライブラリの両形式で利用可。ECAPA-TDNN による参照音声からの話者 embedding 抽出 (--reference-audio)
  • SSML サポート<speak>, <break>, <prosody rate="..."> を Python/Rust/C#/Go の 4 ランタイムで実装
  • 短文品質改善 (Strategy A/B/C) — Silence Padding、Dynamic Scales、SSML <break> 自動注入を全 6 ランタイムで対応 (docs/spec/short-text-contract.toml)

ランタイム別機能サポート

6 ランタイム (Python/Rust/C#/Go/JS-WASM/C++) で同等の8言語マルチリンガル合成を実現。音素タイミング・ストリーミング (文単位分割含む)・Voice Cloning・カスタム辞書は全ランタイム対応。SSML は Python/Rust/C#/Go の4ランタイム対応、HTTP API は Python/Go の2ランタイム対応。


クイックスタート

プリビルドバイナリ (ビルド不要)

GitHub Releases からプリビルドバイナリをダウンロードして、すぐに音声合成を開始できます。

1. バイナリをダウンロード

お使いのOSに合わせてダウンロード・展開してください。

Windows (PowerShell):

Invoke-WebRequest -Uri "https://github.com/ayutaz/piper-plus/releases/latest/download/piper-windows-x64.zip" -OutFile piper.zip
Expand-Archive piper.zip -DestinationPath .
cd piper

macOS (Apple Silicon):

curl -L -o piper.tar.gz https://github.com/ayutaz/piper-plus/releases/latest/download/piper-macos-arm64.tar.gz
tar xzf piper.tar.gz
cd piper
xattr -cr .

Linux (x86_64):

curl -L -o piper.tar.gz https://github.com/ayutaz/piper-plus/releases/latest/download/piper-linux-x64.tar.gz
tar xzf piper.tar.gz
cd piper

Linux (ARM64, Raspberry Pi 4/5):

curl -L -o piper.tar.gz https://github.com/ayutaz/piper-plus/releases/latest/download/piper-linux-arm64.tar.gz
tar xzf piper.tar.gz
cd piper

2. モデルをダウンロード & 音声を生成

# つくよみちゃんモデルをダウンロード
./bin/piper --download-model tsukuyomi

# 音声を生成 (モデル名だけで OK — ダウンロード済みモデルを自動解決)
./bin/piper --model tsukuyomi --text "こんにちは、今日は良い天気ですね。" --output_file output.wav

Windows cmd のコードページについて: --text オプションは内部で GetCommandLineW() (UTF-16) を使用するため、コードページに依存せずそのまま動作します。パイプ入力(echo ... | piper)を使う場合のみ、事前に chcp 65001 で UTF-8 に切り替えてください。

output.wav の出力先: カレントディレクトリ(cd piper した場所)に生成されます。

どのバイナリを選べばよい? Releases には piper-* (C++) のほか、piper-plus-cli-* (C# .NET) と piper-plus-rs-cli-* (Rust) のCLIもあります。上記のクイックスタートで使っている C++ CLI (piper-*) が最も多くのプラットフォームに対応していて推奨です。詳しくは CLIバイナリの選び方 を参照。

Python推論

# インストール
uv pip install ".[inference]"

# 日本語推論
uv run python -m piper_train.infer_onnx \
  --model /path/to/model.onnx \
  --config /path/to/config.json \
  --output-dir ./output \
  --text "こんにちは、今日は良い天気ですね。"

# 英語推論
uv run python -m piper_train.infer_onnx \
  --model /path/to/en_model.onnx \
  --config /path/to/en_model.onnx.json \
  --output-dir ./output \
  --text "Hello, how are you today?" \
  --language en

主なオプション: --speaker-id(話者ID)、--device auto|cpu|gpu--noise-scale(音声バリエーション)、--length-scale(話速)、--noise-scale-w(音素長バリエーション、デフォルト: 0.8)

WavLMモデルの推奨設定: WavLM Discriminatorで学習されたモデル (つくよみちゃん等) は --noise-scale 0.5 で最適な音質になります (デフォルトは 0.667)。

Python CLI モデル管理
# モデル一覧表示
python -m piper --list-models
python -m piper --list-models ja

# モデルダウンロード
python -m piper --download-model tsukuyomi
python -m piper --download-model ja_JP-tsukuyomi-chan-medium

# ダウンロード後に使用
python -m piper --model ja_JP-tsukuyomi-chan-medium -f output.wav "こんにちは"

WebUI

uv pip install -r src/python_run/requirements_webui.txt
cd src/python_run
python -m piper.webui --data-dir /path/to/models
# → http://localhost:7860

Docker

# WebUI
docker build -t piper-webui -f docker/webui/Dockerfile .
docker run -p 7860:7860 -v ./models:/models:ro piper-webui

# Python推論 (CPU)
docker build -t piper-inference -f docker/python-inference/Dockerfile .
docker run --rm \
  -v ./models:/app/models:ro -v ./output:/app/output \
  piper-inference \
  python -m piper_train.infer_onnx \
    --model /app/models/model.onnx --config /app/models/config.json \
    --output-dir /app/output --text "こんにちは" --device cpu

# GPU推論 (--gpus all を追加)
docker run --rm --gpus all \
  -v ./models:/app/models:ro -v ./output:/app/output \
  piper-inference \
  python -m piper_train.infer_onnx \
    --model /app/models/model.onnx --config /app/models/config.json \
    --output-dir /app/output --text "こんにちは" --device gpu

CI/CD ビルド済みイメージ:

docker pull ghcr.io/ayutaz/piper-plus/python-inference:dev
docker pull ghcr.io/ayutaz/piper-plus/python-train:dev
docker pull ghcr.io/ayutaz/piper-plus/webui:dev
docker pull ghcr.io/ayutaz/piper-plus/cpp-inference:dev
docker pull ghcr.io/ayutaz/piper-plus/cpp-dev:dev

Note: webui イメージは CI で自動ビルドされません。docker build -t piper-webui -f docker/webui/Dockerfile . で手動ビルドしてください。

詳細は docker/README.md を参照。


インストール

Python

Python 3.11+ が必要。依存管理は uv を推奨。

# CPU推論
uv pip install ".[inference]"

# GPU推論 (CUDA環境が必要)
uv pip install ".[inference-gpu]"

# 学習
uv pip install ".[train]"

# 開発 (テスト・リンター含む)
uv pip install ".[dev]"

PyPI パッケージからもインストール可能:

pip install piper-plus

パッケージからインストール

Python (PyPI):

pip install piper-plus

npm (ブラウザ WASM):

npm install piper-plus onnxruntime-web

C# CLI (.NET Global Tool):

dotnet tool install -g PiperPlus.Cli

Rust CLI (crates.io):

cargo install piper-plus-cli

C# ライブラリ (NuGet):

dotnet add package PiperPlus.Core

Rust ライブラリ (crates.io):

[dependencies]
piper-plus = "0.4"

ソースからビルド

プリビルドバイナリが提供されていないプラットフォームで使う場合や piper-plus を改変したい場合は、ソースからビルドできます。C++ / C# / Rust の各ランタイムのビルド手順は ソースからのビルドガイド を参照してください。


使い方

C++ CLI の詳細なコマンドラインオプション、JSON 入力フォーマット、モデル管理、環境変数、Windows ヘルパースクリプトの使い方は CLI 使用ガイド を参照してください。

簡単な使用例:

./bin/piper --model tsukuyomi --text "こんにちは" --output_file hello.wav

学習

ピパープラスモデルの学習・ファインチューニング方法 (基本設定、マルチスピーカー / マルチ GPU、ONNX 変換、チェックポイント管理、音声評価) は 学習ガイド を参照してください。

実運用向けの 6 言語事前学習・つくよみちゃんファインチューニングのコマンドテンプレートは CLAUDE.md にあります。


事前学習済みモデル

公開されている piper-plus モデルの一覧、ダウンロード方法、6 言語ベースモデルの特徴、日本語 TTS の詳細は モデルガイド を参照してください。

主要モデル: tsukuyomi (日本語), multilingual-6lang (8 言語ベース), bilingual-ja-en-v4 (日英 2 言語) — 詳細は HuggingFace の ayousanz/piper-plus-baseayousanz/piper-plus-tsukuyomi-chan を参照。


プラットフォーム


関連リンク

Unity — uPiper

Piper を Unity で使用するプラグイン: github.com/ayutaz/uPiper

  • Unity 6000.0.35f1+、Unity.InferenceEngine
  • Windows / macOS (Apple Silicon) / Linux / Android 対応
  • 日本語・英語対応、非同期API、ストリーミング

音声モデル (Voices)

piper-plus 専用モデル: piper-plus-base (6言語ベース) · つくよみちゃん

Note: piper-plus は独自の G2P・音素体系を使用しているため、upstream Piper (rhasspy/piper-voices) のモデルとは互換性がありません。

関連記事

piper-plus-g2p (独立G2Pパッケージ)

多言語G2P (Grapheme-to-Phoneme) を独立パッケージとして提供:

People using Piper

Home Assistant · Rhasspy 3 · NVDA · Open Voice OS · LocalAI · JetsonGPT · mintPiper · Vim-Piper


ドキュメント

カテゴリ リンク
日本語TTS 日本語音声合成ガイド
学習 学習ガイド · マルチGPU
API 音素マッピング · 環境変数
機能 WebUI · CLI強化 · ストリーミング
セットアップ クイックスタート (日本語) · Windows · トラブルシューティング
Docker Docker環境
WebAssembly 技術詳細

Contributing

CONTRIBUTING.md を参照。

Changelog

CHANGELOG.md を参照。

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.3.0 148 5/4/2026
0.2.0 124 4/7/2026
0.1.0 103 3/22/2026