
    qi5                     F    d Z ddlmZ ddlmZ e G d de             ZdgZy)z$
Speech processor class for Whisper
   )ProcessorMixin)auto_docstringc                   D     e Zd Z fdZddZed        ZddefdZ xZ	S )WhisperProcessorc                 &    t         |   ||       y )N)super__init__)selffeature_extractor	tokenizer	__class__s      `/opt/pipecat/venv/lib/python3.12/site-packages/transformers/models/whisper/processing_whisper.pyr	   zWhisperProcessor.__init__   s    *I6    c                 >    | j                   j                  |||      S )N)tasklanguageno_timestamps)r   get_decoder_prompt_ids)r
   r   r   r   s       r   r   z'WhisperProcessor.get_decoder_prompt_ids   s    ~~44$an4oor   c                 >   |j                  dd       }|j                  dd       }|j                  dd       }t        |      dkD  r
|d   }|dd  }||t        d      | | j                  |g|d|i|}| | j                  |fi |}|S |S d   d<   |S )	Naudiosampling_ratetext       zAYou need to specify either an `audio` or `text` input to process.	input_idslabels)poplen
ValueErrorr   r   )r
   argskwargsr   r   r   inputs	encodingss           r   __call__zWhisperProcessor.__call__   s    

7D)

?D9zz&$'t9q=GE8D=T\`aa+T++E`D``Y_`F&t6v6I<M](5F8Mr   r   c                 <    | j                   j                  ||      S )N)return_tensors)r   get_prompt_ids)r
   r   r&   s      r   r'   zWhisperProcessor.get_prompt_ids8   s    ~~,,T.,QQr   )NNT)np)
__name__
__module____qualname__r	   r   r   r$   strr'   __classcell__)r   s   @r   r   r      s0    7p  2R3 Rr   r   N)__doc__processing_utilsr   utilsr   r   __all__ r   r   <module>r3      s;    / # "R~ "R "RJ 
r   