{"record":{"id":"1d8dccf2eb7b0ec6","repo":"babysor/MockingBird","slug":"no-synthesizer-models-found-in-s","errorCode":null,"errorMessage":"No synthesizer models found in %s","messagePattern":"No synthesizer models found in (.+?)","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"critical","filePath":"control/toolbox/ui.py","lineNumber":362,"sourceCode":"        self.repopulate_box(self.encoder_box, [(f.stem, f) for f in encoder_fpaths])\n        \n        if vc_mode:\n            # Extractor\n            extractor_fpaths = list(extractor_models_dir.glob(\"*.pt\"))\n            if len(extractor_fpaths) == 0:\n                self.log(\"No extractor models found in %s\" % extractor_fpaths)\n            self.repopulate_box(self.extractor_box, [(f.stem, f) for f in extractor_fpaths])\n            \n            # Convertor\n            convertor_fpaths = list(convertor_models_dir.glob(\"*.pth\"))\n            if len(convertor_fpaths) == 0:\n                self.log(\"No convertor models found in %s\" % convertor_fpaths)\n            self.repopulate_box(self.convertor_box, [(f.stem, f) for f in convertor_fpaths])\n        else:\n            # Synthesizer\n            synthesizer_fpaths = list(synthesizer_models_dir.glob(\"**/*.pt\"))\n            if len(synthesizer_fpaths) == 0:\n                raise Exception(\"No synthesizer models found in %s\" % synthesizer_models_dir)\n            self.repopulate_box(self.synthesizer_box, [(f.stem, f) for f in synthesizer_fpaths])\n\n        # Vocoder\n        vocoder_fpaths = list(vocoder_models_dir.glob(\"**/*.pt\"))\n        vocoder_items = [(f.stem, f) for f in vocoder_fpaths] + [(\"Griffin-Lim\", None)]\n        self.repopulate_box(self.vocoder_box, vocoder_items)\n\n    @property\n    def selected_utterance(self):\n        return self.utterance_history.itemData(self.utterance_history.currentIndex())\n        \n    def register_utterance(self, utterance: Utterance, vc_mode):\n        self.utterance_history.blockSignals(True)\n        self.utterance_history.insertItem(0, utterance.name, utterance)\n        self.utterance_history.setCurrentIndex(0)\n        self.utterance_history.blockSignals(False)\n        \n        if len(self.utterance_history) > self.max_saved_utterances:","sourceCodeStart":344,"sourceCodeEnd":380,"githubUrl":"https://github.com/babysor/MockingBird/blob/28dc5e14f12d7c754612af2fde8e78a4b03f8616/control/toolbox/ui.py#L344-L380","documentation":"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.","triggerScenarios":"Starting the Toolbox in normal mode where the synthesizer models directory is empty or contains no .pt checkpoints anywhere beneath it.","commonSituations":"Synthesizer checkpoint saved as .ckpt or with different naming; empty saved_models folder after a failed training; wrong models root selected.","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"],"exampleFix":"# before: synthesizer dir empty\n cp runs/apr/synthesizer/synthesizer.pt encoder/saved_models/synthesizer/\n# after: toolbox starts, synthesizer dropdown populated","handlingStrategy":"validation","validationCode":"syn_fpaths = list(synthesizer_models_dir.glob('**/*.pt'))\nif not syn_fpaths:\n    raise SystemExit(f'No synthesizer .pt under {synthesizer_models_dir}')","typeGuard":null,"tryCatchPattern":"try:\n    ui.populate_models(...)\nexcept Exception as e:\n    log_error(e); prompt_user_for_models_dir()","preventionTips":["Ensure a synthesizer .pt exists (recursively) before toolbox startup","Match checkpoint extension (.pt) when saving/copying models","Validate the configured models root at launch"],"tags":["python","toolbox","models","filesystem","ui"],"backgroundTag":"missing-model-files","analyzedSha":"28dc5e14f12d7c754612af2fde8e78a4b03f8616","analyzedAt":"2026-08-27T02:26:53.589Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}