Ë
    S^(h¤	  ã                   óh   — d dl Z ddlmZmZmZ ddlmZ ddlmZ  e«       rd dl	m
Z
  G d„ d	e«      Zy)
é    Né   )ÚSpeechT5ForTextToSpeechÚSpeechT5HifiGanÚSpeechT5Processor)Úis_datasets_availableé   )ÚPipelineTool)Úload_datasetc                   ó\   ‡ — e Zd ZdZdZdZeZeZ	e
ZddddœiZdZˆ fd	„Zdd
„Zd„ Zd„ Zˆ xZS )ÚTextToSpeechToolzmicrosoft/speecht5_ttszfThis is a tool that reads an English text out loud. It returns a waveform object containing the sound.Útext_to_speechÚtextÚstringz&The text to read out loud (in English))ÚtypeÚdescriptionÚaudioc                 óH   •— | j                   €d| _         t        ‰| �	  «        y )Nzmicrosoft/speecht5_hifigan)Úpost_processorÚsuperÚsetup)ÚselfÚ	__class__s    €ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/transformers/agents/text_to_speech.pyr   zTextToSpeechTool.setup*   s    ø€ Ø×ÑÐ&Ø">ˆDÔÜ‰‰�ó    c                 óØ   — | j                  |dd¬«      }|€Mt        «       st        d«      ‚t        ddd¬«      }t	        j
                  |d   d	   «      j                  d
«      }|d   |dœS )NÚptT)r   Úreturn_tensorsÚ
truncationzADatasets needs to be installed if not passing speaker embeddings.zMatthijs/cmu-arctic-xvectorsÚ
validation)ÚsplitÚtrust_remote_codei‰  Úxvectorr   Ú	input_ids)r#   Úspeaker_embeddings)Úpre_processorr   ÚImportErrorr
   ÚtorchÚtensorÚ	unsqueeze)r   r   r$   ÚinputsÚembeddings_datasets        r   ÚencodezTextToSpeechTool.encode/   s}   € Ø×#Ñ#¨¸dÈtÐ#ÓTˆàÐ%Ü(Ô*Ü!Ð"eÓfÐfä!-Ø.°lÐVZô"Ðô "'§¡Ð.@ÀÑ.FÀyÑ.QÓ!R×!\Ñ!\Ð]^Ó!_Ðà# KÑ0ÐHZÑ[Ð[r   c                 óŽ   — t        j                  «       5   | j                  j                  di |¤Žcd d d «       S # 1 sw Y   y xY w)N© )r'   Úno_gradÚmodelÚgenerate_speech)r   r*   s     r   ÚforwardzTextToSpeechTool.forward=   s7   € Ü�]‰]‹_ñ 	8Ø-�4—:‘:×-Ñ-Ñ7°Ñ7÷	8÷ 	8ò 	8ús	   •;»Ac                 ó°   — t        j                  «       5  | j                  |«      j                  «       j	                  «       cd d d «       S # 1 sw Y   y xY w©N)r'   r/   r   ÚdetachÚcpu)r   Úoutputss     r   ÚdecodezTextToSpeechTool.decodeA   s@   € Ü�]‰]‹_ñ 	?Ø×&Ñ& wÓ/×6Ñ6Ó8×<Ñ<Ó>÷	?÷ 	?ò 	?ús   •-AÁAr4   )Ú__name__Ú
__module__Ú__qualname__Údefault_checkpointr   Únamer   Úpre_processor_classr   Úmodel_classr   Úpost_processor_classr*   Úoutput_typer   r,   r2   r8   Ú__classcell__)r   s   @r   r   r      sS   ø„ Ø1Ðàpð ð €DØ+ÐØ)€KØ*Ðà˜xÐ8`ÑaÐb€FØ€Kôó
\ò8ö?r   r   )r'   Úmodels.speecht5r   r   r   Úutilsr   Útoolsr	   Údatasetsr
   r   r.   r   r   ú<module>rG      s-   ðó$ ç YÑ YÝ )Ý ñ ÔÝ%ô&?�|õ &?r   