docker_images/speechbrain/app/common.py (36 lines of code) (raw):
from enum import Enum
from huggingface_hub import HfApi
class ModelType(Enum):
# audio-to-audio
SEPFORMERSEPARATION = "SEPFORMERSEPARATION"
SPECTRALMASKENHANCEMENT = "SPECTRALMASKENHANCEMENT"
WAVEFORMENHANCEMENT = "WAVEFORMENHANCEMENT"
# automatic-speech-recognition
ENCODERASR = "ENCODERASR"
ENCODERDECODERASR = "ENCODERDECODERASR"
WHISPERASR = "WHISPERASR"
# audio-clasification
ENCODERCLASSIFIER = "ENCODERCLASSIFIER"
# text-to-speech
TACOTRON2 = "TACOTRON2"
HIFIGAN = "HIFIGAN"
FASTSPEECH2 = "FASTSPEECH2"
# text2text-generation
GRAPHEMETOPHONEME = "GRAPHEMETOPHONEME"
def get_type(model_id, interface_type="speechbrain_interface"):
info = HfApi().model_info(repo_id=model_id)
if info.config:
if "speechbrain" in info.config:
if interface_type in info.config["speechbrain"]:
return ModelType(info.config["speechbrain"][interface_type].upper())
else:
raise ValueError(f"{interface_type} not in config.json")
else:
raise ValueError("speechbrain_interface not in config.json")
raise ValueError("no config.json in repository")
def get_vocoder_model_id(model_id):
info = HfApi().model_info(repo_id=model_id)
if info.config:
if "speechbrain" in info.config:
if "vocoder_model_id" in info.config["speechbrain"]:
return info.config["speechbrain"]["vocoder_model_id"]
else:
raise ValueError("vocoder_model_id not in config.json")
else:
raise ValueError("speechbrain_interface not in config.json")
raise ValueError("no config.json in repository")