
    i$                        d dl mZ d dlZd dlmZmZmZmZ d dlm	Z	 d dl
mZ erd dlZ ed      Z G d deee         Z G d	 d
eee         Z G d d      Zy)    )annotationsN)TYPE_CHECKINGGenericProtocolTypeVar)	AudioData)	TypedDictSegmentTc                  ,    e Zd ZU ded<   ded<   ded<   y)TranscribeOutputBasestrtextzlist[SegmentT]segmentslanguageN)__name__
__module____qualname____annotations__     o/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/speech_recognition/recognizers/whisper_local/base.pyr   r      s    
IMr   r   c                      e Zd Z	 	 	 	 ddZy)Transcribablec                     y Nr   )selfaudio_arraykwargss      r   
transcribezTranscribable.transcribe   s     	r   N)r   z
np.ndarrayreturnzTranscribeOutputBase[SegmentT])r   r   r   r   r   r   r   r   r      s    %	'r   r   c                  *    e Zd ZddZ	 d	 	 	 	 	 ddZy)WhisperCompatibleRecognizerc                    || _         y r   )model)r   r$   s     r   __init__z$WhisperCompatibleRecognizer.__init__   s	    
r   c                @   t        |t              st        d      dd l}dd l}|j                  d      }t        j                  |      }|j                  |      \  }}	|j                  |j                        } | j                  j                  |fi |}
|r|
S |
d   S )Nz0``audio_data`` must be an ``AudioData`` instancer   i>  )convert_rater   )
isinstancer   
ValueErrornumpy	soundfileget_wav_dataioBytesIOreadastypefloat32r$   r   )r   
audio_data	show_dictr   npsf	wav_bytes
wav_streamr   sampling_rateresults              r   	recognizez%WhisperCompatibleRecognizer.recognize    s     *i0B  	 +++?	ZZ	*
%'WWZ%8"]!((41F1F1F{1]V\1]M&>!r   N)r$   r   r    None)F)r2   r   r3   boolr    z$str | TranscribeOutputBase[SegmentT])r   r   r   r%   r:   r   r   r   r"   r"      s)     8="#"04"	-"r   r"   )
__future__r   r-   typingr   r   r   r   speech_recognition.audior   typing_extensionsr	   r*   r4   r
   r   r   r"   r   r   r   <module>rA      sW    " 	 < < . ':9gh&7 Hgh/ " "r   