SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2402.14285 · ICML · 2024

Symbolic Music Generation with Non-Differentiable Rule Guided Diffusion

Yisong Yue, Yujia Huang, Sageev Oore, Qinsheng Zhang, Ziniu Hu, Siddharth Gururani, Adishree Ghatare, Yuanzhe Liu, Chandramouli Sastry

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 1 functions out of this paper's own repositories and ran 1 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
yjhuangcd/rule-guided-music canonical 1 of 1
FunctionStatusWhere it lives
grad_nn_zt_xentropy Ran yjhuangcd/rule-guided-music/guided_diffusion/condition_functions.py
code served (permissive licence) · get_code("0ab7bf9df52689a2")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

We study the problem of symbolic music generation (e.g., generating piano rolls), with a technical focus on non-differentiable rule guidance. Musical rules are often expressed in symbolic form on note characteristics, such as note density or chord progression, many of which are non-differentiable which pose a challenge when using them for guided diffusion. We propose Stochastic Control Guidance (SCG), a novel guidance method that only requires forward evaluation of rule functions that can work with pre-trained diffusion models in a plug-and-play way, thus achieving trainingfree guidance for non-differentiable rules for the first time. Additionally, we introduce a latent diffusion architecture for symbolic music generation with high time resolution, which can be composed with SCG in a plug-and-play fashion. Compared to standard strong baselines in symbolic music generation, this framework demonstrates marked advancements in music quality and rulebased controllability, outperforming current stateof-the-art generators in a variety of settings. For detailed demonstrations, code and model checkpoints, please visit our project website.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2402.14285")
get_code_for_paper("2402.14285")
have("2402.14285")

Connect an agent — have() is free.