在这一节,我们将谈谈不同类型的随机进程。并不会有很多人去写纯的随机音乐(尽管看起来像是)。总之这不是非常有趣的。通常会有一些过滤、倾斜(skew)或倾向(bias)。即使看起来选择的面很宽,所有可被听到的频率(30Hz~20000Hz),对于那些频率都有一个倾向。在之前的“随机”音乐范例中,我们倾向于一个MIDI值的范围(而不是连续的频率),可能的持续时间的范围,等等。即使凯奇(John Cage)的作品常被认为是随机的,但他们仍由倾向塑造。4’33″便具有一个强烈的倾向:没有来自于钢琴的音符。
继续阅读SC:更随机的数字
SC:字符串,字符串集合
一个字符串被以一个数组的形式储存。数组最后一个项目是0。0,或终止,代表了字符串的结束。字符串可以是任何用引号包围的字符组合(字词或数字),比如”my 4 strings”。SC内部,将数组中每个字符以ascii整数形式存储。第一位是’m’ (176),第二位’y’ (121),第三位’ ‘ (空格或 32),第四位也是一个字符,不是数字,’4’ (111)。因为是数组的关系,它可以被含入do函数内。
继续阅读SC:字符串,字符串集合
SC:集合,数组,索引,数组消息
一个集合或数组即一个项目组。数组用方括号包围,每个项目由逗号隔开。下边是一个整数数组。
[1, 4, 6, 23, 45]
字符串也可以被做进数组。字符串即一个字符的组,计算机将之视为一个单独的对象。
["One", "Two", "Three", "Four"]
或者你可以做个混合体。注意“34”(在引号内)并不会被SC识别为整数34,而是一个包含字符3和4的字符串。但1,56和3都是整数。
[1, "one", "34", 56, 3]
继续阅读SC:集合,数组,索引,数组消息
SC:用if做控制,接着do,Arrays,MIDIIn,计算机辅助分析
控制消息“if”
人工智能和计算机辅助创作始于逻辑控制。即,告诉机器在特定的情况下做什么。如果你饿了,do打开冰箱。如果里边没有面包,那么do去商店。如果你钱够多,do买四块烤肉。回家并再次打开冰箱。如果里边有果冻或果酱,do选其一做个三明治。不要用腌豆腐。有很多诸如while, for, 和 forBy 等迭代和控制的方法,但是do和if是最普遍的。
if消息或函数有三个引数:一个被评估的表达式,一个true函数,以及一个false函数。它评估表达式是真是假并返回结果。
继续阅读SC:用if做控制,接着do,Arrays,MIDIIn,计算机辅助分析
SC:用do做迭代,MIDIOut
函数和消息使用引数。又是引数之一是另一个函数。函数可被赋到一个变量,然后这个变量被用到引数列,或者说它可以被嵌套如引数列。全部例子见下。
继续阅读SC:用do做迭代,MIDIOut
SC:运算符,优先级,引数,表达式和用户自定义函数
之前的部分处理合成。从这里开始,我们将通过使用之前章节的合成器定义,或外部MIDI乐器,用SC构建组织事件系统。
继续阅读SC:运算符,优先级,引数,表达式和用户自定义函数