SilentMetronome โ pretrained checkpoints
Trained checkpoints for SilentMetronome, beat-phase conditioning and auxiliary supervision for beat-aligned streaming music accompaniment generation. The code, training configs, and full documentation live in the GitHub repository; this repo only hosts the weights.
All models are trained on Slakh2100 for 200k steps on a single A100 with the recipe in the paper. Checkpoints are weights-only Lightning checkpoints (optimizer states stripped), so they load for inference, evaluation, and warm-starting (--init_from_checkpoint) but cannot resume the original optimizer trajectory. Each folder pairs step=200000.ckpt with the exact args.yml the run was launched with, which is what load_lit_model reads to rebuild the architecture.
Models
The seven models correspond to Table I of the paper (Slakh2100 test split, 1024 windows, 1 s chunks, zero / 50 token look-ahead, oracle beat grid, mean over five sampling seeds).
| Folder | Paper row | Beat-F | CoCoLa | FAD |
|---|---|---|---|---|
pref_dec_online_fv0_k50_beat |
Baseline | 0.133 | 58.56 | 5.56 |
pref_dec_online_fv0_k50_aux_only_mp_cqt_tt_future |
+ Aux only (all heads) | 0.133 | 57.93 | 5.46 |
pref_dec_online_fv0_k50_beat_phase_dit_no_phase |
+ Cond (tempo + time sig. only) | 0.141 | 57.13 | 4.80 |
pref_dec_online_fv0_k50_beat_phase_dit |
+ SiMe (full cond) | 0.380 | 60.03 | 4.25 |
pref_dec_online_fv0_k50_beat_phase_dit_mp_cqt_aux |
+ SiMe + Aux (pitch, spectrum) | 0.411 | 60.36 | 3.96 |
pref_dec_online_fv0_k50_beat_phase_dit_mp_cqt_aux_tt_future |
+ SiMe + Aux + future head (headline) | 0.432 | 60.84 | 4.38 |
pref_dec_online_fv50_k50_beat |
Non-causal ref. (fv = +50) | 0.269 | 61.70 | 5.29 |
fv is the future-visibility offset in frames at the 50 Hz token rate (+50 = 1 s look-ahead, 0 = strictly causal). Full per-instrument, harmonic/percussive, and long-horizon drift breakdowns for every row are on the demo page.
Usage
# everything (~12.8 GB):
huggingface-cli download kevin-bretz/SilentMetronome --local-dir models/
# or a single model, e.g. the headline system:
huggingface-cli download kevin-bretz/SilentMetronome \
--include "pref_dec_online_fv0_k50_beat_phase_dit_mp_cqt_aux_tt_future/*" --local-dir models/
Then follow the Evaluation section of the GitHub README, for example:
python scripts/gen_pred/gen_and_evaluate.py \
--model_type prefix_decoder_online \
--model_path models/pref_dec_online_fv0_k50_beat_phase_dit_mp_cqt_aux_tt_future/step=200000.ckpt \
--split test \
--num_samples 1024
The causal DAC codec weights are not included here, download them from lukewys/stream_music_gen as described in the GitHub README. The pinned x-transformers==2.16.0 is load-bearing, later 2.17.x releases silently break checkpoint compatibility.
Citation
A paper describing SilentMetronome is in preparation, and this section will carry its reference once it is public. The underlying system is stream-music-gen by Wu et al., see the code repository for the full acknowledgement and citation.