--- license: cc-by-nc-4.0 library_name: pytorch tags: - music - music-structure-analysis - segmentation - source-separation datasets: - TuneyCompany/tuney-small --- # PHRASER (Tuney-Small) Weights for [PHRASER: Loop-Precise Stem-Aware Music Structure Segmentation](https://github.com/library-x/phraser_public), trained on the Tuney-Small train split (426 tracks). This is the model behind the Tuney-Small rows of Tables 1 and 2 in the paper. - File: `phraser_tuney_small.ckpt` (PyTorch dict with `state_dict`, `config`, `epoch`) - Task network: 31.07M parameters, `PhraserModel(dim_embed=128, num_heads=16)`, on frozen MuQ-large features of four SCNet stems. The `dim_embed` stored in `config` is a stale default; the network is built with 128. - Selected by validation loss (epoch 10 of 80). - SHA-256: see `SHA256SUMS`. ## Usage from phraser.modules.phraser import PhraserModel import torch model = PhraserModel(dim_embed=128, num_heads=16) sd = torch.load("phraser_tuney_small.ckpt", map_location="cpu", weights_only=False)["state_dict"] model.load_state_dict({k.replace("module.", ""): v for k, v in sd.items()}, strict=False) The end-to-end evaluation (separation, MuQ, decoding with onset snapping, scoring) is `python -m phraser.tuney_small.eval_ts phraser phraser_tuney_small.ckpt`. See the repository README. ## Limitations The model was trained on 426 instrumental, grid-built tracks. It has no vocal supervision, and the vocal output channel is untrained and must not be used. Accuracy on live or tempo-drifting music is lower. ## License [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/). Non-commercial use only. The model depends on MuQ weights, which are also licensed for non-commercial use only.