Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatability with neon plugins #57

Closed
NeonBohdan opened this issue May 10, 2022 · 4 comments · Fixed by #58
Closed

Compatability with neon plugins #57

NeonBohdan opened this issue May 10, 2022 · 4 comments · Fixed by #58

Comments

@NeonBohdan
Copy link

NeonBohdan commented May 10, 2022

Ovos and Neon tts plugins has a bit different function signature
https://github.com/OpenVoiceOS/ovos-tts-server/blob/ceef8aacce4bf58b949573083c7686220f150c5e/ovos_tts_server/__init__.py#L38

Neon speaker dict has language, gender, voice params

def get_tts(self, sentence: str, output_file: str, speaker: Optional[dict] = None):
    speaker: dict speaker to initialize a model for with keys:
                `language` - language code
                `gender` - optional synthesizer gender requested
                `voice` - optional synthesizer voice requested

Not sure how to better make them compatible

@JarbasAl
Copy link
Member

That should be handled in ovos plugin manager, inside execute method it should check the kwargs and pass the valid ones, it already checks things like language etc missing in mycroft plugins, so a check can be added for the neon dict

@NeonDaniel
Copy link
Member

For the TTS server, could it parse gender and optionally pass all 3? I think it's useful to map lang/gender to a voice per-plugin so calls are more universal (voices are plugin-specific, but lang+gender is mostly universal).

Also, here's how I patched compatibility in neon_audio: https://github.com/NeonGeckoCom/neon_audio/blob/423fb9a592b78163460d7e386e53bfcb8872d68d/neon_audio/tts/neon.py#L164

@JarbasAl
Copy link
Member

the server just load OPM, so im transfering this issue over, we can support any args needed no problem

@JarbasAl JarbasAl transferred this issue from OpenVoiceOS/ovos-tts-server May 11, 2022
@JarbasAl
Copy link
Member

relevant code https://github.com/OpenVoiceOS/OVOS-plugin-manager/blob/dev/ovos_plugin_manager/templates/tts.py#L685

this is happening inside the call to execute maybe we should make the _synth method public and use that in the ovos-tts-server?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants