o
    
je                     @   sz   d dl Z d dlmZ d dlmZ e je jddddZe j	deZ
d	Z
d
dddddddZdddZe
fddZdS )    N)request)tqdm~z.cachetortoisemodelsTORTOISE_MODELS_DIRz/data/speech_synth/models/zVhttps://huggingface.co/jbetker/tortoise-tts-v2/resolve/main/.models/autoregressive.pthzRhttps://huggingface.co/jbetker/tortoise-tts-v2/resolve/main/.models/classifier.pthzMhttps://huggingface.co/jbetker/tortoise-tts-v2/resolve/main/.models/clvp2.pthzYhttps://huggingface.co/jbetker/tortoise-tts-v2/resolve/main/.models/diffusion_decoder.pthzOhttps://huggingface.co/jbetker/tortoise-tts-v2/resolve/main/.models/vocoder.pthzPhttps://huggingface.co/jbetker/tortoise-tts-v2/resolve/main/.models/rlg_auto.pthzThttps://huggingface.co/jbetker/tortoise-tts-v2/resolve/main/.models/rlg_diffuser.pth)zautoregressive.pthzclassifier.pthz	clvp2.pthzdiffusion_decoder.pthzvocoder.pthzrlg_auto.pthzrlg_diffuser.pthc              	   C   s   t jtdd t D ]M\}}| dur|| vrqt jt|}t j|r&qtd| d| d t	dddd	d
}t
|||fdd W d   n1 sOw   Y  td qdS )z=
    Call to download all the models that Tortoise uses.
    T)exist_okNzDownloading z from z...Bi      )unit
unit_scaleunit_divisorminitersc                 S   s   | | | |j S N)updaten)nbbsfst r   P/home/kuhnn/.local/lib/python3.10/site-packages/TTS/tts/layers/tortoise/utils.py<lambda>!   s    z!download_models.<locals>.<lambda>zDone.)osmakedirs
MODELS_DIRMODELSitemspathjoinexistsprintr   r   urlretrieve)specific_models
model_nameurl
model_pathr   r   r   r   download_models   s   
r'   c                 C   sH   | t vrtd|  dtj|| }tj|s"|tkr"t| g |S )zC
    Get path to given model, download it if it doesn't exist.
    zModel z not found in available models.)r   
ValueErrorr   r   r   r    r   r'   )r$   
models_dirr&   r   r   r   get_model_path%   s   
r*   r   )r   urllibr   r   r   r   
expanduserDEFAULT_MODELS_DIRenvirongetr   r   r'   r*   r   r   r   r   <module>   s     
