Piper Plus つくよみちゃん (Multilingual 6-Language + MB-iSTFT-VITS2)

つくよみちゃんコーパス を使用して 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 ランタイムは修正不要で本モデルを推論できます。

Sample Audio

テキスト 言語 音声
こんにちは、つくよみちゃんです。 JA sample_ja
Hello, how are you today? EN sample_en
你好,今天天气很好。 ZH sample_zh
Hola, como estas hoy? ES sample_es
Bonjour, comment allez-vous? FR sample_fr
Ola, como voce esta hoje? PT sample_pt

サンプルは --length-scale 1.5 --noise-scale 0.667 で生成。MB-iSTFT 版はデフォルト DP が旧 HiFi-GAN 版より速い発話傾向のため、自然な発話速度に整えるために length-scale を上げています。

Model Details

項目
アーキテクチャ VITS (Decoder: MB-iSTFT + PQMF)
言語 日本語 (ja), 英語 (en), 中国語 (zh), スペイン語 (es), フランス語 (fr), ポルトガル語 (pt)
サンプルレート 22050 Hz
品質 medium
音素タイプ multilingual
音素数 173
prosody_dim 16
話者数 1 (つくよみちゃん)
言語数 6
ベースモデル ayousanz/piper-plus-base (MB-iSTFT 版、571話者、75 epoch スクラッチ)
ファインチューニング 500 epochs, lr=2e-5, freeze-dp
学習データ つくよみちゃんコーパス (100発話, ~11分)
ONNX エクスポート stochastic + EMA + emb_lang 後処理 + FP16 (38MB)
Decoder upsample (4, 4) × iSTFT(4) × PQMF(4) = 256x

MB-iSTFT-VITS2 Decoder の利点

メトリック 旧 HiFi-GAN MB-iSTFT (本モデル) 改善
CPU ONNX p50 (100 phoneme) 168.2 ms 76.2 ms 2.21x 高速化
つくよみちゃん FT 推論 61.9 ms (RTF 0.046)
Decoder 単体 ~3.6x (論文値と同等)
出力形状 [B, 1, T] [B, 1, T] 変化なし (ランタイム互換)

Inference Results (length_scale=1.5)

テキスト 言語 音声長
こんにちは、つくよみちゃんです。 JA 2.31s
Hello, how are you today? EN 1.16s
你好,今天天气很好。 ZH 1.85s
Hola, como estas hoy? ES 1.09s
Bonjour, comment allez-vous? FR 1.38s
Ola, como voce esta hoje? PT 1.67s

Usage

推論 (テキスト直接入力)

# 日本語
CUDA_VISIBLE_DEVICES="" uv run python -m piper_train.infer_onnx \
  --model tsukuyomi-chan-6lang-fp16.onnx \
  --config config.json \
  --output-dir ./output \
  --text "こんにちは、今日は良い天気ですね。" \
  --language ja-en-zh-es-fr-pt \
  --speaker-id 0 \
  --noise-scale 0.667 \
  --length-scale 1.5

# 英語
CUDA_VISIBLE_DEVICES="" uv run python -m piper_train.infer_onnx \
  --model tsukuyomi-chan-6lang-fp16.onnx \
  --config config.json \
  --output-dir ./output \
  --text "Hello, how are you today?" \
  --language ja-en-zh-es-fr-pt \
  --speaker-id 0 \
  --noise-scale 0.667 \
  --length-scale 1.5

# 混合テキスト (コードスイッチング)
CUDA_VISIBLE_DEVICES="" uv run python -m piper_train.infer_onnx \
  --model tsukuyomi-chan-6lang-fp16.onnx \
  --config config.json \
  --output-dir ./output \
  --text "今日はgood morningですね" \
  --language ja-en-zh-es-fr-pt \
  --speaker-id 0 \
  --noise-scale 0.667 \
  --length-scale 1.5

推奨推論パラメータ

パラメータ 説明
--noise-scale 0.667 デフォルト推奨値
--length-scale 1.5 MB-iSTFT 版の自然な発話速度 (1.0 だと早口)
--speaker-id 0 単一話者
--language ja-en-zh-es-fr-pt 6 言語自動検出

Training

ベースモデル

ayousanz/piper-plus-base の MB-iSTFT-VITS2 ベースモデル (571 話者、508,187 発話、75 epoch スクラッチ学習) からファインチューニング。

転移学習方式

  1. --resume-from-multispeaker-checkpoint でベースモデルからロード
    • emb_g (571 話者分の話者埋め込み) を自動除去
    • emb_lang に conditioning 分布補正を適用
    • --freeze-dp を自動有効化 (Duration Predictor の catastrophic forgetting 防止)
  2. 500 epoch ファインチューニング (100発話、lr=2e-5)
  3. ONNX エクスポート前に emb_lang[0] (JA) → emb_lang[1:5] (EN/ZH/ES/FR/PT) にコピーして声質統一 (--unify-emb-lang 自動実行)

学習コマンド

uv run python -m piper_train \
  --dataset-dir /path/to/tsukuyomi-dataset \
  --prosody-dim 16 \
  --accelerator gpu --devices 1 --precision 32-true \
  --max_epochs 500 --batch-size 4 --samples-per-speaker 4 \
  --checkpoint-epochs 50 --quality medium \
  --base_lr 2e-5 --disable_auto_lr_scaling \
  --ema-decay 0.9995 \
  --max-phoneme-ids 400 \
  --no-wavlm \
  --resume-from-multispeaker-checkpoint /path/to/base_model.ckpt \
  --default_root_dir /path/to/output

Files

  • tsukuyomi-chan-6lang-fp16.onnx - ONNX モデル (38MB, FP16, MB-iSTFT-VITS2, emb_lang 後処理済み)
  • config.json - モデル設定 (173 音素マップ、6 言語)
  • samples/ - サンプル音声 (length_scale=1.5)

Credits

License

ライセンスは、つくよみちゃんコーパス│声優統計コーパス(JVSコーパス準拠) に準じます

Downloads last month
2,451
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ayousanz/piper-plus-tsukuyomi-chan

Quantized
(2)
this model

Paper for ayousanz/piper-plus-tsukuyomi-chan