fix(fish-s2): reference_id was a silent no-op — populate per-voice dirs + guard the regression
reference_id=<name> resolves against the DIRECTORY references/<name>/ (audio + same-basename .lab), not a flat references/<name>.wav. Voices were staged flat with the per-name dirs left empty, so every reference_id resolved to nothing and Fish fell back to its default speaker — every dropdown voice produced byte-identical audio (proven: Abigail == Imogen == no-ref, same text+seed). This was the real "no accent" root cause, independent of the asset-engine "undefined" select bug. Server fix (applied to irv-ml1): populated references/<name>/<name>.wav + <name>.lab for all 32 voices; re-test confirms Imogen/Eleanor/ Beatrice/Abigail/no-ref now all distinct. Durable hardening + record correction: - playbook: normalize-layout step (flat <name>.wav -> nested dir, cp -u idempotent, when-gated on count mismatch) + an A/B verify gate that hard-fails the deploy if two reference_ids yield identical output. - services.yaml: correct the reference_id resolution doc (dir + .lab, not flat wav). - README + persistent-memory: correct the "reference_id-by-name is THE working path, verified" claim — it was a no-op until this fix; the prior ECAPA 0.79 result came through the inline base64 path.
This commit is contained in:
@@ -749,10 +749,15 @@ services:
|
||||
Eleanor (p228), Beatrice (p229) — consenting VCTK volunteers (CC BY
|
||||
4.0), NOT modeled on or representing any public figure. Other female:
|
||||
Abigail, Alice, Cora, Elena, Emily, Gianna, Jade, Layla, Olivia,
|
||||
glados. Resolves to <name>.wav + optional <name>.txt transcript;
|
||||
blank = model default/random speaker. To add: drop a clean 5–15s WAV
|
||||
into the references dir + add the name here. (No /voices API → static
|
||||
list; a list-endpoint is the durable fix — see notes.)
|
||||
glados. Resolves against the DIRECTORY references/<name>/ (audio +
|
||||
a same-basename <name>.lab transcript inside it) — NOT a flat
|
||||
references/<name>.wav, which fish-speech ignores (empty/flat-only
|
||||
dirs silently collapse every voice to the model default; root-caused
|
||||
+ fixed 2026-06-01). Blank = model default/random speaker. To add:
|
||||
create references/<name>/ with <name>.wav (clean 5–15s) + <name>.lab
|
||||
(transcript) and add the name here; the deploy playbook's normalize
|
||||
step also mirrors any flat <name>.wav into this layout. (No /voices
|
||||
API → static list; a list-endpoint is the durable fix — see notes.)
|
||||
- name: references
|
||||
type: json
|
||||
label: Custom clone (inline base64)
|
||||
|
||||
Reference in New Issue
Block a user