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

Build a simple API interface #207

Closed
wants to merge 25 commits into from

Conversation

MohannadEhabBarakat
Copy link

I have added api.py to simplify the inference code to be done in a few lines. I think this could help people integrate sttyletts2 into their systems more easily. Also, I have added a demo notebook to show how the api works. I have updated the readme.md as well. I have also added 2 more todos I plan to contribute

@MohannadEhabBarakat
Copy link
Author

Here is a simple colab using it

@fakerybakery
Copy link
Contributor

I think then this project would have to be GPL licensed due to the phonemizer, no?

@MohannadEhabBarakat
Copy link
Author

I think that since phonemizer is GPL and is used (but not essential as people are trying new ones and I'm planning on adapting some of them in the future) so the project (the rest of the code) could remain MIT but the phonemizer is GPL. Like here

I'm new to licensing so I'm not sure

@MohannadEhabBarakat
Copy link
Author

I think this project should be similar to StyleTTS2 as I built a wrapper around it only

@fakerybakery
Copy link
Contributor

It seems to use phonemizer which would make it have to be GPL

@MohannadEhabBarakat
Copy link
Author

So what is the difference between this project and styletts2? I mean since styletts is MIT couldn't I just use the same analogy to make this MIT?

@fakerybakery
Copy link
Contributor

GPL is a "strong copyleft" license which requires all software that even links to it be licensed under the same license and be open sourced. StyleTTS 2, on the other hand, is licensed under the MIT license, a permissive and flexible open source license. If StyleTTS 2 linked to Phonemizer, it would have to be GPL-licensed. This is why the Colab notebooks are separate.

For example, a fork of StyleTTS 2 links to Phonemizer but is GPL-licensed. This works because MIT is compatible with GPL, but GPL is not compatible with MIT.

@MohannadEhabBarakat
Copy link
Author

Thanks for the clarification. I got your point I think I'll close this pull request and try to find a way to replicate phonemizer then I'll make a new one. Not sure if I'll be able to do it

@fakerybakery
Copy link
Contributor

Yeah, I think replicating phonemizer would be quite hard but I do have a couple of ideas ;) but an API would be great, have you considered releasing your PR as a GPL-licensed fork?

@MohannadEhabBarakat
Copy link
Author

Yes I'll fix it later today but I don't think it will be mergeable as styletts2 is better with MIT.

What about instead of replicating phonemizer, generate a dataset of language, text, phoneme. Then use a bert model to translate language, text -> phoneme. I don't know if this will be easy task or not. But my guess is that it should be relatively easy. Would the resulting model have MIT license?

@fakerybakery
Copy link
Contributor

That's an interesting idea! Not sure if you can do text2text w/ BERT though. Also, I ran an experiment where I trained Deep Phonemizer on espeak, seems to work relatively well.

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 this pull request may close these issues.

2 participants