此文档翻译自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"