mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-09-10 19:46:38 +00:00
45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
import folder_paths
|
|
import comfy.audio_encoders.audio_encoders
|
|
import comfy.utils
|
|
|
|
|
|
class AudioEncoderLoader:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {"required": { "audio_encoder_name": (folder_paths.get_filename_list("audio_encoders"), ),
|
|
}}
|
|
RETURN_TYPES = ("AUDIO_ENCODER",)
|
|
FUNCTION = "load_model"
|
|
|
|
CATEGORY = "loaders"
|
|
|
|
def load_model(self, audio_encoder_name):
|
|
audio_encoder_name = folder_paths.get_full_path_or_raise("audio_encoders", audio_encoder_name)
|
|
sd = comfy.utils.load_torch_file(audio_encoder_name, safe_load=True)
|
|
audio_encoder = comfy.audio_encoders.audio_encoders.load_audio_encoder_from_sd(sd)
|
|
if audio_encoder is None:
|
|
raise RuntimeError("ERROR: audio encoder file is invalid and does not contain a valid model.")
|
|
return (audio_encoder,)
|
|
|
|
|
|
class AudioEncoderEncode:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {"required": { "audio_encoder": ("AUDIO_ENCODER",),
|
|
"audio": ("AUDIO",),
|
|
}}
|
|
RETURN_TYPES = ("AUDIO_ENCODER_OUTPUT",)
|
|
FUNCTION = "encode"
|
|
|
|
CATEGORY = "conditioning"
|
|
|
|
def encode(self, audio_encoder, audio):
|
|
output = audio_encoder.encode_audio(audio["waveform"], audio["sample_rate"])
|
|
return (output,)
|
|
|
|
|
|
NODE_CLASS_MAPPINGS = {
|
|
"AudioEncoderLoader": AudioEncoderLoader,
|
|
"AudioEncoderEncode": AudioEncoderEncode,
|
|
}
|