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+   ]/home/ubuntu/transcripts/venv/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} td}|j}|tj	 z?d|  }t
jtj d}t
j|dd t
j|| }t
j|sR|d u rGi n|}t||fi | ||W || S || w )	Ndpz3DeepPhonemizer is not installed. Please install it.r   )
PhonemizerzKhttps://public-asai-dl-models.s3.eu-central-1.amazonaws.com/DeepPhonemizer/checkpointsT)exist_ok)
_mod_utilsis_module_availableRuntimeErrordp.phonemizerr   logging	getLoggerlevelsetLevelINFOospathjoinr   hubget_dirmakedirsexistsr   from_checkpoint)file	dl_kwargsr   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