音乐创作中的约束引擎与调性转换技术
1. 音高分配约束引擎
在音乐创作和处理中,音高分配是一个关键环节。为了实现特定的音高分配目标,我们可以使用约束引擎来对音高进行限制和调整。
1.1 约束类型
约束可以根据涉及的参与者数量进行分类,主要包括一元约束、二元约束和多参与者约束。
|约束类型|约束名称|描述|
| ---- | ---- | ---- |
|一元约束|FixedToneConstraint(actor, diatonic_tone)|指定参与者和音高,但不指定八度,参与者必须符合该音高|
|一元约束|FixedPitchConstraint(actor, diatonic_pitch)|指定参与者和具体音高,参与者必须符合该音高|
|一元约束|ChordalPitchConstraint(actor)|参与者的音高必须在指定和弦内,和弦由输入的和声上下文指定|
|一元约束|ScalarPitchConstraint(actor, tone_index_list=list())|参与者的音高必须来自指定的调性,调性由输入的和声上下文确定,可选参数可限制音高选择范围|
|二元约束|ComparativePitchConstraint(actor1, actor_2, comparative)|指定两个参与者以及它们之间的音高比较关系,如小于、小于等于、等于、大于等于、大于|
|二元约束|RelativeScalarStepConstraint(actor1, actor2, below_steps, above_steps)|确保参与者2的音高在参与者1音高的指定全音步数范围内|
超级会员免费看
订阅专栏 解锁全文
27

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



