o
    i                     @   sv   d dl Z d dlZd dlZd dlmZmZ dd Zdd Zdd Z	d	d
 Z
dejdedejfddZdd Zdd ZdS )    N)download_url_to_filemodule_utilsc                   C      dS )N)&_-!'(),.:;? abcdefghijklmnopqrstuvwxyz r+   r+   r+   U/home/ubuntu/vllm_env/lib/python3.10/site-packages/torchaudio/pipelines/_tts/utils.py
_get_chars      r-   c                   C   r   )N)`r   r   r   r   r	   r
   r   r   r   r   r   r   AAAA0AA1AA2AEAE0AE1AE2AHAH0AH1AH2AOAO0AO1AO2AWAW0AW1AW2AYAY0AY1AY2BCHDDHEHEH0EH1EH2ERER0ER1ER2EYEY0EY1EY2FGHHIHIH0IH1IH2IYIY0IY1IY2JHKLMNNGOWOW0OW1OW2OYOY0OY1OY2PRSSHTTHUHUH0UH1UH2UWUW0UW1UW2VWYZZHr+   r+   r+   r+   r,   _get_phones3   r.   r   c                 C   sD   t jdd | D t jd}dd | D }t jjjj|dd}||fS )Nc                 S   s   g | ]}t |qS r+   )len.0r   r+   r+   r,   
<listcomp>   s    z_to_tensor.<locals>.<listcomp>)dtypec                 S   s   g | ]}t |qS r+   )torchtensorr   r+   r+   r,   r      s    T)batch_first)r   r   int32nnutilsrnnpad_sequence)indiceslengthsvaluesr+   r+   r,   
_to_tensor   s   r   c              	   C   s  t ds	tdddlm} ddlm}m}m} t	
d}|j}|t	j z`d|  }tjtj d}	tj|	dd	 tj|	| }
tj|
s\|d u rQi n|}t||
fi | tj|||g ||
W  d    W || S 1 s{w   Y  W || d S || w )
Ndpz3DeepPhonemizer is not installed. Please install it.r   )
Phonemizer)LanguageTokenizerPreprocessorSequenceTokenizerzKhttps://public-asai-dl-models.s3.eu-central-1.amazonaws.com/DeepPhonemizer/checkpointsT)exist_ok)
_mod_utilsis_module_availableRuntimeErrordp.phonemizerr   dp.preprocessing.textr   r   r   logging	getLoggerlevelsetLevelINFOospathjoinr   hubget_dirmakedirsexistsr   serializationsafe_globalsfrom_checkpoint)file	dl_kwargsr   r   r   r   logger
orig_levelurl	directoryr   r+   r+   r,   _load_phonemizer   s*   


r   waveformbitsreturnc                 C   s@   t | dd} | d d| d  d } t | dd| d  S )z6Transform waveform [-1, 1] to label [0, 2 ** bits - 1]   g      ?   r   )r   clampint)r   r   r+   r+   r,   _unnormalize_waveform   s   r   c                 C   sz   i ddddddddd	dd
ddddddddddddddddddddddddddd | d!S )"Nmask_paddingFn_melsP   n_frames_per_stepr   symbol_embedding_dim   encoder_embedding_dimencoder_n_convolution   encoder_kernel_size   decoder_rnn_dimi   decoder_max_stepi  decoder_dropoutg?decoder_early_stoppingTattention_rnn_dimattention_hidden_dim   attention_location_n_filter    attention_location_kernel_size   attention_dropout
prenet_dim   g      ?)postnet_n_convolutionpostnet_kernel_sizepostnet_embedding_dimgate_thresholdn_symbolr+   )	n_symbolsr+   r+   r,   _get_taco_params   sR   	
r   c                   C   s   g ddddddddddd	
S )
N)r   r      r   i  
   r   r   r   r   )
upsample_scales	n_classes
hop_lengthn_res_blockn_rnnn_fckernel_sizen_freqn_hiddenn_outputr+   r+   r+   r+   r,   _get_wrnn_params   s   r   )r   r   r   torchaudio._internalr   r   r   r-   r   r   r   Tensorr   r   r   r   r+   r+   r+   r,   <module>   s    +e