babysor/MockingBird · critical · Exception
Model folder {SYN_MODELS_DIRT} doesn't exist. 请将模型文件位置移动到上述位
Error message
Model folder {SYN_MODELS_DIRT} doesn't exist. 请将模型文件位置移动到上述位置中进行重试! What it means
Raised at import time of the mkgui app when the synthesizer models directory (SYN_MODELS_DIRT, typically encoder/saved_models/...) does not exist. The GUI pre-enumerates available .pt models to build Enum dropdowns; with no folder there is nothing to select, so it aborts startup. The Chinese message tells the user to move model files to the expected location.
Source
Thrown at control/mkgui/app.py:34
# Constants
AUDIO_SAMPLES_DIR = f"data{os.sep}samples{os.sep}"
SYN_MODELS_DIRT = f"data{os.sep}ckpt{os.sep}synthesizer"
ENC_MODELS_DIRT = f"data{os.sep}ckpt{os.sep}encoder"
VOC_MODELS_DIRT = f"data{os.sep}ckpt{os.sep}vocoder"
TEMP_SOURCE_AUDIO = f"wavs{os.sep}temp_source.wav"
TEMP_RESULT_AUDIO = f"wavs{os.sep}temp_result.wav"
if not os.path.isdir("wavs"):
os.makedirs("wavs")
# 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(SYN_MODELS_DIRT):
synthesizers = Enum('synthesizers', list((file.name, file) for file in Path(SYN_MODELS_DIRT).glob("**/*.pt")))
print("Loaded synthesizer models: " + str(len(synthesizers)))
else:
raise Exception(f"Model folder {SYN_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.")
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(synthesizers)))
else:
raise Exception(f"Model folder {VOC_MODELS_DIRT} doesn't exist.")
class Input(BaseModel):
message: str = Field(
..., example="欢迎使用工具箱, 现已支持中文输入!", alias="文本内容"
)View on GitHub (pinned to 28dc5e14f1)
Solutions
- Create the expected synthesizer models directory and place at least one .pt checkpoint in it (or a subdirectory)
- Train or download a pretrained synthesizer model so the folder is populated
- Check the SYN_MODELS_DIRT constant / config to make sure it points to the real location of your models
Example fix
# before: encoder/saved_models/synthesizer missing mkdir -p encoder/saved_models/synthesizer cp my_synthesizer.pt encoder/saved_models/synthesizer/ # after: app starts and prints 'Loaded synthesizer models: 1'
Defensive patterns
Strategy: validation
Validate before calling
from pathlib import Path
syn_dir = Path(SYN_MODELS_DIRT)
if not syn_dir.is_dir() or not list(syn_dir.glob('**/*.pt')):
raise SystemExit(f'No synthesizer models in {syn_dir}; download/place .pt checkpoints first') Prevention
- Run a preflight script that verifies every expected models directory before launching the GUI
- Keep a single configured models root and document its layout
- Ship/download pretrained checkpoints as part of deployment
When it happens
Trigger: Starting the mkgui web app before any synthesizer model has been trained or downloaded into the expected models directory; or the directory constant points to a wrong/moved path.
Common situations: First-time users who haven't downloaded pretrained models; custom HP save paths; renaming/relocating the models folder after training.
Related errors
- Model folder {ENC_MODELS_DIRT} doesn't exist.
- Model folder {VOC_MODELS_DIRT} doesn't exist.
- Model folder {EXT_MODELS_DIRT} doesn't exist.
- Model folder {CONV_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/87bdce897083bc6f.
Report an issue: GitHub.