babysor/MockingBird · critical · Exception
Model folder {CONV_MODELS_DIRT} doesn't exist.
Error message
Model folder {CONV_MODELS_DIRT} doesn't exist. What it means
Startup guard in mkgui/app_vc.py for the convertor models directory (CONV_MODELS_DIRT). Unlike other model types it globs '**/*.pth' (ppg2mel convertors are saved as .pth). A missing folder raises at import time because the convertors dropdown cannot be built.
Source
Thrown at control/mkgui/app_vc.py:42
TEMP_SOURCE_AUDIO = f'wavs{os.sep}temp_source.wav'
TEMP_TARGET_AUDIO = f'wavs{os.sep}temp_target.wav'
TEMP_RESULT_AUDIO = f'wavs{os.sep}temp_result.wav'
# Load local sample audio as options TODO: load dataset
if os.path.isdir(AUDIO_SAMPLES_DIR):
audio_input_selection = Enum('samples', list((file.name, file) for file in Path(AUDIO_SAMPLES_DIR).glob("*.wav")))
# Pre-Load models
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(VOC_MODELS_DIRT):
vocoders = Enum('vocoders', list((file.name, file) for file in Path(VOC_MODELS_DIRT).glob("**/*gan*.pt")))
print("Loaded vocoders models: " + str(len(vocoders)))
else:
raise Exception(f"Model folder {VOC_MODELS_DIRT} doesn't exist.")
class Input(BaseModel):
local_audio_file: audio_input_selection = Field(
..., alias="输入语音(本地wav)",
description="选择本地语音文件."
)
upload_audio_file: FileContent = Field(default=None, alias="或上传语音",
description="拖拽或点击上传.", mime_type="audio/wav")
local_audio_file_target: audio_input_selection = Field(
..., alias="目标语音(本地wav)",
description="选择本地语音文件."
)View on GitHub (pinned to 28dc5e14f1)
Solutions
- Create the convertor models directory and copy the .pth convertor checkpoint into it
- Train the ppg2mel convertor or download the pretrained one to the expected path
- Confirm CONV_MODELS_DIRT points to the right directory and your file ends in .pth
Example fix
# before: convertor/saved_models missing mkdir -p convertor/saved_models cp ppg2mel_*.pth convertor/saved_models/ # after: 'Loaded convertor models: 1' and app starts
Defensive patterns
Strategy: validation
Validate before calling
conv_dir = Path(CONV_MODELS_DIRT)
if not conv_dir.is_dir() or not list(conv_dir.glob('**/*.pth')):
raise SystemExit(f'Convertor (.pth) models missing in {conv_dir}') Prevention
- Save convertor checkpoints as .pth to match the glob
- Verify model dirs in a startup health check
- Document expected VC models layout
When it happens
Trigger: Starting app_vc.py when the convertor models folder does not exist or has no .pth checkpoints.
Common situations: ppg2mel convertor not trained yet; checkpoints saved elsewhere; extension mismatch (.pt vs .pth).
Related errors
- Model folder {EXT_MODELS_DIRT} doesn't exist.
- Model folder {SYN_MODELS_DIRT} doesn't exist. 请将模型文件位置移动到上述位
- Model folder {ENC_MODELS_DIRT} doesn't exist.
- Model folder {VOC_MODELS_DIRT} doesn't exist.
- Model folder {VOC_MODELS_DIRT} doesn't exist.
AI-assisted analysis of babysor/MockingBird@28dc5e14f1 (2026-08-27).
Data as JSON: /api/errors/1f280790a58598f2.
Report an issue: GitHub.