
    h              	           S SK JrJrJrJrJr  S SKrS SKrS SKr\" S\	5      r
SSSSSS	S
SS.rSS jr\
R                  SS/S9S 5       r\
R                  SS/S9S 5       rg)    )	BlueprintrequestjsonifyResponsecurrent_appNedge_ttses-ES-ElviraNeuralzes-ES-AlvaroNeuralzes-MX-DaliaNeuralzes-MX-JorgeNeuralzes-AR-ElenaNeuralzes-AR-TomasNeuralzes-CO-SalomeNeuralzes-CO-GonzaloNeural)elenapablomariajorgesofiatomascatalinagonzaloc                    #    [         R                  " XUS9nSnUR                  5         Sh  vN nUS   S:X  d  M  XES   -  nM   N
 U$ 7f)u1   Generar audio usando Edge TTS de forma asíncrona)rate    Ntypeaudiodata)r   Communicatestream)textvoicer   communicate
audio_datachunks         7\\192.168.236.1\auris\backend\routes\edge_tts_routes.pygenerate_speech_asyncr       sY     &&t>K J"))+ (e=G#-'J(+ s*   (AA	AA	A	AA		Az/api/edge-tts/synthesizePOST)methodsc                      [         R                  n U R                  SS5      nU R                  SS5      nU R                  SS5      nU(       d  [        SS05      S	4$ US
:  a  SnOUS:  a  SnOUS:  a  SnOUS:  a  SnOSn[        R                  US5      n [
        R                  " 5       nUR                  [        XU5      5      n[        USSSS.S9$ ! [         aH  n[        R                  R                  SU 35        [        S[        U5       3SS.5      S4s S nA$ S nAff = f! [         aG  n[        R                  R                  SU 35        [        SS[        U5       305      S4s S nA$ S nAff = f) Nr    r   r
   speedg      ?errorzTexto requeridoi  g      ?z-50%g      ?z-25%g      ?z+50%g      ?z+25%+0%r	   z
audio/mpegz"inline; filename="edge_speech.mp3"zno-cache)zContent-DispositionzCache-Control)mimetypeheaderszError en Edge TTS: zError generando audio: edge_tts_error)r&   r   i  z#Error en /api/edge-tts/synthesize: zError interno del servidor: )r   jsongetr   SPANISH_VOICESasyncioget_event_looprun_until_completer    r   	Exceptionr   loggerr&   str)	r   r   
voice_namer%   r   
edge_voiceloopr   es	            r   synthesize_edge_speechr8       s   3||xx#XXgw/
#&G%678#== 3;DT\DS[DT\DD $''
4HI
	))+D00%d=J %+O%/   	$$':1#%>?23q6(;(   	    #Fqc!JK3CF8<
  	sN   AD. <D. =C 
D+#=D& D+!D. &D++D. .
E?8<E:4E?:E?z/api/edge-tts/voicesGETc            
          / n [         R                  5        HD  u  pU R                  UUR                  5       SUS;   a  SOSUR	                  S5      S   S.5        MF     [        SU 05      $ )	z8Obtener lista de voces disponibles con nombres amigableses)r
   r   r   r   femalemale-   )idnamelanguagegenderregionvoices)r-   itemsappendtitlesplitr   )voices_inforA   	edge_names      r   get_available_voicesrL   W   sq     K)//1JJL"&*Q"QhW]ooc*1-
 	 2 Hk*++r   )r	   r'   )flaskr   r   r   r   r   r   r.   io__name__edge_tts_bpr-   r    router8   rL    r   r   <module>rS      s    D D   	
H- "!    $$	
 -x@4 A4l )E7;, <,r   