import urllib from tqdm import tqdm from huggingface_hub import hf_hub_download import os encoder_url = "https://huggingface.co/jan-hq/WhisperVQ/resolve/main/medium_encoder_only.pt" def _download(url: str, root: str, in_memory: bool): os.makedirs(root, exist_ok=True) expected_sha256 = url.split("/")[-2] download_target = os.path.join(root, os.path.basename(url)) if os.path.exists(download_target) and not os.path.isfile(download_target): raise RuntimeError( f"{download_target} exists and is not a regular file") if os.path.isfile(download_target): with open(download_target, "rb") as f: model_bytes = f.read() return model_bytes if in_memory else download_target with urllib.request.urlopen(url) as source, open(download_target, "wb") as output: with tqdm( total=int(source.info().get("Content-Length")), ncols=80, unit="iB", unit_scale=True, unit_divisor=1024, ) as loop: while True: buffer = source.read(8192) if not buffer: break output.write(buffer) loop.update(len(buffer)) model_bytes = open(download_target, "rb").read() return model_bytes if in_memory else download_target if not os.path.exists(os.path.dirname(os.path.realpath(__file__))+"/whisper-vq-stoks-v3-7lang-fixed.model"): hf_hub_download( repo_id="jan-hq/WhisperVQ", filename="whisper-vq-stoks-v3-7lang-fixed.model", local_dir=".", ) _download(encoder_url, os.path.dirname(os.path.realpath(__file__)), False)