Instructions to use Reza2kn/Gooya-RizehPizeh-v2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Piper
How to use Reza2kn/Gooya-RizehPizeh-v2 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
Replace v2 with unchunked AvaSanj-approved 50K model
Browse files- .gitattributes +1 -0
- README.md +45 -51
- browser/browser-wasm-smoke-report.json +0 -19
- browser/onnx-export-report.json +0 -314
- browser/onnx-runtime-smoke-report.json +22 -0
- checkpoint/{gooya-rizehpizeh-v2-step50000-val_mel0.3951.ckpt → gooya-rizehpizeh-v2-unchunked-avasanj-step50000-val_mel0.4138.ckpt} +2 -2
- gooya-rizehpizeh-v2.onnx +1 -1
- release-manifest.json +37 -62
- samples/canonical-intro.wav +3 -0
- samples/long-colloquial.wav +3 -0
- training/alignment-report.json +0 -48
- training/train_rizeh_full_100k.sh +0 -82
- training/train_unchunked_avasanj_agree_full50k.sh +81 -0
- training/unchunked-avasanj-agree-report.json +68 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
*.wav filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -19,75 +19,70 @@ pretty_name: Gooya RizehPizeh v2
|
|
| 19 |
|
| 20 |
# Gooya RizehPizeh v2
|
| 21 |
|
| 22 |
-
Persian
|
| 23 |
|
| 24 |
-
##
|
| 25 |
|
| 26 |
-
This
|
| 27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
- Generator parameters: approximately 23.7M
|
| 29 |
-
- Full trainable checkpoint: `checkpoint/gooya-rizehpizeh-v2-step50000-val_mel0.3951.ckpt`
|
| 30 |
-
- Checkpoint SHA-256: `0c2d22718894e20fb6361c7bf2d75ee54d61db3a167983ce5d843ff6ed438938`
|
| 31 |
-
- Browser/Piper model: `gooya-rizehpizeh-v2.onnx`
|
| 32 |
-
- Browser/Piper model SHA-256: `675c557524a325cc014e27acb7bb9f7eab584d3247216f934e8a378b709a2d3b`
|
| 33 |
- Sample rate: 22,050 Hz
|
| 34 |
- Speakers: 1
|
| 35 |
- Phoneme type: `text`
|
| 36 |
- Symbol inventory: 256 IDs
|
| 37 |
|
| 38 |
-
##
|
| 39 |
|
| 40 |
-
The
|
| 41 |
|
| 42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
|
| 44 |
-
-
|
| 45 |
-
- Minimum SNR: `110.0768 dB`
|
| 46 |
-
- Minimum correlation: `0.999999999995`
|
| 47 |
|
| 48 |
-
|
| 49 |
|
| 50 |
-
|
| 51 |
|
| 52 |
-
The
|
| 53 |
|
| 54 |
-
-
|
| 55 |
-
-
|
| 56 |
-
-
|
| 57 |
-
-
|
| 58 |
-
-
|
| 59 |
-
-
|
| 60 |
-
- Total materialized duration: 68.9853 hours
|
| 61 |
-
- Segment duration: mean `8.0203s`, min `0.6307s`, max `21.6656s`
|
| 62 |
|
| 63 |
-
|
| 64 |
|
| 65 |
-
##
|
| 66 |
|
| 67 |
-
-
|
| 68 |
-
- Generator learning rate: `1e-5`
|
| 69 |
-
- Discriminator learning rate: `5e-6`
|
| 70 |
-
- Batch size: 1
|
| 71 |
-
- Selected validation metric: `val_mel`
|
| 72 |
-
- Selected checkpoint: global step 50,000, `val_mel = 0.3951`
|
| 73 |
|
| 74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
|
| 76 |
-
|
| 77 |
|
| 78 |
-
|
| 79 |
|
| 80 |
-
|
| 81 |
-
- Inputs: `input` (`int64`, `[batch, phonemes]`), `input_lengths` (`int64`, `[batch]`), `scales` (`float32`, `[3]`)
|
| 82 |
-
- Output: `output` (`float32`, dynamic audio length)
|
| 83 |
-
- ONNX Runtime CPU probes: 19/19 finite, positive-length outputs
|
| 84 |
-
- Gouya.app `onnxruntime-web@1.27.0` WASM smoke test: passed using the application's real `rizehPhoneTextToIds` mapping
|
| 85 |
-
|
| 86 |
-
Machine-readable receipts are in `browser/`.
|
| 87 |
-
|
| 88 |
-
## Inference and long-form use
|
| 89 |
-
|
| 90 |
-
Input must already be case-sensitive Negara-compatible phonetic text. Example:
|
| 91 |
|
| 92 |
```bash
|
| 93 |
echo "zurxAneye vahdat yek makAne varzeSi dar Sahre borujerd ast." | \
|
|
@@ -96,15 +91,14 @@ echo "zurxAneye vahdat yek makAne varzeSi dar Sahre borujerd ast." | \
|
|
| 96 |
--output_file output.wav
|
| 97 |
```
|
| 98 |
|
| 99 |
-
For long-form narration,
|
| 100 |
|
| 101 |
## Limitations
|
| 102 |
|
| 103 |
-
- Lower validation mel loss did not guarantee universally better pronunciation. Human listening found some words, including proper nouns, better at the earlier 2K checkpoint or the original v1.5 model.
|
| 104 |
- G2P/Finglish quality remains the dominant source of pronunciation errors.
|
| 105 |
-
-
|
| 106 |
-
-
|
| 107 |
-
-
|
| 108 |
|
| 109 |
## License
|
| 110 |
|
|
|
|
| 19 |
|
| 20 |
# Gooya RizehPizeh v2
|
| 21 |
|
| 22 |
+
Persian single-speaker Piper/VITS2 voice trained on full, unchunked Wikipedia recordings whose audio/transcript agreement passed AvaSanj. It uses a case-sensitive Negara-style phonetic/Finglish frontend and produces 22,050 Hz mono audio.
|
| 23 |
|
| 24 |
+
## Current release
|
| 25 |
|
| 26 |
+
This revision replaces the earlier segmented-data v2 model with the user-selected unchunked/AvaSanj-approved 50K run.
|
| 27 |
|
| 28 |
+
- Full checkpoint: `checkpoint/gooya-rizehpizeh-v2-unchunked-avasanj-step50000-val_mel0.4138.ckpt`
|
| 29 |
+
- Checkpoint SHA-256: `8b52b3b6060b4698aba0c8bbd2f9b338aa6ba811d28a620e5f492c0fa1ae4d2b`
|
| 30 |
+
- Piper/browser model: `gooya-rizehpizeh-v2.onnx`
|
| 31 |
+
- ONNX SHA-256: `3f85f450fc21415e1eddaa0aa894c667e76d14aa9a342c4e77f1f9009b96f170`
|
| 32 |
+
- ONNX config SHA-256: `981770210ac1aea618cb8134597127911051deabf9900824df3388f209a884fa`
|
| 33 |
- Generator parameters: approximately 23.7M
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
- Sample rate: 22,050 Hz
|
| 35 |
- Speakers: 1
|
| 36 |
- Phoneme type: `text`
|
| 37 |
- Symbol inventory: 256 IDs
|
| 38 |
|
| 39 |
+
## Training data
|
| 40 |
|
| 41 |
+
The parent corpus comes from the approved Persian rows in [`Reza2kn/Wikipedia-FA-EN-DeepSeek-V4-Flash-0731`](https://huggingface.co/datasets/Reza2kn/Wikipedia-FA-EN-DeepSeek-V4-Flash-0731).
|
| 42 |
|
| 43 |
+
- Train: 1,290 full recordings, 21.1455 hours
|
| 44 |
+
- Parent-disjoint validation: 100 full recordings, 1.6445 hours
|
| 45 |
+
- Untouched sealed-eval agreement slice: 253 recordings, 4.1080 hours
|
| 46 |
+
- Recording duration: 38.68–95.96 seconds; mean 58.94 seconds
|
| 47 |
+
- Phoneme IDs per recording: 1,711–3,423; mean 2,174.65
|
| 48 |
+
- AvaSanj compact CER threshold: `<= 0.12`
|
| 49 |
+
- Train/validation/sealed-eval parent overlap: zero
|
| 50 |
+
- Audio transform: none
|
| 51 |
+
- Silence trimming: disabled
|
| 52 |
+
- Segmentation/chunking: none
|
| 53 |
|
| 54 |
+
The 253-row sealed-eval agreement slice was not consumed by training or checkpoint selection. The complete selection and hash receipt is in `training/unchunked-avasanj-agree-report.json`.
|
|
|
|
|
|
|
| 55 |
|
| 56 |
+
## Lineage and training
|
| 57 |
|
| 58 |
+
The original v1.5 production ONNX had no matching resumable checkpoint. Its 350 inference-time generator tensors were reconstructed into a compatible trainable Piper checkpoint; training-only branches absent from the ONNX came from the compatible Mana template. Recovery receipts remain under `training/`.
|
| 59 |
|
| 60 |
+
The promoted run resumed from that recovered v1.5 state and used:
|
| 61 |
|
| 62 |
+
- BF16 mixed precision
|
| 63 |
+
- Batch size 1
|
| 64 |
+
- Generator learning rate `5e-6`
|
| 65 |
+
- Discriminator learning rate `2.5e-6`
|
| 66 |
+
- Configured limit: 50,000 optimizer steps
|
| 67 |
+
- Final/best validation mel: `0.4138`
|
|
|
|
|
|
|
| 68 |
|
| 69 |
+
The exact continuation script is `training/train_unchunked_avasanj_agree_full50k.sh`.
|
| 70 |
|
| 71 |
+
## Validation
|
| 72 |
|
| 73 |
+
The published ONNX is self-contained and has no external tensor file. Direct ONNX Runtime CPU inference passed on both the canonical and long colloquial probes with finite, positive-length output. The same WAVs used for human listening are included under `samples/`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
|
| 75 |
+
- Inputs: `input`, `input_lengths`, `scales`
|
| 76 |
+
- Output: `output`
|
| 77 |
+
- File size: 63,516,051 bytes
|
| 78 |
+
- Canonical sample: 4.7137 seconds
|
| 79 |
+
- Long colloquial sample: 12.6084 seconds
|
| 80 |
|
| 81 |
+
Machine-readable receipts are under `browser/` and `training/`.
|
| 82 |
|
| 83 |
+
## Inference
|
| 84 |
|
| 85 |
+
Input must already be case-sensitive Negara-compatible phonetic text:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 86 |
|
| 87 |
```bash
|
| 88 |
echo "zurxAneye vahdat yek makAne varzeSi dar Sahre borujerd ast." | \
|
|
|
|
| 91 |
--output_file output.wav
|
| 92 |
```
|
| 93 |
|
| 94 |
+
For long-form narration, split at semantic sentence or clause boundaries into substantial spans and join them with boundary-aware pauses. Tiny fixed chunks tend to sound breathy and robotic.
|
| 95 |
|
| 96 |
## Limitations
|
| 97 |
|
|
|
|
| 98 |
- G2P/Finglish quality remains the dominant source of pronunciation errors.
|
| 99 |
+
- The approved training labels are flat Negara phoneme sequences; existing internal punctuation was not available in those labels.
|
| 100 |
+
- Very long single-pass phoneme sequences can still collapse or omit content; use substantial semantic spans.
|
| 101 |
+
- Proper nouns may require corrected phonetic input.
|
| 102 |
|
| 103 |
## License
|
| 104 |
|
browser/browser-wasm-smoke-report.json
DELETED
|
@@ -1,19 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"duration_seconds": 2.9373242630385485,
|
| 3 |
-
"finite": true,
|
| 4 |
-
"input_ids": 131,
|
| 5 |
-
"model_sha256": "675c557524a325cc014e27acb7bb9f7eab584d3247216f934e8a378b709a2d3b",
|
| 6 |
-
"output_dims": [
|
| 7 |
-
1,
|
| 8 |
-
1,
|
| 9 |
-
1,
|
| 10 |
-
64768
|
| 11 |
-
],
|
| 12 |
-
"output_samples": 64768,
|
| 13 |
-
"peak": 0.7937009930610657,
|
| 14 |
-
"provider": "wasm",
|
| 15 |
-
"runtime": "onnxruntime-web@1.27.0",
|
| 16 |
-
"schema_version": "gooya.rizehpizeh-v2-browser-smoke/v1",
|
| 17 |
-
"status": "accepted",
|
| 18 |
-
"test_phone_text": "zurxAneye vahdat yek makAne varzeSi dar Sahre borujerd ast."
|
| 19 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
browser/onnx-export-report.json
DELETED
|
@@ -1,314 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"bytes": 63516051,
|
| 3 |
-
"config_sha256": "981770210ac1aea618cb8134597127911051deabf9900824df3388f209a884fa",
|
| 4 |
-
"deterministic_scales": [
|
| 5 |
-
0.0,
|
| 6 |
-
1.0,
|
| 7 |
-
0.0
|
| 8 |
-
],
|
| 9 |
-
"external_data": false,
|
| 10 |
-
"inputs": [
|
| 11 |
-
{
|
| 12 |
-
"name": "input",
|
| 13 |
-
"shape": [
|
| 14 |
-
"batch_size",
|
| 15 |
-
"phonemes"
|
| 16 |
-
],
|
| 17 |
-
"type": "tensor(int64)"
|
| 18 |
-
},
|
| 19 |
-
{
|
| 20 |
-
"name": "input_lengths",
|
| 21 |
-
"shape": [
|
| 22 |
-
"batch_size"
|
| 23 |
-
],
|
| 24 |
-
"type": "tensor(int64)"
|
| 25 |
-
},
|
| 26 |
-
{
|
| 27 |
-
"name": "scales",
|
| 28 |
-
"shape": [
|
| 29 |
-
3
|
| 30 |
-
],
|
| 31 |
-
"type": "tensor(float)"
|
| 32 |
-
}
|
| 33 |
-
],
|
| 34 |
-
"ir_version": 8,
|
| 35 |
-
"onnx_sha256": "675c557524a325cc014e27acb7bb9f7eab584d3247216f934e8a378b709a2d3b",
|
| 36 |
-
"opsets": [
|
| 37 |
-
{
|
| 38 |
-
"domain": "",
|
| 39 |
-
"version": 15
|
| 40 |
-
}
|
| 41 |
-
],
|
| 42 |
-
"outputs": [
|
| 43 |
-
{
|
| 44 |
-
"name": "output",
|
| 45 |
-
"shape": [
|
| 46 |
-
"batch_size",
|
| 47 |
-
1,
|
| 48 |
-
1,
|
| 49 |
-
"Unsqueezeoutput_dim_3"
|
| 50 |
-
],
|
| 51 |
-
"type": "tensor(float)"
|
| 52 |
-
}
|
| 53 |
-
],
|
| 54 |
-
"providers": [
|
| 55 |
-
"CPUExecutionProvider"
|
| 56 |
-
],
|
| 57 |
-
"rows": [
|
| 58 |
-
{
|
| 59 |
-
"finite": true,
|
| 60 |
-
"output_shape": [
|
| 61 |
-
1,
|
| 62 |
-
1,
|
| 63 |
-
1,
|
| 64 |
-
137728
|
| 65 |
-
],
|
| 66 |
-
"peak": 0.8556598424911499,
|
| 67 |
-
"phone_ids": 321,
|
| 68 |
-
"samples": 137728,
|
| 69 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0014-11c7af4978b2--000.flac"
|
| 70 |
-
},
|
| 71 |
-
{
|
| 72 |
-
"finite": true,
|
| 73 |
-
"output_shape": [
|
| 74 |
-
1,
|
| 75 |
-
1,
|
| 76 |
-
1,
|
| 77 |
-
133888
|
| 78 |
-
],
|
| 79 |
-
"peak": 0.7498155236244202,
|
| 80 |
-
"phone_ids": 319,
|
| 81 |
-
"samples": 133888,
|
| 82 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0014-11c7af4978b2--001.flac"
|
| 83 |
-
},
|
| 84 |
-
{
|
| 85 |
-
"finite": true,
|
| 86 |
-
"output_shape": [
|
| 87 |
-
1,
|
| 88 |
-
1,
|
| 89 |
-
1,
|
| 90 |
-
136448
|
| 91 |
-
],
|
| 92 |
-
"peak": 0.8162416219711304,
|
| 93 |
-
"phone_ids": 287,
|
| 94 |
-
"samples": 136448,
|
| 95 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0014-11c7af4978b2--002.flac"
|
| 96 |
-
},
|
| 97 |
-
{
|
| 98 |
-
"finite": true,
|
| 99 |
-
"output_shape": [
|
| 100 |
-
1,
|
| 101 |
-
1,
|
| 102 |
-
1,
|
| 103 |
-
129280
|
| 104 |
-
],
|
| 105 |
-
"peak": 0.7922796010971069,
|
| 106 |
-
"phone_ids": 325,
|
| 107 |
-
"samples": 129280,
|
| 108 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0014-11c7af4978b2--003.flac"
|
| 109 |
-
},
|
| 110 |
-
{
|
| 111 |
-
"finite": true,
|
| 112 |
-
"output_shape": [
|
| 113 |
-
1,
|
| 114 |
-
1,
|
| 115 |
-
1,
|
| 116 |
-
141312
|
| 117 |
-
],
|
| 118 |
-
"peak": 0.8399786353111267,
|
| 119 |
-
"phone_ids": 217,
|
| 120 |
-
"samples": 141312,
|
| 121 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0014-11c7af4978b2--004.flac"
|
| 122 |
-
},
|
| 123 |
-
{
|
| 124 |
-
"finite": true,
|
| 125 |
-
"output_shape": [
|
| 126 |
-
1,
|
| 127 |
-
1,
|
| 128 |
-
1,
|
| 129 |
-
147456
|
| 130 |
-
],
|
| 131 |
-
"peak": 0.839239776134491,
|
| 132 |
-
"phone_ids": 253,
|
| 133 |
-
"samples": 147456,
|
| 134 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0014-11c7af4978b2--005.flac"
|
| 135 |
-
},
|
| 136 |
-
{
|
| 137 |
-
"finite": true,
|
| 138 |
-
"output_shape": [
|
| 139 |
-
1,
|
| 140 |
-
1,
|
| 141 |
-
1,
|
| 142 |
-
62464
|
| 143 |
-
],
|
| 144 |
-
"peak": 0.8430166244506836,
|
| 145 |
-
"phone_ids": 113,
|
| 146 |
-
"samples": 62464,
|
| 147 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0014-11c7af4978b2--006.flac"
|
| 148 |
-
},
|
| 149 |
-
{
|
| 150 |
-
"finite": true,
|
| 151 |
-
"output_shape": [
|
| 152 |
-
1,
|
| 153 |
-
1,
|
| 154 |
-
1,
|
| 155 |
-
150016
|
| 156 |
-
],
|
| 157 |
-
"peak": 0.8254867792129517,
|
| 158 |
-
"phone_ids": 407,
|
| 159 |
-
"samples": 150016,
|
| 160 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0020-badd7f9a1cf9--000.flac"
|
| 161 |
-
},
|
| 162 |
-
{
|
| 163 |
-
"finite": true,
|
| 164 |
-
"output_shape": [
|
| 165 |
-
1,
|
| 166 |
-
1,
|
| 167 |
-
1,
|
| 168 |
-
84480
|
| 169 |
-
],
|
| 170 |
-
"peak": 0.8269263505935669,
|
| 171 |
-
"phone_ids": 197,
|
| 172 |
-
"samples": 84480,
|
| 173 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0020-badd7f9a1cf9--001.flac"
|
| 174 |
-
},
|
| 175 |
-
{
|
| 176 |
-
"finite": true,
|
| 177 |
-
"output_shape": [
|
| 178 |
-
1,
|
| 179 |
-
1,
|
| 180 |
-
1,
|
| 181 |
-
135680
|
| 182 |
-
],
|
| 183 |
-
"peak": 0.7935409545898438,
|
| 184 |
-
"phone_ids": 301,
|
| 185 |
-
"samples": 135680,
|
| 186 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0020-badd7f9a1cf9--002.flac"
|
| 187 |
-
},
|
| 188 |
-
{
|
| 189 |
-
"finite": true,
|
| 190 |
-
"output_shape": [
|
| 191 |
-
1,
|
| 192 |
-
1,
|
| 193 |
-
1,
|
| 194 |
-
122880
|
| 195 |
-
],
|
| 196 |
-
"peak": 0.8605506420135498,
|
| 197 |
-
"phone_ids": 235,
|
| 198 |
-
"samples": 122880,
|
| 199 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0020-badd7f9a1cf9--003.flac"
|
| 200 |
-
},
|
| 201 |
-
{
|
| 202 |
-
"finite": true,
|
| 203 |
-
"output_shape": [
|
| 204 |
-
1,
|
| 205 |
-
1,
|
| 206 |
-
1,
|
| 207 |
-
122624
|
| 208 |
-
],
|
| 209 |
-
"peak": 0.7984231114387512,
|
| 210 |
-
"phone_ids": 289,
|
| 211 |
-
"samples": 122624,
|
| 212 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0020-badd7f9a1cf9--004.flac"
|
| 213 |
-
},
|
| 214 |
-
{
|
| 215 |
-
"finite": true,
|
| 216 |
-
"output_shape": [
|
| 217 |
-
1,
|
| 218 |
-
1,
|
| 219 |
-
1,
|
| 220 |
-
142336
|
| 221 |
-
],
|
| 222 |
-
"peak": 0.8614963293075562,
|
| 223 |
-
"phone_ids": 321,
|
| 224 |
-
"samples": 142336,
|
| 225 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0020-badd7f9a1cf9--005.flac"
|
| 226 |
-
},
|
| 227 |
-
{
|
| 228 |
-
"finite": true,
|
| 229 |
-
"output_shape": [
|
| 230 |
-
1,
|
| 231 |
-
1,
|
| 232 |
-
1,
|
| 233 |
-
48384
|
| 234 |
-
],
|
| 235 |
-
"peak": 0.8291678428649902,
|
| 236 |
-
"phone_ids": 99,
|
| 237 |
-
"samples": 48384,
|
| 238 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0020-badd7f9a1cf9--006.flac"
|
| 239 |
-
},
|
| 240 |
-
{
|
| 241 |
-
"finite": true,
|
| 242 |
-
"output_shape": [
|
| 243 |
-
1,
|
| 244 |
-
1,
|
| 245 |
-
1,
|
| 246 |
-
118784
|
| 247 |
-
],
|
| 248 |
-
"peak": 0.7483747005462646,
|
| 249 |
-
"phone_ids": 305,
|
| 250 |
-
"samples": 118784,
|
| 251 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0021-d0f01be99058--000.flac"
|
| 252 |
-
},
|
| 253 |
-
{
|
| 254 |
-
"finite": true,
|
| 255 |
-
"output_shape": [
|
| 256 |
-
1,
|
| 257 |
-
1,
|
| 258 |
-
1,
|
| 259 |
-
141056
|
| 260 |
-
],
|
| 261 |
-
"peak": 0.8492122888565063,
|
| 262 |
-
"phone_ids": 323,
|
| 263 |
-
"samples": 141056,
|
| 264 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0021-d0f01be99058--001.flac"
|
| 265 |
-
},
|
| 266 |
-
{
|
| 267 |
-
"finite": true,
|
| 268 |
-
"output_shape": [
|
| 269 |
-
1,
|
| 270 |
-
1,
|
| 271 |
-
1,
|
| 272 |
-
151552
|
| 273 |
-
],
|
| 274 |
-
"peak": 0.7924327254295349,
|
| 275 |
-
"phone_ids": 277,
|
| 276 |
-
"samples": 151552,
|
| 277 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0021-d0f01be99058--002.flac"
|
| 278 |
-
},
|
| 279 |
-
{
|
| 280 |
-
"finite": true,
|
| 281 |
-
"output_shape": [
|
| 282 |
-
1,
|
| 283 |
-
1,
|
| 284 |
-
1,
|
| 285 |
-
133120
|
| 286 |
-
],
|
| 287 |
-
"peak": 0.8153193593025208,
|
| 288 |
-
"phone_ids": 291,
|
| 289 |
-
"samples": 133120,
|
| 290 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0021-d0f01be99058--003.flac"
|
| 291 |
-
},
|
| 292 |
-
{
|
| 293 |
-
"finite": true,
|
| 294 |
-
"output_shape": [
|
| 295 |
-
1,
|
| 296 |
-
1,
|
| 297 |
-
1,
|
| 298 |
-
118528
|
| 299 |
-
],
|
| 300 |
-
"peak": 0.7740210890769958,
|
| 301 |
-
"phone_ids": 267,
|
| 302 |
-
"samples": 118528,
|
| 303 |
-
"utterance": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/audio/eval/wiki-fa-0021-d0f01be99058--004.flac"
|
| 304 |
-
}
|
| 305 |
-
],
|
| 306 |
-
"schema_version": "gooya.rizehpizeh-v2-onnx-export/v1",
|
| 307 |
-
"source_checkpoint_sha256": "0c2d22718894e20fb6361c7bf2d75ee54d61db3a167983ce5d843ff6ed438938",
|
| 308 |
-
"status": "accepted",
|
| 309 |
-
"summary": {
|
| 310 |
-
"finite_rows": 19,
|
| 311 |
-
"positive_length_rows": 19,
|
| 312 |
-
"rows": 19
|
| 313 |
-
}
|
| 314 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
browser/onnx-runtime-smoke-report.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": "gooya.rizehpizeh-v2-unchunked-onnx-smoke/v1",
|
| 3 |
+
"model_sha256": "3f85f450fc21415e1eddaa0aa894c667e76d14aa9a342c4e77f1f9009b96f170",
|
| 4 |
+
"config_sha256": "981770210ac1aea618cb8134597127911051deabf9900824df3388f209a884fa",
|
| 5 |
+
"bytes": 63516051,
|
| 6 |
+
"onnxruntime_version": "1.23.2",
|
| 7 |
+
"providers": ["CPUExecutionProvider"],
|
| 8 |
+
"inputs": [
|
| 9 |
+
{"name": "input", "type": "tensor(int64)", "shape": ["batch_size", "phonemes"]},
|
| 10 |
+
{"name": "input_lengths", "type": "tensor(int64)", "shape": ["batch_size"]},
|
| 11 |
+
{"name": "scales", "type": "tensor(float)", "shape": [3]}
|
| 12 |
+
],
|
| 13 |
+
"outputs": [
|
| 14 |
+
{"name": "output", "type": "tensor(float)", "shape": ["batch_size", 1, 1, "Unsqueezeoutput_dim_3"]}
|
| 15 |
+
],
|
| 16 |
+
"scales": [0.667, 1, 0.8],
|
| 17 |
+
"rows": [
|
| 18 |
+
{"name": "canonical", "phone_ids": 181, "output_shape": [1, 1, 1, 99328], "samples": 99328, "finite": true, "peak": 0.8139110207557678},
|
| 19 |
+
{"name": "long_colloquial", "phone_ids": 571, "output_shape": [1, 1, 1, 283136], "samples": 283136, "finite": true, "peak": 0.8082336783409119}
|
| 20 |
+
],
|
| 21 |
+
"passed": true
|
| 22 |
+
}
|
checkpoint/{gooya-rizehpizeh-v2-step50000-val_mel0.3951.ckpt → gooya-rizehpizeh-v2-unchunked-avasanj-step50000-val_mel0.4138.ckpt}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8b52b3b6060b4698aba0c8bbd2f9b338aa6ba811d28a620e5f492c0fa1ae4d2b
|
| 3 |
+
size 845890386
|
gooya-rizehpizeh-v2.onnx
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 63516051
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3f85f450fc21415e1eddaa0aa894c667e76d14aa9a342c4e77f1f9009b96f170
|
| 3 |
size 63516051
|
release-manifest.json
CHANGED
|
@@ -1,73 +1,48 @@
|
|
| 1 |
{
|
| 2 |
-
"
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
"
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
},
|
| 13 |
-
{
|
| 14 |
-
"bytes": 4933,
|
| 15 |
-
"path": "README.md",
|
| 16 |
-
"sha256": "8699cb2c567fb8c0c4a52ea9e0edb691bbd79c7f44d81b1b52f75bdaf10e3439"
|
| 17 |
-
},
|
| 18 |
-
{
|
| 19 |
-
"bytes": 510,
|
| 20 |
-
"path": "browser/browser-wasm-smoke-report.json",
|
| 21 |
-
"sha256": "ce1202b0675cf3c72944334bb1fbd61997af34e7ddc2d15166fd35b617cd54a0"
|
| 22 |
-
},
|
| 23 |
-
{
|
| 24 |
-
"bytes": 7588,
|
| 25 |
-
"path": "browser/onnx-export-report.json",
|
| 26 |
-
"sha256": "e1812cdfd6dd31768245b90f13e47b6785346e9f1b09083cb6bfd57b7d093d0f"
|
| 27 |
-
},
|
| 28 |
-
{
|
| 29 |
-
"bytes": 845890322,
|
| 30 |
-
"path": "checkpoint/gooya-rizehpizeh-v2-step50000-val_mel0.3951.ckpt",
|
| 31 |
-
"sha256": "0c2d22718894e20fb6361c7bf2d75ee54d61db3a167983ce5d843ff6ed438938"
|
| 32 |
-
},
|
| 33 |
-
{
|
| 34 |
-
"bytes": 3642,
|
| 35 |
-
"path": "config/negara-phoneme-id-map.json",
|
| 36 |
-
"sha256": "6e67148a46b9bf5a3529c97cc1fa60a10f477d0bd80e61a1fb1a24ad59eefe83"
|
| 37 |
-
},
|
| 38 |
-
{
|
| 39 |
"bytes": 63516051,
|
| 40 |
-
"
|
| 41 |
-
"sha256": "675c557524a325cc014e27acb7bb9f7eab584d3247216f934e8a378b709a2d3b"
|
| 42 |
},
|
| 43 |
-
{
|
| 44 |
"bytes": 5000,
|
| 45 |
-
"path": "gooya-rizehpizeh-v2.onnx.json",
|
| 46 |
"sha256": "981770210ac1aea618cb8134597127911051deabf9900824df3388f209a884fa"
|
| 47 |
},
|
| 48 |
-
{
|
| 49 |
-
"bytes":
|
| 50 |
-
"
|
| 51 |
-
"sha256": "b8dff1be540f03404b05d552eac009f5ca1781c5190898622851331ac44de325"
|
| 52 |
},
|
| 53 |
-
{
|
| 54 |
-
"bytes":
|
| 55 |
-
"
|
| 56 |
-
|
|
|
|
|
|
|
| 57 |
},
|
| 58 |
-
{
|
| 59 |
-
"
|
| 60 |
-
"path": "training/checkpoint-recovery-report.json",
|
| 61 |
-
"sha256": "ec0bb47bbf07c5bfeff92ab68ec57e1099d94cd5172d087f8f6694e5ce20e178"
|
| 62 |
},
|
| 63 |
-
{
|
| 64 |
-
"
|
| 65 |
-
"path": "training/train_rizeh_full_100k.sh",
|
| 66 |
-
"sha256": "3b7a08aee6af72a787000a62b209fdf70c8726a65a8a5e66176c4106158f392c"
|
| 67 |
}
|
| 68 |
-
|
| 69 |
-
"
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"schema_version": "gooya.rizehpizeh-v2-release/v2",
|
| 3 |
+
"release": "unchunked-avasanj-agree-50k",
|
| 4 |
+
"model_repo": "Reza2kn/Gooya-RizehPizeh-v2",
|
| 5 |
+
"sample_rate": 22050,
|
| 6 |
+
"files": {
|
| 7 |
+
"checkpoint/gooya-rizehpizeh-v2-unchunked-avasanj-step50000-val_mel0.4138.ckpt": {
|
| 8 |
+
"bytes": 845890386,
|
| 9 |
+
"sha256": "8b52b3b6060b4698aba0c8bbd2f9b338aa6ba811d28a620e5f492c0fa1ae4d2b"
|
| 10 |
+
},
|
| 11 |
+
"gooya-rizehpizeh-v2.onnx": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
"bytes": 63516051,
|
| 13 |
+
"sha256": "3f85f450fc21415e1eddaa0aa894c667e76d14aa9a342c4e77f1f9009b96f170"
|
|
|
|
| 14 |
},
|
| 15 |
+
"gooya-rizehpizeh-v2.onnx.json": {
|
| 16 |
"bytes": 5000,
|
|
|
|
| 17 |
"sha256": "981770210ac1aea618cb8134597127911051deabf9900824df3388f209a884fa"
|
| 18 |
},
|
| 19 |
+
"samples/canonical-intro.wav": {
|
| 20 |
+
"bytes": 207916,
|
| 21 |
+
"sha256": "d9978de38d5d9db03aa2dcedbaa357bd88c4fd2ec8ede8b3ac8c088e50682713"
|
|
|
|
| 22 |
},
|
| 23 |
+
"samples/long-colloquial.wav": {
|
| 24 |
+
"bytes": 556076,
|
| 25 |
+
"sha256": "cc0c864c5b4d414f7b35d9506dacc120d2fafc15fd9c29f9be55c60e5525aa6d"
|
| 26 |
+
},
|
| 27 |
+
"config/negara-phoneme-id-map.json": {
|
| 28 |
+
"sha256": "6e67148a46b9bf5a3529c97cc1fa60a10f477d0bd80e61a1fb1a24ad59eefe83"
|
| 29 |
},
|
| 30 |
+
"training/unchunked-avasanj-agree-report.json": {
|
| 31 |
+
"sha256": "e03203d01d94421a08e65c64806f40d084085714d8e260982f0e8e7a888c3ee6"
|
|
|
|
|
|
|
| 32 |
},
|
| 33 |
+
"training/train_unchunked_avasanj_agree_full50k.sh": {
|
| 34 |
+
"sha256": "d4c08c3cec513bd6cb829b91ed111bc8656283d47a482bd8fe850c590f7c571a"
|
|
|
|
|
|
|
| 35 |
}
|
| 36 |
+
},
|
| 37 |
+
"training": {
|
| 38 |
+
"train_parents": 1290,
|
| 39 |
+
"validation_parents": 100,
|
| 40 |
+
"sealed_eval_agree_parents": 253,
|
| 41 |
+
"parent_overlap": 0,
|
| 42 |
+
"audio_chunking": false,
|
| 43 |
+
"trim_silence": false,
|
| 44 |
+
"avasanj_compact_cer_max_inclusive": 0.12,
|
| 45 |
+
"max_optimizer_steps": 50000,
|
| 46 |
+
"best_val_mel": 0.4137682318687439
|
| 47 |
+
}
|
| 48 |
}
|
samples/canonical-intro.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d9978de38d5d9db03aa2dcedbaa357bd88c4fd2ec8ede8b3ac8c088e50682713
|
| 3 |
+
size 207916
|
samples/long-colloquial.wav
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cc0c864c5b4d414f7b35d9506dacc120d2fafc15fd9c29f9be55c60e5525aa6d
|
| 3 |
+
size 556076
|
training/alignment-report.json
DELETED
|
@@ -1,48 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"models": {
|
| 3 |
-
"avasanj_model_sha256": "c7ea4f6c1e510e4c23bbc1856c290787f20a730d14c4d95de45c03259d5dd07c",
|
| 4 |
-
"mana_config_sha256": "df13724ca155a8699d8c42d47d5748dee98ec8057cafdaed8b1455fc85798753",
|
| 5 |
-
"mana_phoneme_map_sha256": "ba38263aec458bca093a0e60629a442dfb365bd7ef79e70be58c311ba886f868",
|
| 6 |
-
"negara_model_sha256": "2d89883abe07082cfb291203c1e5609f8974e71ca04d6c3e73bf2d32f8b715cf",
|
| 7 |
-
"negara_overlay_sha256": "9e063c2f26db4f56f6a93fef33f1f2a25423318ff7073b9954fddf4c4085412f",
|
| 8 |
-
"negara_runtime_map_sha256": "6e67148a46b9bf5a3529c97cc1fa60a10f477d0bd80e61a1fb1a24ad59eefe83"
|
| 9 |
-
},
|
| 10 |
-
"outputs": {
|
| 11 |
-
"eval_metadata_sha256": "587ff471a78e61f471d524435f9bbe9c750378861185bf27b88656d27d41652d",
|
| 12 |
-
"segments_sha256": "f7fd2abb87bd73b4e80dc8a5cd23acb9a8fafd480d56ab9d500bacbbb7b5d4ed",
|
| 13 |
-
"train_metadata_sha256": "3077e23e86a97454b36c1d5c7d2b34108b332752b3f600811418714af8928320"
|
| 14 |
-
},
|
| 15 |
-
"parent_manifest": "/home/rezo/gooya-bozorg-v15-gemini-approved-20260829/training_manifest.jsonl",
|
| 16 |
-
"parent_manifest_sha256": "d285458025385945d10e733bdea74080f544c4aa3c621454686d6ffe7678f345",
|
| 17 |
-
"parent_rows_requested": 4186,
|
| 18 |
-
"parent_split_counts": {
|
| 19 |
-
"eval": 669,
|
| 20 |
-
"train": 3517
|
| 21 |
-
},
|
| 22 |
-
"parent_status_counts": {
|
| 23 |
-
"complete": 4116,
|
| 24 |
-
"rejected": 70
|
| 25 |
-
},
|
| 26 |
-
"schema_version": "gooya.piper-wikipedia-aligned/v1",
|
| 27 |
-
"segment_duration_seconds": {
|
| 28 |
-
"max": 21.665583333333334,
|
| 29 |
-
"mean": 8.020255083696643,
|
| 30 |
-
"min": 0.6307083333333333
|
| 31 |
-
},
|
| 32 |
-
"segment_hours": 68.98533296296293,
|
| 33 |
-
"segment_rows": 30965,
|
| 34 |
-
"segment_split_counts": {
|
| 35 |
-
"eval": 4912,
|
| 36 |
-
"train": 26053
|
| 37 |
-
},
|
| 38 |
-
"segmentation": {
|
| 39 |
-
"audio_timing_source": "AvaSanj v1 CTC forced alignment",
|
| 40 |
-
"edge_padding_seconds": 0.08,
|
| 41 |
-
"maximum_seconds": 12.0,
|
| 42 |
-
"minimum_seconds": 2.0,
|
| 43 |
-
"parent_split_preserved": true,
|
| 44 |
-
"target_seconds": 8.0,
|
| 45 |
-
"training_label_source": "Negara v7.1"
|
| 46 |
-
},
|
| 47 |
-
"status": "complete"
|
| 48 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
training/train_rizeh_full_100k.sh
DELETED
|
@@ -1,82 +0,0 @@
|
|
| 1 |
-
#!/usr/bin/env bash
|
| 2 |
-
set -euo pipefail
|
| 3 |
-
|
| 4 |
-
root=/home/rezo/piper-wikipedia-approved-20260830
|
| 5 |
-
data="${root}/data/aligned-full-v1"
|
| 6 |
-
signal_run="${root}/runs/rizeh-recovered-approved-signal-2000"
|
| 7 |
-
run="${root}/runs/rizeh-recovered-approved-full-100k"
|
| 8 |
-
resume_checkpoint="${signal_run}/lightning_logs/version_1/checkpoints/last.ckpt"
|
| 9 |
-
|
| 10 |
-
[[ -s "${resume_checkpoint}" ]]
|
| 11 |
-
[[ "$(jq -r .status "${data}/report.json")" == complete ]]
|
| 12 |
-
mkdir -p "${run}"
|
| 13 |
-
|
| 14 |
-
cd "${root}/src/piper1-gpl"
|
| 15 |
-
"${root}/venv/bin/python" -m piper.train fit \
|
| 16 |
-
--trainer.accelerator gpu \
|
| 17 |
-
--trainer.devices 1 \
|
| 18 |
-
--trainer.precision bf16-mixed \
|
| 19 |
-
--trainer.max_steps 100000 \
|
| 20 |
-
--trainer.num_sanity_val_steps 0 \
|
| 21 |
-
--trainer.val_check_interval 500 \
|
| 22 |
-
--trainer.limit_val_batches 25 \
|
| 23 |
-
--trainer.log_every_n_steps 10 \
|
| 24 |
-
--trainer.enable_progress_bar false \
|
| 25 |
-
--trainer.default_root_dir "${run}" \
|
| 26 |
-
--model.sample_rate 22050 \
|
| 27 |
-
--model.num_speakers 1 \
|
| 28 |
-
--model.warmstart_ckpt null \
|
| 29 |
-
--model.learning_rate 0.00001 \
|
| 30 |
-
--model.learning_rate_d 0.000005 \
|
| 31 |
-
--model.mos_metric null \
|
| 32 |
-
--data.voice_name gooya-rizehpizeh-wikipedia-kore-full-100k \
|
| 33 |
-
--data.csv_path "${data}/metadata-train.csv" \
|
| 34 |
-
--data.audio_dir / \
|
| 35 |
-
--data.cache_dir "${root}/cache/aligned-full-v1" \
|
| 36 |
-
--data.config_path "${signal_run}/model.onnx.json" \
|
| 37 |
-
--data.batch_size 1 \
|
| 38 |
-
--data.validation_split 0.01 \
|
| 39 |
-
--data.num_test_examples 0 \
|
| 40 |
-
--data.num_workers 2 \
|
| 41 |
-
--data.trim_silence false \
|
| 42 |
-
--data.phoneme_type text \
|
| 43 |
-
--data.dataset_type phoneme_ids \
|
| 44 |
-
--data.phonemes_path "${data}/negara-phoneme-id-map.json" \
|
| 45 |
-
--data.espeak_voice fa \
|
| 46 |
-
--data.num_symbols 256 \
|
| 47 |
-
--ckpt_path "${resume_checkpoint}"
|
| 48 |
-
|
| 49 |
-
last_checkpoint=$(find "${run}" -name last.ckpt -type f -printf '%T@ %p\n' | sort -nr | head -1 | cut -d' ' -f2-)
|
| 50 |
-
best_checkpoint=$("${root}/venv/bin/python" - "${run}" <<'PY'
|
| 51 |
-
import re
|
| 52 |
-
import sys
|
| 53 |
-
from pathlib import Path
|
| 54 |
-
|
| 55 |
-
run = Path(sys.argv[1])
|
| 56 |
-
candidates = []
|
| 57 |
-
for path in run.glob("lightning_logs/version_*/checkpoints/*val_mel=*.ckpt"):
|
| 58 |
-
match = re.search(r"val_mel=([0-9.]+)\.ckpt$", path.name)
|
| 59 |
-
if match:
|
| 60 |
-
candidates.append((float(match.group(1)), str(path)))
|
| 61 |
-
if not candidates:
|
| 62 |
-
raise SystemExit("No validation checkpoint found")
|
| 63 |
-
print(min(candidates)[1])
|
| 64 |
-
PY
|
| 65 |
-
)
|
| 66 |
-
[[ -s "${last_checkpoint}" ]]
|
| 67 |
-
[[ -s "${best_checkpoint}" ]]
|
| 68 |
-
|
| 69 |
-
"${root}/venv/bin/python" -m piper.train.export_onnx \
|
| 70 |
-
--checkpoint "${best_checkpoint}" \
|
| 71 |
-
--output-file "${run}/model-best.onnx"
|
| 72 |
-
|
| 73 |
-
printf '%s\n' 'zurxAneye vahdat yek makAne varzeSi dar Sahre borujerd ast.' | \
|
| 74 |
-
"${root}/venv/bin/python" -m piper \
|
| 75 |
-
-m "${run}/model-best.onnx" \
|
| 76 |
-
-f "${run}/zurxane-full-100k-best.wav" \
|
| 77 |
-
--length-scale 1.15
|
| 78 |
-
|
| 79 |
-
sha256sum "${last_checkpoint}" "${best_checkpoint}" "${run}/model-best.onnx" \
|
| 80 |
-
"${run}/model-best.onnx.json" "${run}/zurxane-full-100k-best.wav" \
|
| 81 |
-
> "${run}/sha256sums.txt"
|
| 82 |
-
echo "full_complete_utc=$(date -u +%FT%TZ) last=${last_checkpoint} best=${best_checkpoint}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
training/train_unchunked_avasanj_agree_full50k.sh
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env bash
|
| 2 |
+
set -euo pipefail
|
| 3 |
+
|
| 4 |
+
root=/home/rezo/piper-wikipedia-approved-20260830
|
| 5 |
+
data="${root}/data/unchunked-avasanj-agree-v1"
|
| 6 |
+
run="${root}/runs/rizeh-unchunked-avasanj-agree-gate500"
|
| 7 |
+
cache="${root}/cache/unchunked-avasanj-agree-v1"
|
| 8 |
+
resume="${run}/lightning_logs/version_0/checkpoints/last.ckpt"
|
| 9 |
+
|
| 10 |
+
exec 9>"${root}/runs/rizeh-unchunked-avasanj-agree-full50k.lock"
|
| 11 |
+
flock -n 9 || { echo "full50k is already running" >&2; exit 73; }
|
| 12 |
+
|
| 13 |
+
[[ "$(jq -r .status "${data}/report.json")" == complete ]]
|
| 14 |
+
[[ "$(jq -r .rows.train "${data}/report.json")" == 1290 ]]
|
| 15 |
+
[[ "$(jq -r .rows.validation "${data}/report.json")" == 100 ]]
|
| 16 |
+
[[ "$(jq -r '.parent_overlap.train.validation' "${data}/report.json")" == 0 ]]
|
| 17 |
+
[[ "$(wc -l < "${data}/metadata-fit-parent-disjoint.csv")" == 1390 ]]
|
| 18 |
+
[[ -s "${resume}" ]]
|
| 19 |
+
[[ -s "${run}/model.onnx.json" ]]
|
| 20 |
+
|
| 21 |
+
cd "${root}/src/piper1-gpl"
|
| 22 |
+
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
|
| 23 |
+
"${root}/venv/bin/python" -m piper.train fit \
|
| 24 |
+
--ckpt_path "${resume}" \
|
| 25 |
+
--trainer.accelerator gpu \
|
| 26 |
+
--trainer.devices 1 \
|
| 27 |
+
--trainer.precision bf16-mixed \
|
| 28 |
+
--trainer.max_steps 50000 \
|
| 29 |
+
--trainer.num_sanity_val_steps 0 \
|
| 30 |
+
--trainer.val_check_interval 500 \
|
| 31 |
+
--trainer.limit_val_batches 25 \
|
| 32 |
+
--trainer.log_every_n_steps 10 \
|
| 33 |
+
--trainer.enable_progress_bar false \
|
| 34 |
+
--trainer.default_root_dir "${run}" \
|
| 35 |
+
--model.sample_rate 22050 \
|
| 36 |
+
--model.num_speakers 1 \
|
| 37 |
+
--model.warmstart_ckpt "${root}/models/rizeh-onnx-recovery/rizehpizeh-epoch4-recovered-trainable.ckpt" \
|
| 38 |
+
--model.learning_rate 0.000005 \
|
| 39 |
+
--model.learning_rate_d 0.0000025 \
|
| 40 |
+
--model.mos_metric null \
|
| 41 |
+
--data.voice_name gooya-rizehpizeh-unchunked-avasanj-agree-full50k \
|
| 42 |
+
--data.csv_path "${data}/metadata-fit-parent-disjoint.csv" \
|
| 43 |
+
--data.audio_dir / \
|
| 44 |
+
--data.cache_dir "${cache}" \
|
| 45 |
+
--data.config_path "${run}/model.onnx.json" \
|
| 46 |
+
--data.batch_size 1 \
|
| 47 |
+
--data.validation_split 0.07194244604316546 \
|
| 48 |
+
--data.num_test_examples 0 \
|
| 49 |
+
--data.num_workers 2 \
|
| 50 |
+
--data.trim_silence false \
|
| 51 |
+
--data.phoneme_type text \
|
| 52 |
+
--data.dataset_type phoneme_ids \
|
| 53 |
+
--data.phonemes_path "${root}/data/aligned-full-v1/negara-phoneme-id-map.json" \
|
| 54 |
+
--data.espeak_voice fa \
|
| 55 |
+
--data.num_symbols 256
|
| 56 |
+
|
| 57 |
+
checkpoint=$(find "${run}" -name last.ckpt -type f -printf '%T@ %p\n' | sort -nr | head -1 | cut -d' ' -f2-)
|
| 58 |
+
[[ -s "${checkpoint}" ]]
|
| 59 |
+
"${root}/venv/bin/python" -m piper.train.export_onnx \
|
| 60 |
+
--checkpoint "${checkpoint}" \
|
| 61 |
+
--output-file "${run}/model-step50000.onnx"
|
| 62 |
+
cp "${run}/model.onnx.json" "${run}/model-step50000.onnx.json"
|
| 63 |
+
|
| 64 |
+
printf '%s\n' 'salAm! man guyA hastam va in sedA haminjA dAxele morurare SomA sAxte Sode ast.' | \
|
| 65 |
+
"${root}/venv/bin/python" -m piper \
|
| 66 |
+
-m "${run}/model-step50000.onnx" \
|
| 67 |
+
-f "${run}/canonical-intro-step50000.wav" \
|
| 68 |
+
--length-scale 1.0
|
| 69 |
+
|
| 70 |
+
printf '%s\n' 'salAm az beyne dostAn kasi sAyte rAyegAne tabdile matn be goftAr besurate xodemuni va mohAverei be zabAne fArsi bege miSnAse moQarrefi kone takid mikonam xorujiye fAyl be surate moddat zamAne tulAni mixAham mahdudiyyate moddate zamAn nadASte bASe.' | \
|
| 71 |
+
"${root}/venv/bin/python" -m piper \
|
| 72 |
+
-m "${run}/model-step50000.onnx" \
|
| 73 |
+
-f "${run}/long-colloquial-step50000.wav" \
|
| 74 |
+
--length-scale 1.0
|
| 75 |
+
|
| 76 |
+
sha256sum "${checkpoint}" "${run}/model-step50000.onnx" \
|
| 77 |
+
"${run}/model-step50000.onnx.json" \
|
| 78 |
+
"${run}/canonical-intro-step50000.wav" \
|
| 79 |
+
"${run}/long-colloquial-step50000.wav" \
|
| 80 |
+
> "${run}/sha256sums-step50000.txt"
|
| 81 |
+
echo "full50k_complete_utc=$(date -u +%FT%TZ) checkpoint=${checkpoint}"
|
training/unchunked-avasanj-agree-report.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"duration_seconds": {
|
| 3 |
+
"max": 95.96,
|
| 4 |
+
"mean": 58.93640900791231,
|
| 5 |
+
"min": 38.68
|
| 6 |
+
},
|
| 7 |
+
"excluded_reasons": {
|
| 8 |
+
"avasanj_not_agree": 2473,
|
| 9 |
+
"parent_alignment_not_complete": 70
|
| 10 |
+
},
|
| 11 |
+
"hours": {
|
| 12 |
+
"sealed_eval_agree": 4.107966666666665,
|
| 13 |
+
"train": 21.145477777777785,
|
| 14 |
+
"validation": 1.6444777777777777
|
| 15 |
+
},
|
| 16 |
+
"inputs": {
|
| 17 |
+
"mana_phoneme_map": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/mana-phoneme-id-map.json",
|
| 18 |
+
"mana_phoneme_map_sha256": "ba38263aec458bca093a0e60629a442dfb365bd7ef79e70be58c311ba886f868",
|
| 19 |
+
"manifest": "/home/rezo/gooya-bozorg-v15-gemini-approved-20260829/training_manifest.jsonl",
|
| 20 |
+
"manifest_sha256": "d285458025385945d10e733bdea74080f544c4aa3c621454686d6ffe7678f345",
|
| 21 |
+
"parents": "/home/rezo/piper-wikipedia-approved-20260830/data/aligned-full-v1/parents.jsonl",
|
| 22 |
+
"parents_sha256": "09f49adf75bc6000b82a81c956555ec00c5a1f2d7a77f6d1ea3d989a2658129a"
|
| 23 |
+
},
|
| 24 |
+
"original_manifest_splits": {
|
| 25 |
+
"eval": 669,
|
| 26 |
+
"train": 3517
|
| 27 |
+
},
|
| 28 |
+
"outputs": {
|
| 29 |
+
"excluded-parents.jsonl": "e508a4ecc721d3b7604c118cc2bdd32990e1c9e0ab93facb4af8d307136f43eb",
|
| 30 |
+
"metadata-fit-parent-disjoint.csv": "39b38a8de0ec8296d60a94c4060e151918e84d91484fa2a0f454a0c1e6828dbd",
|
| 31 |
+
"metadata-sealed_eval_agree.csv": "6bfa808cba6208939bb8fbe61429a8af7a2baab0471ec632bffab1c392527358",
|
| 32 |
+
"metadata-train.csv": "84376168ab6f6aa989604776a2d59b4d8b68a07fdd328d2e0545c556bf855437",
|
| 33 |
+
"metadata-validation.csv": "9c0f873fdd78f67a06c000c2bf4b8543f0ed32dc67e95e72ae7e7c95afaa0517",
|
| 34 |
+
"selected-parents.jsonl": "65e4559957bcdcb301238a04a09681a7070083d854e7546e80fc7949b7ab12b7"
|
| 35 |
+
},
|
| 36 |
+
"parent_overlap": {
|
| 37 |
+
"sealed_eval_agree": {
|
| 38 |
+
"train": 0,
|
| 39 |
+
"validation": 0
|
| 40 |
+
},
|
| 41 |
+
"train": {
|
| 42 |
+
"sealed_eval_agree": 0,
|
| 43 |
+
"validation": 0
|
| 44 |
+
},
|
| 45 |
+
"validation": {
|
| 46 |
+
"sealed_eval_agree": 0,
|
| 47 |
+
"train": 0
|
| 48 |
+
}
|
| 49 |
+
},
|
| 50 |
+
"phoneme_id_count": {
|
| 51 |
+
"max": 3423,
|
| 52 |
+
"mean": 2174.6494217894096,
|
| 53 |
+
"min": 1711
|
| 54 |
+
},
|
| 55 |
+
"rows": {
|
| 56 |
+
"sealed_eval_agree": 253,
|
| 57 |
+
"train": 1290,
|
| 58 |
+
"validation": 100
|
| 59 |
+
},
|
| 60 |
+
"schema_version": "gooya.piper-unchunked-avasanj-agree/v1",
|
| 61 |
+
"selection": {
|
| 62 |
+
"audio_transform": "none",
|
| 63 |
+
"internal_punctuation": "not_present_in_existing_flat_Negara_v7.1_labels",
|
| 64 |
+
"max_avasanj_compact_cer_inclusive": 0.12,
|
| 65 |
+
"terminal_punctuation": "preserved_from_source_when_present_else_period"
|
| 66 |
+
},
|
| 67 |
+
"status": "complete"
|
| 68 |
+
}
|