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

license issues #2

Open
JarbasAl opened this issue Jun 5, 2023 · 9 comments
Open

license issues #2

JarbasAl opened this issue Jun 5, 2023 · 9 comments
Assignees
Labels
bug Something isn't working question Further information is requested

Comments

@JarbasAl
Copy link
Member

JarbasAl commented Jun 5, 2023

as flagged in rhasspy/piper#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/

@JarbasAl JarbasAl added bug Something isn't working question Further information is requested severe This breaks the entire program/package or ruins UX labels Jun 5, 2023
@ChanceNCounter
Copy link

First glance, all I can say is, yup. Will take a closer look after late lunch, marked as unread

@ChanceNCounter
Copy link

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.

@JarbasAl
Copy link
Member Author

JarbasAl commented Jun 6, 2023

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)

@JarbasAl JarbasAl removed the severe This breaks the entire program/package or ruins UX label Jun 6, 2023
@synesthesiam
Copy link

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.

@ChanceNCounter
Copy link

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.

@JarbasAl
Copy link
Member Author

JarbasAl commented Jun 7, 2023

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.

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

@JarbasAl
Copy link
Member Author

JarbasAl commented Jun 7, 2023

for context, here are the docs for our G2P plugins

https://openvoiceos.github.io/ovos-technical-manual/g2p_plugins/

@synesthesiam
Copy link

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.

@JarbasAl
Copy link
Member Author

JarbasAl commented Dec 14, 2023

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 rhasspy/piper-phonemize#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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants