The params are passed using the "options" field like this:
- custom_properties:
- id: volume
options:
- label: min
value: 0
- label: max
value: 1
- label: step
value: 0.1
- id: voices
options:
- label: multiple
value: True (client re-saves this as "1" for unknown reasons)
While slider just writes back a number into value, the voice selection return type is a bit more complicated as it depends on the TTS provider and looks like this:
if multiple is unset or False, then value will just be an instance of VoiceSelection (instead of a list[VoiceSelection].
Other changes:
XVASynth now has a proper voice selection and shows the installed models and voices in filterable dropdowns just like the other providers. Its settings and config were split and the provider is now like a singleton that is passed around (similar to Whispercpp). Users need to enable XVASynth in the Settings view or else it won't appear as provider in the TTS provider dropdowns.
VoiceChanger and RadioChatter Skills were changed (and migrated) to use the new custom property types as examples but need some refactoring to work with them properly @SawPsyder.
This PR introduces two new custom property types:
The params are passed using the "options" field like this:
While slider just writes back a number into
value
, the voice selection return type is a bit more complicated as it depends on the TTS provider and looks like this:if
multiple
is unset orFalse
, thenvalue
will just be an instance ofVoiceSelection
(instead of alist[VoiceSelection]
.Other changes:
XVASynth now has a proper voice selection and shows the installed models and voices in filterable dropdowns just like the other providers. Its settings and config were split and the provider is now like a singleton that is passed around (similar to Whispercpp). Users need to enable XVASynth in the Settings view or else it won't appear as provider in the TTS provider dropdowns.
VoiceChanger and RadioChatter Skills were changed (and migrated) to use the new custom property types as examples but need some refactoring to work with them properly @SawPsyder.