Spaces:
Sleeping
Sleeping
""" | |
doc string | |
""" | |
import os | |
from functools import lru_cache | |
from pathlib import Path | |
import sherpa_onnx | |
from huggingface_hub import hf_hub_download | |
def get_file( repo_id: str, filename: str, subfolder: str = ".", ) -> str: | |
""" | |
doc string | |
""" | |
model_filename = hf_hub_download( | |
repo_id = repo_id, | |
filename = filename, | |
subfolder = subfolder, | |
) | |
return model_filename | |
def get_vits_piper(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts: | |
""" | |
doc string | |
""" | |
data_dir = "/tmp/espeak-ng-data" | |
name = "da_DK-talesyntese-medium" | |
model = get_file( | |
repo_id = repo_id, | |
filename = f"{name}.onnx", | |
subfolder = ".", | |
) | |
tokens = get_file( | |
repo_id = repo_id, | |
filename = "tokens.txt", | |
subfolder = ".") | |
print(model) | |
tts_config = sherpa_onnx.OfflineTtsConfig( | |
model = sherpa_onnx.OfflineTtsModelConfig( | |
vits = sherpa_onnx.OfflineTtsVitsModelConfig( | |
model = model, | |
lexicon = "", | |
data_dir = data_dir, | |
tokens = tokens, | |
length_scale = 1.0 / speed, | |
), | |
provider = "cpu", | |
debug = True, | |
num_threads = 2, | |
) | |
) | |
tts = sherpa_onnx.OfflineTts(tts_config) | |
return tts | |
def get_pretrained_model(repo_id: str, speed: float) -> sherpa_onnx.OfflineTts: | |
""" | |
doc string | |
""" | |
tts = get_vits_piper(repo_id, speed) | |
return tts | |