
    g                     2    d Z ddlmZ  G d de          ZdS )z
Processor class for CLVP
   )ProcessorMixinc                   D     e Zd ZdZdZdZg dZ fdZd Zd Z	d Z
 xZS )	ClvpProcessoras  
    Constructs a CLVP processor which wraps a CLVP Feature Extractor and a CLVP Tokenizer into a single processor.

    [`ClvpProcessor`] offers all the functionalities of [`ClvpFeatureExtractor`] and [`ClvpTokenizer`]. See the
    [`~ClvpProcessor.__call__`], [`~ClvpProcessor.decode`] and [`~ClvpProcessor.batch_decode`] for more information.

    Args:
        feature_extractor (`ClvpFeatureExtractor`):
            An instance of [`ClvpFeatureExtractor`]. The feature extractor is a required input.
        tokenizer (`ClvpTokenizer`):
            An instance of [`ClvpTokenizer`]. The tokenizer is a required input.
    ClvpFeatureExtractorClvpTokenizer)	input_idsinput_featuresattention_maskc                 L    t                                          ||           d S )N)super__init__)selffeature_extractor	tokenizer	__class__s      d/var/www/html/ai-engine/env/lib/python3.11/site-packages/transformers/models/clvp/processing_clvp.pyr   zClvpProcessor.__init__-   s$    *I66666    c                 0   |                     dd          }|                     dd          }|                     dd          }||t          d          | | j        |fd|i|}| | j        |fi |}||S ||S |d         |d<   |d         |d<   |S )z
        Forwards the `audio` and `sampling_rate` arguments to [`~ClvpFeatureExtractor.__call__`] and the `text`
        argument to [`~ClvpTokenizer.__call__`]. Please refer to the doctsring of the above two methods for more
        information.
        
raw_speechNsampling_ratetextzFYou need to specify either an `raw_speech` or `text` input to process.r   r
   )pop
ValueErrorr   r   )r   argskwargsr   r   r   inputs	encodingss           r   __call__zClvpProcessor.__call__0   s     ZZd33


?D99zz&$''$,efff!+T+J^^m^W]^^F&t66v66I<M"+K"8F;'01A'BF#$Mr   c                 &     | j         j        |i |S )z
        This method forwards all its arguments to ClvpTokenizer's [`~PreTrainedTokenizer.batch_decode`]. Please
        refer to the docstring of this method for more information.
        )r   batch_decoder   r   r   s      r   r    zClvpProcessor.batch_decodeM   s    
 +t~*D;F;;;r   c                 &     | j         j        |i |S )z
        This method forwards all its arguments to ClvpTokenizer's [`~PreTrainedTokenizer.decode`]. Please refer to
        the docstring of this method for more information.
        )r   decoder!   s      r   r#   zClvpProcessor.decodeU   s    
 %t~$d5f555r   )__name__
__module____qualname____doc__feature_extractor_classtokenizer_classmodel_input_namesr   r   r    r#   __classcell__)r   s   @r   r   r      s          5%O  7 7 7 7 7  :< < <6 6 6 6 6 6 6r   r   N)r'   processing_utilsr   r    r   r   <module>r.      sa      / . . . . .C6 C6 C6 C6 C6N C6 C6 C6 C6 C6r   