nnsvs-wavehax-base / README.md
Canon's picture
Add model card metadata
5dc4b7a verified
|
Raw
History Blame Contribute Delete
5.77 kB
---
license: other
license_name: base-model-terms
license_link: https://huggingface.co/Canon/nnsvs-wavehax-base/blob/main/THIRD_PARTY_LICENSES.md
language:
- ja
tags:
- singing-voice-synthesis
- svs
- nnsvs
- enunu
- utau
- vocoder
- wavehax
---
# NNSVS/ENUNU 用 ベースモデル配布
少量データ(数十分)でも実用品質の歌声モデルを作れるようにするための、**fine-tune 前提のベースモデル**です。
音響モデルとボコーダーの2種類を配布します。
学習には5つの歌声データベース(波音リツ / 雨星サイファ / 花撫シア / 黒昴宿 / おふとんP、
女声3・男声2で音域をカバー)を使用しています。権利者から許諾を得ています。
---
## 収録物
### 1. `nnsvs_premium_acoustic_base_v1/` — NNSVS 音響ベース(102 MB)
ENUNU Training Kit (ETK 2.0.0) レシピで学習した、timelag / duration / acoustic の3モデル。
**新しい歌手のデータで fine-tune する際の初期値**として使います。
```
timelag/ model.pth (1.7MB) + model.yaml, config.yaml
duration/ model.pth (6.7MB) + model.yaml, config.yaml
acoustic/ model.pth (93.9MB) + model.yaml, config.yaml
scalers/ *.joblib (7個) ← ベース学習時の正規化パラメータ
```
- `model.pth``optimizer_state` / `lr_scheduler_state` を除去済み(`state_dict` のみ)
- acoustic は `nnsvs_world_multi_ar_f0_diff_mgcbap`(world特徴 + 拡散)
### 2. `wavehax_5db_base_65ch_v1/` — Wavehax ボコーダーベース(177 MB / 11 MB)
```
base_finetune_gen_disc.pkl (177 MB) fine-tune 用(generator + discriminator)
base_inference_gen.pkl (11 MB) 推論のみ用(generator)
scaler.joblib 特徴の正規化パラメータ
generator_wavehax_world65.yaml モデル定義
```
**仕様**
```
sample_rate 48000 / hop_length 240 / n_fft 960
in_channels 65 = mgc(60) + bap(5) ※有声/無声は F0 で表現(vuvチャンネル無し)
prior_type pcph_closed_form
_target_ wavehax.generators.WavehaxGenerator
```
この仕様は **taroushirani/nnsvs の `wavehax-support` ブランチの world 既定仕様に準拠**しており、
同ブランチ(および N-Editor の Wavehax 対応)で**コード改変なしにそのまま読めます**
---
## 使い方
### 音響モデルを fine-tune する
新しい歌手のデータを ETK で前処理し、上記 `model.pth` を初期値として学習を再開します。
ゼロから学習するより大幅に少ないデータ・時間で実用品質に到達します。
> **重要**: 本ベースは `state_dict` のみを収録しています(配布サイズ削減のため、
> `optimizer_state` / `lr_scheduler_state` を除去済み)。
> このため fine-tune 時は **`train.resume.load_optimizer: false`** を指定してください
> (`true` にすると `optimizer_state` が無いためエラーになります)。
> 新しい歌手向けに optimizer を作り直すのは fine-tune の標準的な設定でもあります。
>
> nnsvs の `_resume()` は `checkpoint["state_dict"]` を常に読み、
> `optimizer_state` / `lr_scheduler_state` は `load_optimizer` が真のときのみ読みます。
> 3モデルとも `strict=True` で完全一致ロードできることを確認済みです
> (timelag 0.41M / duration 1.67M / acoustic 23.42M パラメータ)。
### Wavehax を fine-tune する
`base_finetune_gen_disc.pkl` を初期値に、対象歌手のデータで学習します。
**未知の歌手でも 2,000 step 程度で実用品質**に到達することを確認しています
(ゼロから 10,000 step 学習したものを上回る)。
### Wavehax をボイスバンクに同梱する
学習済み Wavehax を NNSVS のパック済みボイスバンクに組み込むには、
`pack_wavehax_voicebank.py` を使ってください。以下の4点が追加され、
`vocoder_type="wavehax"`(または `"auto"`)でそのまま合成できるようになります。
```
vocoder_model.pth / vocoder_model.yaml / in_vocoder_scaler_{mean,var,scale}.npy
```
---
## 注意
- **Wavehax の出力は決定的ではありません。** harmonic prior が初期位相のランダム化と
微小ノイズを含むため、同じ入力でも毎回わずかに異なる波形になります。
品質評価や回帰テストは波形一致ではなく、mel-L1 等の統計量で行ってください。
- Wavehax の推論には `wavehax` パッケージ(+ `einops`)が必要です。
## ライセンス・クレジット
詳細は [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md) を参照してください。
### ベースモデルの利用条件
学習データを提供いただいた5名の権利者から許諾を得ており、以下が可能です。
- **公開配布:可**
- **商用利用:可**(fine-tune した成果物の商用利用を含む)
- **再配布:可**(ベース本体・派生モデルとも)
- **クレジット表記:任意**(義務ではありませんが、記載していただけると嬉しいです)
```
波音リツ (カノン) / 雨星サイファ (ちかの) / 花撫シア (いつり) /
黒昴宿 (ATSUYA) / おふとんP (おふとんP)
```
> 上記はこのベースモデル(重み)に対する条件です。
> **各歌声データベース自体を利用する場合は、それぞれの配布元の規約に従ってください。**
### ソフトウェア
Wavehax は MIT License (Copyright 2024 Reo Yoneyama, Nagoya University) です。