def METHOD_NAME(self, phone, phone_lengths, pitch, nsff0, sid, max_len=None):
    g = self.emb_g(sid).unsqueeze(-1)
    x = torch.transpose(phone, 1, -1)
    x_mask = torch.unsqueeze(commons.sequence_mask(phone_lengths, x.size(2)), 1).to(phone.dtype)
    o = self.dec((x * x_mask)[:, :, :max_len], nsff0, x_mask, g)
    return o, x_mask, (None, None, None, None)