Piper Plus Base Model (Japanese) with WavLM Discriminator & Prosody Features
日本語TTS用の事前学習済みベースモデルです。WavLM Discriminatorによる高品質学習とprosody_features (A1/A2/A3) に対応しています。
Model Details
| 項目 | 値 |
|---|---|
| アーキテクチャ | VITS |
| 言語 | 日本語 (ja) |
| サンプルレート | 22050 Hz |
| 品質 | medium |
| 音素タイプ | OpenJTalk |
| 話者数 | 0 (単一話者ファインチューニング用) |
| prosody_dim | 16 |
| WavLM Discriminator | 対応 |
| 音素数 | 65 (Issue #204, #207 拡張トークン含む) |
Features
WavLM Discriminator
Microsoft WavLMベースの知覚品質判別器を使用して学習されたモデルです。
- MOS向上: +0.15-0.25
- 推論速度への影響: なし(学習時のみ使用)
Prosody Features (A1/A2/A3)
OpenJTalkから抽出されるプロソディ特徴量をサポート:
| フィールド | 意味 | 値の例 |
|---|---|---|
| A1 | アクセント核からの相対位置 | -4, -3, ..., 0, 1, ... |
| A2 | アクセント句内のモーラ位置 | 1, 2, 3, ... |
| A3 | アクセント句内の総モーラ数 | 1-10+ |
拡張音素
- 疑問詞マーカー (Issue #204):
?!,?.,?~ - 文脈依存「ん」バリアント (Issue #207):
N_m,N_n,N_ng,N_uvular
Usage
Step 1: Dataset Preprocessing
uv run python -m piper_train.preprocess \
--input-dir /path/to/your-ljspeech-data \
--output-dir /path/to/dataset \
--language ja \
--dataset-format ljspeech \
--sample-rate 22050 \
--single-speaker \
--phoneme-type openjtalk
Step 2: Add Prosody Features (Recommended)
uv run python add_prosody_features.py \
--input-dataset /path/to/dataset/dataset.jsonl \
--output-dir /path/to/dataset-prosody \
--workers 4
Step 3: Fine-tuning
uv run python -m piper_train \
--dataset-dir /path/to/dataset-prosody \
--accelerator gpu \
--devices 1 \
--precision 16-mixed \
--max_epochs 100 \
--batch-size 32 \
--checkpoint-epochs 1 \
--base_lr 1e-4 \
--disable_auto_lr_scaling \
--resume_from_checkpoint /path/to/model.ckpt \
--default_root_dir /path/to/output
Step 4: ONNX Export
WavLMモデルは --stochastic フラグを推奨:
CUDA_VISIBLE_DEVICES="" uv run python -m piper_train.export_onnx \
--stochastic \
/path/to/checkpoint.ckpt \
/path/to/output.onnx
Step 5: Inference
CUDA_VISIBLE_DEVICES="" uv run python -m piper_train.infer_onnx \
--model /path/to/output.onnx \
--config /path/to/config.json \
--output-dir /path/to/output \
--text "こんにちは、今日は良い天気ですね。" \
--speaker-id 0 --noise-scale 0.5
Recommended Parameters
| パラメータ | 値 | 説明 |
|---|---|---|
--base_lr |
1e-4 | 事前学習より低い学習率(過学習防止) |
--disable_auto_lr_scaling |
- | 学習率の自動スケーリングを無効化 |
--max_epochs |
50-100 | 少量データの場合は短め |
--batch-size |
32 | GPUメモリに応じて調整 |
--noise-scale |
0.5 | 推論時の推奨値(WavLMモデル) |
Origin
このベースモデルは20話者WavLMモデル(150エポック学習)から変換されました:
- 元データセット: moe-speech-20speakers-v2 (60,164発話)
- 学習設定: WavLM Discriminator有効, prosody_dim=16
- 話者埋め込み層を削除
- prosody_dim=16を保持
Files
model.ckpt- PyTorch Lightningチェックポイント(WavLM Discriminator重み含む)config.json- モデル設定(65音素マップ、prosody設定等)
Citation
@software{piper_plus,
title = {Piper Plus: Japanese TTS with VITS, WavLM Discriminator and Prosody Features},
author = {ayousanz},
year = {2024},
url = {https://github.com/ayutaz/piper-plus}
}
- Downloads last month
- 15
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support