§
    —,hà
  ã                   ó8   — d dl Zd dlZd dlZ G d„ d¦  «        ZdS )é    Nc                   ó.   — e Zd ZdZdd„Zd	d„Zd„ Zd„ ZdS )
ÚSpeechRecognizerz<Clase para manejar el reconocimiento de voz de audio a textoúes-ESc                 óD   — t          j        ¦   «         | _        || _        dS )uŽ   
        Inicializa el reconocedor de voz
        
        Args:
            language (str): CÃ³digo de idioma para el reconocimiento
        N)ÚsrÚ
RecognizerÚ
recognizerÚlanguage©Úselfr
   s     úTD:\NESTOR\Documents\Tesis\Asistente inteligente\backend\models\speech_recognition.pyÚ__init__zSpeechRecognizer.__init__   s   € õ œ-™/œ/ˆŒØ ˆŒˆˆó    Nc                 ó6  — |€| j         }d}t          |d¦  «        r8t          j        dd¬¦  «        }|                     |j        ¦  «         |j        }n|}	 t          j        |¦  «        5 }| j         	                    |¦  «        }| j         
                    ||¬¦  «        }|cddd¦  «         |r.|                     ¦   «          t          j        |j        ¦  «         S S # 1 swxY w Y   nF# t          j        $ r t          d¦  «        ‚t          j        $ r}t          d|› ¦  «        ‚d}~ww xY w	 |r/|                     ¦   «          t          j        |j        ¦  «         dS dS # |r.|                     ¦   «          t          j        |j        ¦  «         w w xY w)	u~  
        Reconoce el texto de un archivo de audio
        
        Args:
            audio_file: Archivo de audio a procesar
            language (str, optional): Idioma especÃ­fico para este reconocimiento
        
        Returns:
            str: Texto reconocido del audio
            
        Raises:
            Exception: Si ocurre un error durante el reconocimiento
        NÚreadFz.wav)ÚdeleteÚsuffix©r
   zNo se pudo entender el audioz5Error en la solicitud al servicio de reconocimiento: )r
   ÚhasattrÚtempfileÚNamedTemporaryFileÚsaveÚnamer   Ú	AudioFiler	   ÚrecordÚrecognize_googleÚcloseÚosÚunlinkÚUnknownValueErrorÚ	ExceptionÚRequestError)	r   Ú
audio_filer
   Ú	temp_fileÚ
audio_pathÚsourceÚ
audio_dataÚtextÚes	            r   Ú	recognizezSpeechRecognizer.recognize   s  € ð ÐØ”}ˆHð ˆ	Ý:˜vÑ&Ô&ð 	$Ý Ô3¸5ÈÐPÑPÔPˆIØOŠO˜IœNÑ+Ô+Ð+Ø"œˆJˆJà#ˆJð	*Ý”˜jÑ)Ô)ð ¨VØ!œ_×3Ò3°FÑ;Ô;
Ø”×7Ò7¸
ÈXÐ7ÑVÔVØðð ð ð ñ ô ð ð ð *Ø—’Ñ!Ô!Ð!Ý”	˜)œ.Ñ)Ô)Ð)Ð)ð*ðð ð ð øøøð ð ð ð ð øõ Ô#ð 	<ð 	<ð 	<ÝÐ:Ñ;Ô;Ð;ÝŒð 	Yð 	Yð 	YÝÐWÐTUÐWÐWÑXÔXÐXøøøøð	Yøøøðð ð *Ø—’Ñ!Ô!Ð!Ý”	˜)œ.Ñ)Ô)Ð)Ð)Ð)ð*ð *øˆyð *Ø—’Ñ!Ô!Ð!Ý”	˜)œ.Ñ)Ô)Ð)Ð)ð*øøøsN   ÁC, Á+8C Â#C, Ã C$Ã$C, Ã'C$Ã(C, Ã+E& Ã,,D/ÄD*Ä*D/Ä/E& Å&2Fc                 ó   — || _         dS )u   
        Cambiar el idioma del reconocedor
        
        Args:
            language (str): CÃ³digo de idioma para el reconocimiento
        Nr   r   s     r   Úset_languagezSpeechRecognizer.set_language;   s   € ð !ˆŒˆˆr   c                 óº   — 	 t          j        |¦  «        5 }| j                             |¦  «         	 ddd¦  «         dS # 1 swxY w Y   dS # t          $ r Y dS w xY w)uá   
        Ajusta el reconocedor para ambientes ruidosos
        
        Args:
            audio_file: Archivo de audio para calibrar
            
        Returns:
            bool: True si la calibraciÃ³n fue exitosa
        NTF)r   r   r	   Úadjust_for_ambient_noiser!   )r   r#   r&   s      r   Úadjust_for_noisez!SpeechRecognizer.adjust_for_noiseD   sµ   € ð	Ý”˜jÑ)Ô)ð ¨VØ”×8Ò8¸Ñ@Ô@Ð@Øðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð øõ ð 	ð 	ð 	Ø55ð	øøøs1   ‚A –?²A ¿AÁA ÁAÁA Á
AÁA)r   )N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r*   r,   r/   © r   r   r   r      sa   € € € € € ØFÐFð!ð !ð !ð !ð'*ð '*ð '*ð '*ðR!ð !ð !ðð ð ð ð r   r   )Úspeech_recognitionr   r   r   r   r4   r   r   ú<module>r6      s_   ðØ Ð Ð Ð Ø 	€	€	€	Ø €€€ðNð Nð Nð Nð Nñ Nô Nð Nð Nð Nr   