Spaces:
Paused
Paused
| import os | |
| import sys | |
| from pathlib import Path | |
| import numpy as np | |
| import torch | |
| def intersperse(lst, item): | |
| # Adds blank symbol | |
| result = [item] * (len(lst) * 2 + 1) | |
| result[1::2] = lst | |
| return result | |
| def to_numpy(tensor): | |
| if isinstance(tensor, np.ndarray): | |
| return tensor | |
| elif isinstance(tensor, torch.Tensor): | |
| return tensor.detach().cpu().numpy() | |
| elif isinstance(tensor, list): | |
| return np.array(tensor) | |
| else: | |
| raise TypeError("Unsupported type for conversion to numpy array") | |
| def get_user_data_dir(appname="matcha_tts"): | |
| MATCHA_HOME = os.environ.get("MATCHA_HOME") | |
| if MATCHA_HOME is not None: | |
| ans = Path(MATCHA_HOME).expanduser().resolve(strict=False) | |
| elif sys.platform == "win32": | |
| import winreg # pylint: disable=import-outside-toplevel | |
| key = winreg.OpenKey( | |
| winreg.HKEY_CURRENT_USER, | |
| r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", | |
| ) | |
| dir_, _ = winreg.QueryValueEx(key, "Local AppData") | |
| ans = Path(dir_).resolve(strict=False) | |
| elif sys.platform == "darwin": | |
| ans = Path("~/Library/Application Support/").expanduser() | |
| else: | |
| ans = Path.home().joinpath(".local/share") | |
| final_path = ans.joinpath(appname) | |
| final_path.mkdir(parents=True, exist_ok=True) | |
| return final_path | |
| def assert_model_downloaded(checkpoint_path, url, use_wget=True): | |
| if Path(checkpoint_path).exists(): | |
| return | |
| raise FileNotFoundError(f"Model not found at {checkpoint_path}! Standalone mode requires models to be pre-downloaded.") | |