

from ...utils import is_note_seq_available, is_transformers_available, is_torch_available
from ...utils import OptionalDependencyNotAvailable


try:
 if not (is_transformers_available() and is_torch_available()):
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 from ...utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
 from .notes_encoder import SpectrogramNotesEncoder
 from .continous_encoder import SpectrogramContEncoder
 from .pipeline_spectrogram_diffusion import (
     SpectrogramContEncoder,
     SpectrogramDiffusionPipeline,
     TaFilmDecoder,
 )

try:
 if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 from ...utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
else:
 from .midi_utils import MidiProcessor



from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available


SCREAMING_SNAKE_CASE		:List[Any]						=     {"""tokenization_herbert""": ["""HerbertTokenizer"""]}

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE		:Union[str, Any]						=     ["""HerbertTokenizerFast"""]


if TYPE_CHECKING:
 from .tokenization_herbert import HerbertTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_herbert_fast import HerbertTokenizerFast

else:
 import sys

 SCREAMING_SNAKE_CASE		:List[str]						=     _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)
