babysor/MockingBird · critical · Exception
Model folder {ENC_MODELS_DIRT} doesn't exist.
Error message
Model folder {ENC_MODELS_DIRT} doesn't exist. What it means
Import-time guard in mkgui/train_vc.py for the encoder models directory (ENC_MODELS_DIRT); the VC training page lists encoder .pt checkpoints at import time and raises if the folder is missing.
Source
Thrown at control/mkgui/train_vc.py:33
if os.path.isdir(EXT_MODELS_DIRT):
extractors = Enum('extractors', list((file.name, file) for file in Path(EXT_MODELS_DIRT).glob("**/*.pt")))
print("Loaded extractor models: " + str(len(extractors)))
else:
raise Exception(f"Model folder {EXT_MODELS_DIRT} doesn't exist.")
if os.path.isdir(CONV_MODELS_DIRT):
convertors = Enum('convertors', list((file.name, file) for file in Path(CONV_MODELS_DIRT).glob("**/*.pth")))
print("Loaded convertor models: " + str(len(convertors)))
else:
raise Exception(f"Model folder {CONV_MODELS_DIRT} doesn't exist.")
if os.path.isdir(ENC_MODELS_DIRT):
encoders = Enum('encoders', list((file.name, file) for file in Path(ENC_MODELS_DIRT).glob("**/*.pt")))
print("Loaded encoders models: " + str(len(encoders)))
else:
raise Exception(f"Model folder {ENC_MODELS_DIRT} doesn't exist.")
class Model(str, Enum):
VC_PPG2MEL = "ppg2mel"
class Dataset(str, Enum):
AIDATATANG_200ZH = "aidatatang_200zh"
AIDATATANG_200ZH_S = "aidatatang_200zh_s"
class Input(BaseModel):
# def render_input_ui(st, input) -> Dict:
# input["selected_dataset"] = st.selectbox(
# '选择数据集',
# ("aidatatang_200zh", "aidatatang_200zh_s")
# )
# return input
model: Model = Field(
Model.VC_PPG2MEL, title="模型类型",
)View on GitHub (pinned to 28dc5e14f1)
Solutions
- Create the encoder models directory and place the encoder .pt checkpoint in it
- Download pretrained encoder weights to the expected location
- Check ENC_MODELS_DIRT configuration
Example fix
# before: encoder/saved_models missing mkdir -p encoder/saved_models && cp encoder.pt encoder/saved_models/ # after: 'Loaded encoders models: 1', VC training page loads
Defensive patterns
Strategy: validation
Validate before calling
enc_dir = Path(ENC_MODELS_DIRT)
if not enc_dir.is_dir() or not list(enc_dir.glob('*.pt')):
raise SystemExit(f'Encoder models missing in {enc_dir}') Prevention
- Preflight-check encoder model dir before VC training UI
- Download pretrained encoder in setup
- Fail fast with expected path in message
When it happens
Trigger: Loading the VC training page with no encoder models directory.
Common situations: Pretrained encoder not installed; models directory moved; fresh setup.
Related errors
- Model folder {EXT_MODELS_DIRT} doesn't exist.
- Model folder {CONV_MODELS_DIRT} doesn't exist.
- Model folder {EXT_MODELS_DIRT} doesn't exist.
- Model folder {CONV_MODELS_DIRT} doesn't exist.
- Model folder {SYN_MODELS_DIRT} doesn't exist.
AI-assisted analysis of babysor/MockingBird@28dc5e14f1 (2026-08-27).
Data as JSON: /api/errors/a8fda94666f26a1d.
Report an issue: GitHub.