def METHOD_NAME(self, model_path: str, device: torch.device):
    self.device = device
    # load ddsp model
    if self.model is None or self.model_path != model_path:
        self.model, self.args = load_model(model_path, device=self.device)
        self.model_path = model_path
        print("ARGS:", self.args)
        # load units encoder
        if self.units_encoder is None or self.args.data.encoder != self.encoder_type or self.args.data.encoder_ckpt != self.encoder_ckpt:
            if self.args.data.encoder == "cnhubertsoftfish":
                cnhubertsoft_gate = self.args.data.cnhubertsoft_gate
            else:
                cnhubertsoft_gate = 10
            if self.args.data.encoder == "hubertsoft":
                encoderPath = self.params.hubert_soft
            elif self.args.data.encoder == "hubertbase":
                encoderPath = self.params.hubert_base
            elif self.args.data.encoder == "hubertbase768":
                encoderPath = self.params.hubert_base
            elif self.args.data.encoder == "hubertbase768l12":
                encoderPath = self.params.hubert_base
            elif self.args.data.encoder == "hubertlarge1024l24":
                encoderPath = self.params.hubert_base
            elif self.args.data.encoder == "contentvec":
                encoderPath = self.params.hubert_base
            elif self.args.data.encoder == "contentvec768":
                encoderPath = self.params.hubert_base
            elif self.args.data.encoder == "contentvec768l12":
                encoderPath = self.params.hubert_base
            self.units_encoder = Units_Encoder(
                self.args.data.encoder,
                encoderPath,
                self.args.data.encoder_sample_rate,
                self.args.data.encoder_hop_size,
                cnhubertsoft_gate=cnhubertsoft_gate,
                device=self.device,
            )
            self.encoder_type = self.args.data.encoder
            self.encoder_ckpt = encoderPath
    # load enhancer
    if self.enhancer is None or self.args.enhancer.type != self.enhancer_type or self.args.enhancer.ckpt != self.enhancer_ckpt:
        enhancerPath = self.params.nsf_hifigan
        self.enhancer = Enhancer(self.args.enhancer.type, enhancerPath, device=self.device)
        self.enhancer_type = self.args.enhancer.type
        self.enhancer_ckpt = enhancerPath