phraser / README.md
maciejtuney's picture
Upload folder using huggingface_hub
57aa97a verified
|
Raw History Blame Contribute Delete
1.76 kB
metadata
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, 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. Non-commercial use only. The model depends on MuQ weights, which are also licensed for non-commercial use only.