a
    3g                     @   s   d dl mZ d dlmZ d dlZd dlmZ d dlmZ e Z	ej
ej
edZeejd< e Zej
ej
edZej
esee e	d	deeedddZdS )    )FastAPI)texttospeechN)FileResponse)GoogleAPIErrorz
clave.jsonZGOOGLE_APPLICATION_CREDENTIALSZaudiosz
/convertires-US-Standard-A)textoid_peticionvozc              
      s&  t jtd| d}zd|  d}tj|d}tjd|tjjd}tj	tj
jd}tj|||d	}t|d
}	|	|j W d   n1 s0    Y  t|ddd| didW S  ty }
 zddt|
 iW  Y d}
~
S d}
~
0  ty  }
 zddt|
 iW  Y d}
~
S d}
~
0 0 dS )u  
    Convierte texto a audio usando Google Cloud Text-to-Speech.
    - `texto`      : El texto a convertir en audio.
    - `id_peticion`: Un ID único para nombrar el archivo.
    - `voz`        : La voz a usar (por defecto es una voz en español de México más natural).
    Zaudio_z.mp3zd
        <speak>
            <prosody rate="medium" pitch="medium" volume="medium">
                z1
            </prosody>
        </speak>
        )Zssmlzes-US)Zlanguage_codenameZssml_gender)Zaudio_encoding)inputvoiceaudio_configwbNz
audio/mpegzContent-Dispositionzattachment; filename=audio_)Z
media_typeheaderserrorzError de Google API: u   Ocurrió un error inesperado: )ospathjoin	AUDIO_DIRr   ZSynthesisInputZVoiceSelectionParamsZSsmlVoiceGenderZMALEZAudioConfigZAudioEncodingZMP3clientZsynthesize_speechopenwriteZaudio_contentr   r   str	Exception)r   r   r	   Zarchivo_audioZ
ssml_textoZsynthesis_inputr   r   responseoute r    /var/www/html/texto_audio/app.pyconvertir_texto_a_audio   s,    	*&r   )r   )Zfastapir   Zgoogle.cloudr   r   Zfastapi.responsesr   Zgoogle.api_core.exceptionsr   appr   r   dirname__file__ZKEY_PATHenvironZTextToSpeechClientr   r   existsmakedirsgetr   intr   r   r   r   r   <module>   s   

