

from abc import ABC, abstractmethod
from typing import Optional, Union

from .. import Dataset, DatasetDict, Features, IterableDataset, IterableDatasetDict, NamedSplit
from ..utils.typing import NestedDataStructureLike, PathLike





class  __lowerCAmelCase     (					SCREAMING_SNAKE_CASE							):




  def __init__(				self							,   lowerCAmelCase = None							,   lowerCAmelCase = None							,   lowerCAmelCase = None							,   lowerCAmelCase = None							,   lowerCAmelCase = False							,   lowerCAmelCase = False							,   lowerCAmelCase = None							,   **lowerCAmelCase							,   )  -> int:
        '''simple docstring'''






        _lowercase	       =path_or_paths
        _lowercase	       =split if split or isinstance(lowerCAmelCase							,   lowerCAmelCase					) else 'train'
        _lowercase	       =features
        _lowercase	       =cache_dir
        _lowercase	       =keep_in_memory
        _lowercase	       =streaming
        _lowercase	       =num_proc
        _lowercase	       =kwargs




  @abstractmethod
  def   A__     (				self					)  -> Union[Dataset, DatasetDict, IterableDataset, IterableDatasetDict]:
        '''simple docstring'''






        pass





class  __lowerCAmelCase     (					SCREAMING_SNAKE_CASE							):




  def __init__(				self							,   lowerCAmelCase = None							,   lowerCAmelCase = None							,   lowerCAmelCase = False							,   lowerCAmelCase = False							,   lowerCAmelCase = None							,   **lowerCAmelCase							,   )  -> Tuple:
        '''simple docstring'''






        _lowercase	       =features
        _lowercase	       =cache_dir
        _lowercase	       =keep_in_memory
        _lowercase	       =streaming
        _lowercase	       =num_proc
        _lowercase	       =kwargs




  @abstractmethod
  def   A__     (				self					)  -> Union[Dataset, IterableDataset]:
        '''simple docstring'''






        pass







'''simple docstring'''





from typing import List

import datasets
from datasets.tasks import AudioClassification

from ..folder_based_builder import folder_based_builder


lowercase_		       =  datasets.utils.logging.get_logger(__name__)






class __A			(  folder_based_builder.FolderBasedBuilderConfig						):



 '''simple docstring'''







 __lowerCamelCase    :       bool          =       None
 __lowerCamelCase    :       bool          =       None






class __A			(  folder_based_builder.FolderBasedBuilder						):



 '''simple docstring'''







 __lowerCamelCase    :       int          =       datasets.Audio()
 __lowerCamelCase    :       str          =       'audio'
 __lowerCamelCase    :       Optional[Any]          =       AudioFolderConfig
 __lowerCamelCase    :       List[str]  # definition at the bottom of the script
 __lowerCamelCase    :       Union[str, Any]          =       AudioClassification(audio_column='audio'   ,   label_column='label'						)





lowercase_		       =  [
    ".aiff",
    ".au",
    ".avr",
    ".caf",
    ".flac",
    ".htk",
    ".svx",
    ".mat4",
    ".mat5",
    ".mpc2k",
    ".ogg",
    ".paf",
    ".pvf",
    ".raw",
    ".rf64",
    ".sd2",
    ".sds",
    ".ircam",
    ".voc",
    ".w64",
    ".wav",
    ".nist",
    ".wavex",
    ".wve",
    ".xi",
    ".mp3",
    ".opus",
]
lowercase_		       =  AUDIO_EXTENSIONS



