Skip to content

Added rest of the Persian models the guy made #339

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

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from

Conversation

DrewThomasson
Copy link

I pulled the information from this app.py from his hugginface space that demo's them

https://huggingface.co/spaces/Kamtera/Persian-tts-CoquiTTS

relevant info being...

MODEL_NAMES=[
    "vits male1 (best)",
    "vits female (best)",
    "vits-male",
    "vits female1",
    "glowtts-male",
    "glowtts-female",
    "female tacotron2"
]
modelInfo=[
    ["vits-male","best_model_65633.pth","config-0.json","https://huggingface.co/Kamtera/persian-tts-male-vits/resolve/main/"],
    ["vits female (best)","checkpoint_48000.pth","config-2.json","https://huggingface.co/Kamtera/persian-tts-female-vits/resolve/main/"],
    ["glowtts-male","best_model_77797.pth","config-1.json","https://huggingface.co/Kamtera/persian-tts-male-glow_tts/resolve/main/"],
    ["glowtts-female","best_model.pth","config.json","https://huggingface.co/Kamtera/persian-tts-female-glow_tts/resolve/main/"],
    ["vits male1 (best)","checkpoint_88000.pth","config.json","https://huggingface.co/Kamtera/persian-tts-male1-vits/resolve/main/"],
    ["vits female1","checkpoint_50000.pth","config.json","https://huggingface.co/Kamtera/persian-tts-female1-vits/resolve/main/"],
    ["female tacotron2","checkpoint_313000.pth","config-2.json","https://huggingface.co/Kamtera/persian-tts-female-tacotron2/resolve/main/"]
]

description="""
This is a demo of persian text to speech model.
**Github : https://github.com/karim23657/Persian-tts-coqui  **
Models can be found here:  <br>
|Model|Dataset|
|----|------|
|[vits female (best)](https://huggingface.co/Kamtera/persian-tts-female-vits)|[persian-tts-dataset-famale](https://www.kaggle.com/datasets/magnoliasis/persian-tts-dataset-famale)|
|[vits male1 (best)](https://huggingface.co/Kamtera/persian-tts-male1-vits)|[persian-tts-dataset-male](https://www.kaggle.com/datasets/magnoliasis/persian-tts-dataset-male)|
|[vits female1](https://huggingface.co/Kamtera/persian-tts-female1-vits)|[ParsiGoo](https://github.com/karim23657/ParsiGoo)|
|[vits male](https://huggingface.co/Kamtera/persian-tts-male-vits)|[persian-tts-dataset](https://www.kaggle.com/datasets/magnoliasis/persian-tts-dataset)|
|[glowtts female](https://huggingface.co/Kamtera/persian-tts-female-glow_tts)|[persian-tts-dataset-famale](https://www.kaggle.com/datasets/magnoliasis/persian-tts-dataset-famale)|
|[glowtts male](https://huggingface.co/Kamtera/persian-tts-male-glow_tts)|[persian-tts-dataset](https://www.kaggle.com/datasets/magnoliasis/persian-tts-dataset)|
|[tacotron2 female](https://huggingface.co/Kamtera/persian-tts-female-tacotron2)|[persian-tts-dataset-famale](https://www.kaggle.com/datasets/magnoliasis/persian-tts-dataset-famale)|
"""

@DrewThomasson
Copy link
Author

@eginhard

Thanks for showing me the correct way to implement these, hope this one also looks good :)

@DrewThomasson
Copy link
Author

Whats the zoo test?

@DrewThomasson
Copy link
Author

DrewThomasson commented Mar 12, 2025

Is it failing because some of the config files have weird names for some of the vits models??

@eginhard
Copy link
Member

The zoo tests download and run every model in .models.json

Is it failing because some of the config files have weird names for some of the vits models??

Yes, Coqui always expects that file to be named config.json. There is code already that renames model checkpoints to model.pth if the folder contains just one .pth file:

checkpoints = list(Path(output_path).glob("*.pt*"))
if len(checkpoints) == 1:
checkpoints[0].rename(checkpoints[0].parent / "model.pth")

We could do something similar if there is only one .json file, probably adding it at the start of

def _find_files(output_path: Path) -> tuple[Path, Path]:

Let me know if you'd like to do that, otherwise I can take care of it in a few days.

@DrewThomasson
Copy link
Author

DrewThomasson commented Mar 18, 2025

I'll give it a go tomorrow I suppose

Thx for the info btw

I'm excited to get to learn here as I really want to help out and add to this repo,
This needs to be the central spot for all open source tts models

@DrewThomasson
Copy link
Author

DrewThomasson commented Mar 18, 2025

Here I attempted at adding it here?
PR -> #343

Was trying to make it so that it would would handle renaming config files if there's only one JSON file in the directory?

Did I do that correctly or....

@DrewThomasson
Copy link
Author

DrewThomasson commented Mar 18, 2025

Also is it best to do that modification here in this existing PR?
or to create a separate PR with the modification like I did

@ROBERT-MCDOWELL
Copy link

ROBERT-MCDOWELL commented Jul 1, 2025

@eginhard as the workflow logs are expired could you tell me what's the issue to solve here? or mayb re-run the workflow so I can work on it?

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.

3 participants