此文档翻译自Instance and Group Assignment
注意: 这是关于Alda中实例和组分配的详细说明 适合对此感兴趣的用户 以下内容较为复杂 但可以简化为几个简单规则 如果您不关心具体细节 可以直接点击链接查看简化版
Alda中有四种乐器调用的方式 每种方式可以有别名或没有别名 也可以有多个实例或没有多个实例
foo:foo是一个已命名的乐器或组 比如piano-1:…
foo是一个预设乐器 比如piano:…
piano 则:
piano实例piano调用将引用这个实例piano 则会报错(多个piano实例必须命名)piano实例 调用将引用该实例foo "bar":foo必须是一个预设乐器 否则会报错"bar"已被用作其他实例的别名 会报错foo实例 也会报错(foo的所有实例必须命名)bar的foo实例 如:
piano "larry": 创建一个名为"larry"的piano实例larry: 将引用该实例foo/bar:foo和bar是同一命名实例 比如foo/foo 会报错foo和bar是同一预设乐器 比如piano/piano 也会报错foo和bar都引用之前命名的乐器实例 表示这些实例foo和bar是预设乐器 如piano/bassoon: 则按foo:的规则选择或创建实例foo/bar "baz":foo和bar是同一命名实例 比如foo/foo 会报错foo和bar是同一预设乐器 如piano/piano 会报错 必须分别命名foo和bar是命名的乐器实例 表示这些实例 并创建一个名为"baz"的别名foo和bar是预设乐器 如piano/guitar "floop": 则创建新实例 并为组创建别名"floop"