
    h                         S SK r S SKrS SKJr  S SKJrJr  S SKrS SKJ	r	  S SK
Jr  S SKJr  S SKJr  SS	S
SS.0r " S S\5      rg)    N)Path)TupleUnion)Tensor)Dataset)download_url_to_file)_extract_tarrelease1wavsz:https://data.keithito.com/data/speech/LJSpeech-1.1.tar.bz2@be1a30453f28eb8dd26af4101ae40cbf2c50413b1bb21936cbcdc6fae3de8aa5)folder_in_archiveurlchecksumc                       \ rS rSrSr\S   S   \S   S   S4S\\\4   S\S\S\	S	S
4
S jjr
S\S\S\S\	S	S
4
S jrS\S	\\\\\4   4S jrS	\4S jrSrg
)LJSPEECH   a  *LJSpeech-1.1* :cite:`ljspeech17` dataset.

Args:
    root (str or Path): Path to the directory where the dataset is found or downloaded.
    url (str, optional): The URL to download the dataset from.
        (default: ``"https://data.keithito.com/data/speech/LJSpeech-1.1.tar.bz2"``)
    folder_in_archive (str, optional):
        The top-level directory of the dataset. (default: ``"wavs"``)
    download (bool, optional):
        Whether to download the dataset if it is not found at root path. (default: ``False``).
r
   r   r   FrootdownloadreturnNc                 (    U R                  XX45        g N)_parse_filesystem)selfr   r   r   r   s        T/var/www/auris/envauris/lib/python3.13/site-packages/torchaudio/datasets/ljspeech.py__init__LJSPEECH.__init__#   s     	t*;F    c                    [        U5      n[        R                  R                  U5      nX-  n[        UR	                  S5      S   5      nXS-  nX-  U l        X-  S-  U l        U(       at  [        R                  R                  U R
                  5      (       dE  [        R                  R                  U5      (       d  [        S   S   n[        X&US9  [        U5        OG[        R                  R                  U R
                  5      (       d  [        SU R
                   S35      e[        U R                  S	S
S9 n[        R                   " US[        R"                  S9n	[%        U	5      U l        S S S 5        g ! , (       d  f       g = f)Nz.tar.bz2r   zmetadata.csvr
   r   )hash_prefixz	The path zT doesn't exist. Please check the ``root`` path or set `download=True` to download itr )newline|)	delimiterquoting)r   ospathbasenamesplit_path_metadata_pathisdirisfile_RELEASE_CONFIGSr   r	   existsRuntimeErroropencsvreader
QUOTE_NONElist_flist)
r   r   r   r   r   r(   archiver   metadataflists
             r   r   LJSPEECH._parse_filesystem-   s-   Dz77##C(/z2156$8-
"o>77==,,ww~~g../
;JGH(8LW%77>>$**--"

| ,[ [ 
 $%%sB78JJx3OEu+DK 877s   <5E::
Fnc                     U R                   U   nUu  p4nU R                  US-   -  n[        R                  " U5      u  pxUUUU4$ )a
  Load the n-th sample from the dataset.

Args:
    n (int): The index of the sample to be loaded

Returns:
    Tuple of the following items;

    Tensor:
        Waveform
    int:
        Sample rate
    str:
        Transcript
    str:
        Normalized Transcript
z.wav)r6   r*   
torchaudioload)	r   r;   linefileid
transcriptnormalized_transcriptfileid_audiowaveformsample_rates	            r   __getitem__LJSPEECH.__getitem__J   sY    $ {{1~4811zzVf_5 !+ = !	
 	
r   c                 ,    [        U R                  5      $ r   )lenr6   )r   s    r   __len__LJSPEECH.__len__j   s    4;;r   )r6   r+   r*   )__name__
__module____qualname____firstlineno____doc__r.   r   strr   boolr   r   intr   r   rF   rJ   __static_attributes__ r   r   r   r      s    
 $J/6!1*!=>Q!RGCIG G 	G
 G 
G&c & & &W[ &`d &:
S 
U63S+@%A 
@   r   r   )r2   r&   pathlibr   typingr   r   r=   torchr   torch.utils.datar   torchaudio._internalr   torchaudio.datasets.utilsr	   r.   r   rU   r   r   <module>r\      sI    
 	     $ 5 2 #KV U w U r   