Instructions to use ayousanz/piper-plus-tsukuyomi-chan with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Piper
How to use ayousanz/piper-plus-tsukuyomi-chan with Piper:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
Public-base fine-tune: zs-v1
The zs-v1 release is the existing 500 epoch Tsukuyomi-chan fine-tune from the same v7 epoch32 generation as the public base. Use its ONNX and config together. This fixed voice requires no reference WAV or speaker encoder. The release includes a fine-tuning checkpoint, exact hashes, synthetic samples, credits and observed training provenance.
It is an experimental baseline. Listening review status: recorded. Fresh three-text CAM++ mean SECS was 0.6617 (FT), 0.6538 (legacy) and 0.6956 (public-base Zero-Shot); these results do not establish improved voice quality. See the release card and verification record for the review scope and limits.
The original root model files, configuration, samples and description below remain available for existing consumers and package aliases. Downloading through an older package alias still selects those original files.
Original root release
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 スクラッチ学習) からファインチューニング。
転移学習方式
--resume-from-multispeaker-checkpointでベースモデルからロードemb_g(571 話者分の話者埋め込み) を自動除去emb_langに conditioning 分布補正を適用--freeze-dpを自動有効化 (Duration Predictor の catastrophic forgetting 防止)
- 500 epoch ファインチューニング (100発話、lr=2e-5)
- 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
- つくよみちゃんコーパス: 夢前黎
- Piper TTS: rhasspy/piper
- MB-iSTFT-VITS: Kawamura et al., 2023
- Piper Plus: ayutaz/piper-plus (PR #320 で MB-iSTFT 統一)
License
ライセンスは、つくよみちゃんコーパス│声優統計コーパス(JVSコーパス準拠) に準じます
- Downloads last month
- 3,811
Model tree for ayousanz/piper-plus-tsukuyomi-chan
Base model
ayousanz/piper-plus-base