Document final endpoint policy and rejected speaker-tail pilot
Browse files- README.md +20 -0
- USAGE.md +6 -0
- release_metadata.json +16 -0
README.md
CHANGED
|
@@ -67,6 +67,21 @@ audio = model.generate(
|
|
| 67 |
sf.write("sample.wav", audio.detach().cpu().numpy(), model.sample_rate)
|
| 68 |
```
|
| 69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
## Conditioning Modes
|
| 71 |
|
| 72 |
```python
|
|
@@ -161,6 +176,11 @@ did not pass.
|
|
| 161 |
Numbers below are from an internal held-out evaluation set. The eval set and
|
| 162 |
training data are intentionally not described in this model card.
|
| 163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 164 |
| Mode | Evaluation profile | CER | WER |
|
| 165 |
| --- | --- | ---: | ---: |
|
| 166 |
| centroid-only | 30 texts x 5 seeds, controlled pace | 15.37% | 41.48% |
|
|
|
|
| 67 |
sf.write("sample.wav", audio.detach().cpu().numpy(), model.sample_rate)
|
| 68 |
```
|
| 69 |
|
| 70 |
+
## Interactive Demo Endpoint Profile
|
| 71 |
+
|
| 72 |
+
The hosted [BlueMagpie-TTS Demo](https://huggingface.co/spaces/voidful/BlueMagpie-TTS-Demo)
|
| 73 |
+
uses the same checkpoint weights with an inference-only endpoint guard. It
|
| 74 |
+
starts with a 0.50 stop threshold, lowers the threshold only after 75% of the
|
| 75 |
+
native-rate duration estimate, reaches 0.05 at 95%, and accepts one stop hit.
|
| 76 |
+
Generation is still capped at the native-rate estimate plus one latent step.
|
| 77 |
+
Playback pace is corrected only after generation has stopped, so pace control
|
| 78 |
+
does not hold the model open and create extra speech.
|
| 79 |
+
|
| 80 |
+
This interactive policy is intentionally separate from the reproducible
|
| 81 |
+
offline evaluation default of `stop_threshold=0.65` and
|
| 82 |
+
`stop_consecutive=2`. Neither policy uses retry selection or best-of-N
|
| 83 |
+
reranking in its standard path.
|
| 84 |
+
|
| 85 |
## Conditioning Modes
|
| 86 |
|
| 87 |
```python
|
|
|
|
| 176 |
Numbers below are from an internal held-out evaluation set. The eval set and
|
| 177 |
training data are intentionally not described in this model card.
|
| 178 |
|
| 179 |
+
The latest residual-speaker pilot improved natural and long-form aggregate
|
| 180 |
+
metrics, but every tested gate scale failed at least one stress endpoint,
|
| 181 |
+
intelligibility, or speaker-boundary criterion. Its weights were not promoted;
|
| 182 |
+
the selected model fingerprint remains unchanged.
|
| 183 |
+
|
| 184 |
| Mode | Evaluation profile | CER | WER |
|
| 185 |
| --- | --- | ---: | ---: |
|
| 186 |
| centroid-only | 30 texts x 5 seeds, controlled pace | 15.37% | 41.48% |
|
USAGE.md
CHANGED
|
@@ -166,6 +166,12 @@ Recommended generation defaults:
|
|
| 166 |
- `continuation-context-sec=0` until generated-context continuation passes its own gate
|
| 167 |
- Reference wavs used to extract speaker embeddings should be at least 3 seconds.
|
| 168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 169 |
Safety:
|
| 170 |
|
| 171 |
- Use only rights-cleared reference audio or speaker embeddings.
|
|
|
|
| 166 |
- `continuation-context-sec=0` until generated-context continuation passes its own gate
|
| 167 |
- Reference wavs used to extract speaker embeddings should be at least 3 seconds.
|
| 168 |
|
| 169 |
+
The hosted interactive demo uses a separate endpoint-only policy with the same
|
| 170 |
+
weights: a 0.50 stop threshold that relaxes after 75% of the native-rate
|
| 171 |
+
duration estimate to 0.05 at 95%, one stop hit, and a native-rate hard cap plus
|
| 172 |
+
one latent step. It applies pace correction after generation. The offline
|
| 173 |
+
defaults above remain the fixed evaluation contract.
|
| 174 |
+
|
| 175 |
Safety:
|
| 176 |
|
| 177 |
- Use only rights-cleared reference audio or speaker embeddings.
|
release_metadata.json
CHANGED
|
@@ -33,6 +33,22 @@
|
|
| 33 |
"speaker-reference-embedding"
|
| 34 |
]
|
| 35 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
"quality_rerank": {
|
| 37 |
"scope": [
|
| 38 |
"speaker-reference-embedding-short-medium"
|
|
|
|
| 33 |
"speaker-reference-embedding"
|
| 34 |
]
|
| 35 |
},
|
| 36 |
+
"interactive_demo": {
|
| 37 |
+
"scope": [
|
| 38 |
+
"centroid-only",
|
| 39 |
+
"speaker-reference-embedding"
|
| 40 |
+
],
|
| 41 |
+
"weight_change": false,
|
| 42 |
+
"stop_threshold": 0.5,
|
| 43 |
+
"stop_late_threshold": 0.05,
|
| 44 |
+
"stop_late_start_ratio": 0.75,
|
| 45 |
+
"stop_late_full_ratio": 0.95,
|
| 46 |
+
"stop_consecutive": 1,
|
| 47 |
+
"hard_stop_margin_steps": 1,
|
| 48 |
+
"retry_badcase": false,
|
| 49 |
+
"candidate_rerank": "none",
|
| 50 |
+
"pace_correction": "post_generation_pitch_preserving"
|
| 51 |
+
},
|
| 52 |
"quality_rerank": {
|
| 53 |
"scope": [
|
| 54 |
"speaker-reference-embedding-short-medium"
|