Open JarbasAl opened 1 year ago
First glance, all I can say is, yup. Will take a closer look after late lunch, marked as unread
For the benefit of OVOS folks who don’t click through to the issue at Piper:
Piper will be removing the hard GPL dep in an upcoming release, at which point this issue can be closed.
For the benefit of OVOS folks who don’t click through to the issue at Piper:
Piper will be removing the hard GPL dep in an upcoming release, at which point this issue can be closed.
we do not need to wait for that, we can replace espeak phonemizer, probably makes sense to even use the exisintg ovos G2P plugin framework (and update corresponding espeak plugin for feature parity)
Replacing the phonemizer will likely require retraining the voices, unfortunately. Is all of your g2p stuff in Python? I've considered rewriting gruut
in C++ or Rust one of these days, but it would require porting num2words
as well.
The subject of rewriting components in machine code comes up a lot, but so far it’s mostly talk. There’s a port of your listener in C++. Otherwise, it’s a massive stack of Python.
Personally, I’ve been growing fonder and fonder of Rust. Evangelizing will be the hard part. I’d RIIR tomorrow.
Replacing the phonemizer will likely require retraining the voices, unfortunately. Is all of your g2p stuff in Python? I've considered rewriting
gruut
in C++ or Rust one of these days, but it would require portingnum2words
as well.
in this case it would really just be moving the espeak phonemizer into a plugin, so the g2p plugin is GPL and this repo remains apache
the user can replace the plugin with any other, depending on voice model, so this moves the GPL issue into the specific model (which requires the GPL plugin) not directly into Piper plugin
as for num2words, have you considered lingua_franca? i think it handles many more number variations in spoken format
for context, here are the docs for our G2P plugins
https://openvoiceos.github.io/ovos-technical-manual/g2p_plugins/
as for num2words, have you considered lingua_franca? i think it handles many more number variations in spoken format
I have, but it's Python only like num2words.
Piper will be removing the hard GPL dep in an upcoming release, at which point this issue can be closed.
as a small follow up to this, the GPL code now lives in it's own repo for piper-phonemize
this plugin also moved to use piper as an upstream dependency now that it is on pypi, so we no longer directly depend on espeak phonemizer library
however others raised similar concerns over piper-phonemize https://github.com/rhasspy/piper-phonemize/issues/17
espeak is still a hard dependency of this plugin since it won't work without it's code, so i'm not sure this issue can be closed yet
as flagged in https://github.com/rhasspy/piper/issues/93
to comply with espeak-ng license this repo needs to be relicensed as GPL, unless the phonemizer can be replaced by a non-GPL alternative
since this plugin can NOT be used without espeak-ng it should be considered a derivative work
it should be added to the list of licensing exceptions in our docs https://openvoiceos.github.io/ovos-technical-manual/license/