EveryVoiceTTS / EveryVoiceTTS/EveryVoice
Augment `everyvoice check text-config` to directly work on text-to-* configs
- Dominant language
- Python
- Stars
- 45
- Forks
- 4
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 14
Description
Right now (once #799 is merged), `everyvoice check text-config` gives unfriendly error messages when you pass any config file other than `everyvoice-shared-text.yaml`.
Desired behaviour:
- if you pass a text-to-spec or text-to-wav config, we should locate the embedded text config and use it
- if you pass a config that does not embed a text config, suppress all Pydantic validation errors and instead issue a single meaningful error message
Related comment by @roedoejet copied from PR review for #799:
>If I pass a text-to-spec config for example, I get a somewhat cryptic error. Can we handle this by catching ValidationErrors and trying to load text-to-spec/spec-to-wav etc configs and if one of them passes, then raising that as an error? Alternatively, the text config is actually available in the text-to-spec config, so it would ideally be best if we look for `text` in the config and try and load that if it exists as well.
Contributor guide
Research direction
Start by tracing the `everyvoice check text-config` command and how it loads and validates configuration files. Try text-to-spec and text-to-wav configs, then a config without an embedded text config. Done means embedded text settings are checked directly and unsupported configs produce one meaningful error instead of raw Pydantic validation errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100