'''simple docstring'''






# Copyright 2023 The HuggingFace Inc. team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from ..models.whisper import WhisperForConditionalGeneration, WhisperProcessor
from .base import PipelineTool




class    a (       __lowerCAmelCase				):



  """simple docstring"""
  __lowerCAmelCase				      =					"""openai/whisper-base"""
  __lowerCAmelCase				      =					(
      """This is a tool that transcribes an audio into text. It takes an input named `audio` and returns the """
      """transcribed text."""
  )
  __lowerCAmelCase				      =					"""transcriber"""
  __lowerCAmelCase				      =					WhisperProcessor
  __lowerCAmelCase				      =					WhisperForConditionalGeneration

  __lowerCAmelCase				      =					["""audio"""]
  __lowerCAmelCase				      =					["""text"""]







  def    lowercase_  (							self   ,    snake_case_					):

    '''simple docstring'''







    return self.pre_processor(snake_case_   ,    return_tensors="""pt"""					).input_features







  def    lowercase_  (							self   ,    snake_case_					):

    '''simple docstring'''







    return self.model.generate(inputs=snake_case_					)







  def    lowercase_  (							self   ,    snake_case_					):

    '''simple docstring'''







    return self.pre_processor.batch_decode(snake_case_   ,    skip_special_tokens=snake_case_					)[0]
'''simple docstring'''






def  UpperCamelCase__					(					_lowercase    :				int     )							->	int:

  if not isinstance(_lowercase   ,    _lowercase     ):
    __UpperCAmelCase:					List[str]		= F'''Input value of [number={number}] must be an integer'''
    raise TypeError(_lowercase     )

  if number < 1:
    __UpperCAmelCase:					Dict		= F'''Input value of [number={number}] must be > 0'''
    raise ValueError(_lowercase     )

  __UpperCAmelCase:					int		= 1

  for i in range(1   ,    _lowercase     ):
    current_number *= 4 * i - 2
    current_number //= i + 1

  return current_number


if __name__ == "__main__":
    import doctest

    doctest.testmod()