babysor/MockingBird · critical · Exception
No synthesizer models found in %s
Error message
No synthesizer models found in %s
What it means
Raised by the Toolbox UI when the synthesizer models directory yields zero *.pt files from a recursive glob. Occurs in non-VC mode during reset_ui/populate_models and aborts toolbox startup.
Source
Thrown at control/toolbox/ui.py:362
self.repopulate_box(self.encoder_box, [(f.stem, f) for f in encoder_fpaths])
if vc_mode:
# Extractor
extractor_fpaths = list(extractor_models_dir.glob("*.pt"))
if len(extractor_fpaths) == 0:
self.log("No extractor models found in %s" % extractor_fpaths)
self.repopulate_box(self.extractor_box, [(f.stem, f) for f in extractor_fpaths])
# Convertor
convertor_fpaths = list(convertor_models_dir.glob("*.pth"))
if len(convertor_fpaths) == 0:
self.log("No convertor models found in %s" % convertor_fpaths)
self.repopulate_box(self.convertor_box, [(f.stem, f) for f in convertor_fpaths])
else:
# Synthesizer
synthesizer_fpaths = list(synthesizer_models_dir.glob("**/*.pt"))
if len(synthesizer_fpaths) == 0:
raise Exception("No synthesizer models found in %s" % synthesizer_models_dir)
self.repopulate_box(self.synthesizer_box, [(f.stem, f) for f in synthesizer_fpaths])
# Vocoder
vocoder_fpaths = list(vocoder_models_dir.glob("**/*.pt"))
vocoder_items = [(f.stem, f) for f in vocoder_fpaths] + [("Griffin-Lim", None)]
self.repopulate_box(self.vocoder_box, vocoder_items)
@property
def selected_utterance(self):
return self.utterance_history.itemData(self.utterance_history.currentIndex())
def register_utterance(self, utterance: Utterance, vc_mode):
self.utterance_history.blockSignals(True)
self.utterance_history.insertItem(0, utterance.name, utterance)
self.utterance_history.setCurrentIndex(0)
self.utterance_history.blockSignals(False)
if len(self.utterance_history) > self.max_saved_utterances:View on GitHub (pinned to 28dc5e14f1)
Solutions
- Place a synthesizer .pt checkpoint under the synthesizer models directory (subdirectories are searched)
- If your checkpoint has another extension, rename/copy it to .pt or re-save it properly
- Point the Toolbox at the correct models root containing populated model folders
Example fix
# before: synthesizer dir empty cp runs/apr/synthesizer/synthesizer.pt encoder/saved_models/synthesizer/ # after: toolbox starts, synthesizer dropdown populated
Defensive patterns
Strategy: validation
Validate before calling
syn_fpaths = list(synthesizer_models_dir.glob('**/*.pt'))
if not syn_fpaths:
raise SystemExit(f'No synthesizer .pt under {synthesizer_models_dir}') Try / catch
try:
ui.populate_models(...)
except Exception as e:
log_error(e); prompt_user_for_models_dir() Prevention
- Ensure a synthesizer .pt exists (recursively) before toolbox startup
- Match checkpoint extension (.pt) when saving/copying models
- Validate the configured models root at launch
When it happens
Trigger: Starting the Toolbox in normal mode where the synthesizer models directory is empty or contains no .pt checkpoints anywhere beneath it.
Common situations: Synthesizer checkpoint saved as .ckpt or with different naming; empty saved_models folder after a failed training; wrong models root selected.
Related errors
- No encoder models found in %s
- 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 {EXT_MODELS_DIRT} doesn't exist.
AI-assisted analysis of babysor/MockingBird@28dc5e14f1 (2026-08-27).
Data as JSON: /api/errors/1d8dccf2eb7b0ec6.
Report an issue: GitHub.