SC:字符串,字符串集合
一个字符串被以一个数组的形式储存。数组最后一个项目是0。0,或终止,代表了字符串的结束。字符串可以是任何用引号包围的字符组合(字词或数字),比如”my 4 strings”。SC内部,将数组中每个字符以ascii整数形式存储。第一位是’m’ (176),第二位’y’ (121),第三位’ ‘ (空格或 32),第四位也是一个字符,不是数字,’4’ (111)。因为是数组的关系,它可以被含入do函数内。
Processing, MaxMSP, AudioMulch, Field, SuperCollider
Processing, MaxMSP, AudioMulch, Field, SuperCollider
一个字符串被以一个数组的形式储存。数组最后一个项目是0。0,或终止,代表了字符串的结束。字符串可以是任何用引号包围的字符组合(字词或数字),比如”my 4 strings”。SC内部,将数组中每个字符以ascii整数形式存储。第一位是’m’ (176),第二位’y’ (121),第三位’ ‘ (空格或 32),第四位也是一个字符,不是数字,’4’ (111)。因为是数组的关系,它可以被含入do函数内。
一个集合或数组即一个项目组。数组用方括号包围,每个项目由逗号隔开。下边是一个整数数组。 [1, 4, 6, 23, 45] 字符串也可以被做进数组。字符串即一个字符的组,计算机将之视为一个单独的对象。 [“One”, “Two”, “Three”, “Four”] 或者你可以做个混合体。注意“34”(在引号内)并不会被SC识别为整数34,而是一个包含字符3和4的字符串。但1,56和3都是整数。 [1, “one”, “34”, 56, 3]
控制消息“if” 人工智能和计算机辅助创作始于逻辑控制。即,告诉机器在特定的情况下做什么。如果你饿了,do打开冰箱。如果里边没有面包,那么do去商店。如果你钱够多,do买四块烤肉。回家并再次打开冰箱。如果里边有果冻或果酱,do选其一做个三明治。不要用腌豆腐。有很多诸如while, for, 和 forBy 等迭代和控制的方法,但是do和if是最普遍的。 if消息或函数有三个引数:一个被评估的表达式,一个true函数,以及一个false函数。它评估表达式是真是假并返回结果。
函数和消息使用引数。又是引数之一是另一个函数。函数可被赋到一个变量,然后这个变量被用到引数列,或者说它可以被嵌套如引数列。全部例子见下。
之前的部分处理合成。从这里开始,我们将通过使用之前章节的合成器定义,或外部MIDI乐器,用SC构建组织事件系统。
免责声明 这是非常困难的一章。请关掉电视先。 总线(bus)和节点(node)是SC3的新概念,并且有很多内容值得一说。我将会把重心从了解足够的代码知识转向到创作的层面。我的目标是让你对总线、节点和组(group)足够的熟悉,可以让你们用它们做一些简单的patch,或者读懂示范代码和帮助文档。 在进入讨论前,一个提醒:下边的代码对记忆合成器定义的结构很有帮助,它同样可以用于学习、复习总线分配。