class_docstr: Constructs a Whisper processor which wraps a Whisper feature extractor and a Whisper tokenizer into a single
  processor.
  
  [`WhisperProcessor`] offers all the functionalities of [`WhisperFeatureExtractor`] and [`WhisperTokenizer`]. See
  the [`~WhisperProcessor.__call__`] and [`~WhisperProcessor.decode`] for more information.
  
  Args:
      feature_extractor (`WhisperFeatureExtractor`):
          An instance of [`WhisperFeatureExtractor`]. The feature extractor is a required input.
      tokenizer (`WhisperTokenizer`):
          An instance of [`WhisperTokenizer`]. The tokenizer is a required input.
docstr: Forwards the `audio` argument to WhisperFeatureExtractor's [`~WhisperFeatureExtractor.__call__`] and the `text`
  argument to [`~WhisperTokenizer.__call__`]. Please refer to the doctsring of the above two methods for more
  information.
code: def __call__(self, *args, **kwargs):
      """
      Forwards the `audio` argument to WhisperFeatureExtractor's [`~WhisperFeatureExtractor.__call__`] and the `text`
      argument to [`~WhisperTokenizer.__call__`]. Please refer to the doctsring of the above two methods for more
      information.
      """
      # For backward compatibility
      if self._in_target_context_manager:
          return self.current_processor(*args, **kwargs)
  
      audio = kwargs.pop("audio", None)
      sampling_rate = kwargs.pop("sampling_rate", None)
      text = kwargs.pop("text", None)
      if len(args) > 0:
          audio = args[0]
          args = args[1:]
  
      if audio is None and text is None:
          raise ValueError(
              "You need to specify either an `audio` or `text` input to process."
          )
  
      if audio is not None:
          inputs = self.feature_extractor(
              audio, *args, sampling_rate=sampling_rate, **kwargs
          )
      if text is not None:
          encodings = self.tokenizer(text, **kwargs)
  
      if text is None:
          return inputs
  
      elif audio is None:
          return encodings
      else:
          inputs["labels"] = encodings["input_ids"]
          return inputs
  
file_path: transformers/src/transformers/models/whisper/processing_whisper.py
imports: from ...processing_utils import ProcessorMixin
label_desc: Use image node_id 3 for calling the WhisperProcessor obj's underlying member method code with example usage: obj.__call__() and returns: self, inputs, encodings, inputs