音乐转换与音高分配约束引擎介绍
1. 音乐转换探讨的推进
在音乐转换的研究中,当前的探讨与之前有所不同。之前着重于基础音乐概念的阐述,以及将音乐概念与 Python 对象相联系,详细定义每个对象的方法和属性,阐述与音乐概念相关的算法。而现在的讨论更侧重于主题背后的算法和技术,对表示细节以及算法的相关附带细节讨论较少。
一些起初看似与音乐转换无关的主题,随着讨论的深入,其相关性会逐渐显现。例如,对约束解决方案的初步讨论,在后续的转换中会被证明是重要的,甚至在生成音乐等领域也有潜在的重要性。旋律搜索看似与音乐转换无关,但在模式替换中会起到关键作用。
需要注意的是,这些关于音乐转换的讨论只是冰山一角,音乐转换是一个深奥的学术主题,可为音乐创作工具提供强大的技术,也是更强大转换的基础。同时,这些主题并非定论,还需进一步研究。
2. 约束编程基础
约束编程是一种编程形式,它将问题形式化描述为以下两个方面:
- 变量集合 :变量可从不同的值域(如整数、字符串等)获取值。
- 约束集合 :描述变量之间的关系,这些关系定义了需要满足的状态。
约束求解器/引擎是一种软件工具,它接收一组变量和关于问题的一组约束作为输入,并生成满足这些约束的解决方案,即一组变量值的分配。
约束编程在 20 世纪 80 年代兴起,并在 Prolog 编程语言中得到普及。除了 Prolog,还有其他选择,如 SWI - Prolog、Gecode、OptaPlanner 或 python - constraint。
以下是一
超级会员免费看
订阅专栏 解锁全文
16万+

被折叠的 条评论
为什么被折叠?



