ayousanz/piper-plus-css10-ja-6lang
1814
Piper Plus CSS10 Japanese (Multilingual 6-Language + MB-iSTFT-VITS2)
CSS10 Japanese データセットを使用して 6 言語マルチリンガルベースモデルからファインチューニングした多言語 TTS モデルです。
Decoder は MB-iSTFT (Multi-Band inverse STFT) + PQMF で、HiFi-GAN ベースの旧モデルから置き換えられています。prosody features (A1/A2/A3) に対応し、日本語・英語・中国語・スペイン語・フランス語・ポルトガル語の 6 言語で音声合成が可能です。
⚠️ Breaking change (2026-05): このモデルは MB-iSTFT-VITS2 アーキテクチャの新世代版です。piper-plus PR #320 以降のランタイムで動作します。出力形状 [B, 1, T] は維持されているため、C++/Rust/C#/Go/WASM ランタイムは修正不要で本モデルを推論できます。Model Details
MB-iSTFT-VITS2 Decoder の利点
Usage
C++ CLI (プリビルドバイナリ)
# モデルダウンロード
./piper --download-model css10 --model-dir models
# 日本語
echo 'こんにちは、今日は良い天気ですね。' | \
./piper --model models/css10-ja-6lang-fp16.onnx --output_file output_ja.wav
# 英語
echo 'Hello, how are you today?' | \
./piper --model models/css10-ja-6lang-fp16.onnx --language en --output_file output_en.wav
# 中国語
echo '你好,今天天气很好。' | \
./piper --model models/css10-ja-6lang-fp16.onnx --language zh --output_file output_zh.wav
# スペイン語
echo '¿Hola, cómo estás hoy?' | \
./piper --model models/css10-ja-6lang-fp16.onnx --language es --output_file output_es.wav
# フランス語
echo 'Bonjour, comment allez-vous?' | \
./piper --model models/css10-ja-6lang-fp16.onnx --language fr --output_file output_fr.wav
# ポルトガル語
echo 'Olá, como você está hoje?' | \
./piper --model models/css10-ja-6lang-fp16.onnx --language pt --output_file output_pt.wavPython 推論
# インストール
pip install piper-tts-plus
# 日本語
uv run python -m piper_train.infer_onnx \
--model css10-ja-6lang-fp16.onnx \
--config config.json \
--output-dir ./output \
--text "こんにちは、今日は良い天気ですね。" \
--language ja-en-zh-es-fr-pt \
--noise-scale 0.667
# 英語
uv run python -m piper_train.infer_onnx \
--model css10-ja-6lang-fp16.onnx \
--config config.json \
--output-dir ./output \
--text "Hello, how are you today?" \
--language ja-en-zh-es-fr-pt \
--noise-scale 0.667推奨推論パラメータ
Training
ベースモデル
ayousanz/piper-plus-base の MB-iSTFT-VITS2 ベースモデル (571 話者、508,187 発話、75 epoch スクラッチ学習) からファインチューニング。
転移学習方式
--resume-from-multispeaker-checkpointでベースモデルからロードemb_g(571 話者分の話者埋め込み) を自動除去emb_langに conditioning 分布補正を適用--freeze-dpを自動有効化 (Duration Predictor の catastrophic forgetting 防止)- 50 epoch ファインチューニング (6,841 発話、lr=2e-5)
- ONNX エクスポート (EMA + stochastic + FP16)
学習コマンド
WANDB_MODE=disabled \
uv run python -m piper_train \
--dataset-dir /path/to/css10-ja-6lang \
--prosody-dim 16 \
--accelerator gpu --devices 1 --precision 32-true \
--max_epochs 50 --batch-size 16 --samples-per-speaker 4 \
--checkpoint-epochs 5 --quality medium \
--base_lr 2e-5 --disable_auto_lr_scaling \
--ema-decay 0.9995 \
--max-phoneme-ids 400 \
--no-wavlm \
--val-every-n-epochs 5 \
--resume-from-multispeaker-checkpoint /path/to/base_model.ckpt \
--default_root_dir /path/to/outputFiles
css10-ja-6lang-fp16.onnx- ONNX モデル (38MB, FP16, MB-iSTFT-VITS2)config.json- モデル設定 (173 音素マップ、6 言語)
Credits
- CSS10 Dataset: Kyubyong/css10
- Piper TTS: rhasspy/piper
- MB-iSTFT-VITS: Kawamura et al., 2023
- Piper Plus: ayutaz/piper-plus (PR #320 で MB-iSTFT 統一)
License
CSS10 データセットのライセンスに準じます。詳細は CSS10 GitHub を参照してください。
