



"""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     lowerCAmelCase__						(	_lowerCamelCase ):


	'''simple docstring'''







	_SCREAMING_SNAKE_CASE	:		str  						= '''openai/whisper-base'''
	_SCREAMING_SNAKE_CASE	:		Tuple  						= (
	    '''This is a tool that transcribes an audio into text. It takes an input named `audio` and returns the '''
	    '''transcribed text.'''
	)
	_SCREAMING_SNAKE_CASE	:		int  						= '''transcriber'''
	_SCREAMING_SNAKE_CASE	:		int  						= WhisperProcessor
	_SCREAMING_SNAKE_CASE	:		str  						= WhisperForConditionalGeneration

	_SCREAMING_SNAKE_CASE	:		Union[str, Any]  						= ['''audio''']
	_SCREAMING_SNAKE_CASE	:		Optional[int]  						= ['''text''']





	def 			_lowerCAmelCase     (      self				:       Tuple     ,       _SCREAMING_SNAKE_CASE				:       Any    )						->	List[Any]:





					"""simple docstring"""


					return self.pre_processor(_SCREAMING_SNAKE_CASE     ,       return_tensors='pt'    ).input_features





	def 			_lowerCAmelCase     (      self				:       Dict     ,       _SCREAMING_SNAKE_CASE				:       List[Any]    )						->	str:





					"""simple docstring"""


					return self.model.generate(inputs=_SCREAMING_SNAKE_CASE    )







	def 			_lowerCAmelCase     (      self				:       Dict     ,       _SCREAMING_SNAKE_CASE				:       str    )						->	Dict:





					"""simple docstring"""


					return self.pre_processor.batch_decode(_SCREAMING_SNAKE_CASE     ,       skip_special_tokens=_SCREAMING_SNAKE_CASE    )[0]










"""simple docstring"""

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_torch_available,
)


A_						:    str				=      {'configuration_unispeech': ['UNISPEECH_PRETRAINED_CONFIG_ARCHIVE_MAP', 'UniSpeechConfig']}

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							A_						:    Optional[int]				=      [
							    'UNISPEECH_PRETRAINED_MODEL_ARCHIVE_LIST',
							    'UniSpeechForCTC',
							    'UniSpeechForPreTraining',
							    'UniSpeechForSequenceClassification',
							    'UniSpeechModel',
							    'UniSpeechPreTrainedModel',
							]

if TYPE_CHECKING:
							from .configuration_unispeech import UNISPEECH_PRETRAINED_CONFIG_ARCHIVE_MAP, UniSpeechConfig

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_unispeech import (
														    UNISPEECH_PRETRAINED_MODEL_ARCHIVE_LIST,
														    UniSpeechForCTC,
														    UniSpeechForPreTraining,
														    UniSpeechForSequenceClassification,
														    UniSpeechModel,
														    UniSpeechPreTrainedModel,
														)

else:
							import sys

							A_						:    int				=      _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)





