
    V-h	                     <    S SK r S SKrS SKrS SKJr   " S S5      rg)    N)gTTSc                   ,    \ rS rSrSrSS jrSS jrSrg)	TextToSpeech   u0   Clase para manejar la conversión de texto a vozNc                    Xl         U=(       db    [        R                  R                  [        R                  R	                  [        R                  R                  [        5      5      SSSSS5      U l        [        R                  " U R                  SS9  S[        R                  ;   U l
        U R                  (       d  [        R                  " 5       U l        U R                  R                  SS	5        U R                  R                  S
5      nU Hg  nSUR                   R#                  5       ;   d   SUR                   R#                  5       ;   d  MA  U R                  R                  SUR$                  5          g    g g )Nz..frontendassetsaudioT)exist_okRENDERrate   voicesspanishu   españolvoice)default_languageospathjoindirnameabspath__file__	audio_dirmakedirsenvironuse_gttspyttsx3initenginesetPropertygetPropertynamelowerid)selfr   r   r   r   s        @D:\NESTOR\Documents\Tesis\auris\backend\models\text_to_speech.py__init__TextToSpeech.__init__	   s    0"  Jbggll277??277??S[C\3]_ceikuw  BI  'J
DNNT2 !BJJ.}}!,,.DKKK##FC0[[,,X6F

 0 0 22jEJJDTDTDV6VKK++GUXX>       c                    [         R                  " 5        S3n[        R                  R	                  U R
                  U5      n U R                  (       a)  [        XR                  US:  S9nUR                  U5        O[        U R                  R                  S5      U-  5      nU R                  R                  SU5        US:w  ax  U R                  R                  S5      nU HW  n	UR                  5       U	R                  R                  5       ;   d  M1  U R                  R                  SU	R                   5          O   U R                  R#                  X5        U R                  R%                  5         [        R                  R	                  SS	[        R                  R'                  U5      5      $ ! [(         aM  n
[        R                  R+                  U5      (       a  [        R,                  " U5        [)        S
U
 35      eSn
A
ff = f)z5
Sintetiza texto a voz y devuelve la ruta al archivo
z.mp3      ?)textlangslowr   defaultr   r   r	   r
   z!Error al sintetizar texto a voz: N)uuiduuid4r   r   r   r   r   r   r   saveintr   r!   r    r#   r"   r$   save_to_file
runAndWaitbasename	Exceptionexistsremove)r%   r,   
voice_typespeedfilenameoutput_pathttsr   r   r   es              r&   
synthesizeTextToSpeech.synthesize   s    jjl^4(ggll4>>8<	E}}+@+@PSU% 4;;226:UBC''5 *![[44X>F!'%++-1A1A1CC KK33GUXXF! "( ((;&&(77<<'2773C3CH3MNN 	Eww~~k**		+&?sCDD	Es!   CF2 BF2 2
H	<AHH	)r   r   r   r   )esN)r/   r+   )__name__
__module____qualname____firstlineno____doc__r'   r@   __static_attributes__ r)   r&   r   r      s    :$"Er)   r   )r   r0   r   gttsr   r   rI   r)   r&   <module>rK      s    	   7E 7Er)   