教程

Kontakt Script官方教程 – 事件管理

编曲资源 发布于 2018-07-02

事件管理 事件与音符编号 每个音符都是事件,外来的(键盘、编曲软件)或是脚本生成的音符都是事件。由于音符释放后,声音会经历衰减(Decay)过程,音符事件会持续存在一段时间,因此可能会有很多事件同时存在。为了方便访问,每个事件都有一个唯一编号。但回调函数和事件是两码事。回调函数是...

阅读(385)评论(0)赞 (3)

Kontakt Script官方教程 – 音组管理

编曲资源 发布于 2018-06-27

音组管理 如果一个乐器中有多个音组,通过下面的这些函数,用户可以通过代码控制音组: 每个音组都有独立的索引。音组索引从0开始编号,到音组数量-1为止。如果用户不知道某一音组的索引,可以使用find_group()指令,在双引号内输入音组的名字,其索引就会被返回。group_nam...

阅读(229)评论(0)赞 (1)

Kontakt Script官方教程 – 运算子

编曲资源 发布于 2018-06-26

运算子 布尔运算子 布尔运算符在if和while语句中使用,因为布尔运算返回的是条件成立与否。下表给出了所有的布尔运算符。x,y,z表示数字,a和b表示布尔值。 算数运算子 下表中是脚本语言中可用的算数运算子: 位元运算子 下表中是可用的位元运算子 阵列函数 下列的函数可以简化阵...

阅读(173)评论(0)赞 (2)

Kontakt Script官方教程 – 控制语句

编曲资源 发布于 2018-06-25

控制语句 一般我们做出的决定,都是根据情况而定的。KSP内含了三种控制语句,来在不同情况下运行不同代码:if,select与while。 if…else…end 下例中的if…else…end(如果……否则……终止)控制语句浅显易懂: on note if($EVENT_VELO...

阅读(194)评论(0)赞 (3)

Kontakt Script官方教程 – 延时控制

1

编曲资源 发布于 2018-06-24

基于节拍和时间的编程 wait()函数 到目前为止我们所写的程序,生成的伴奏音都是与输入音符同步发声的。如果我们想让伴奏音延迟发声,例如做出延迟效果或者琶音器,又要如何编程呢?这就要涉及到一个非常重要的语句了:wait()函数(等待函数)。 wait()函数就地将回调函数暂停一段...

阅读(208)评论(0)赞 (4)

Kontakt Script官方教程 – 变量

编曲资源 发布于 2018-06-23

变量 现在我们回头看最开始的代码: on note play_note(60,120,0,-1) end on 之前已经说过,给每个音符都配同一个伴奏音着实平平无奇。我们想编写一个更高级的伴奏器,能够生成力度相同的高八度伴奏音,因此便有了: on note play_note($...

阅读(177)评论(0)赞 (3)

Kontakt Script官方教程 – 核心规则

编曲资源 发布于 2018-06-22

基础 语法相关的基本规则 下列的规则是Kontakt脚本语言的基本规则,符合这些规则的脚本才能被正确执行: 指令只能在一行内书写 指令之间的空行可以有无限多个 单词之间的空格可以有无限多个 Kontakt脚本语言区分大小写,因此程序不会将Play_Note()识别为play_no...

阅读(183)评论(0)赞 (3)

一些术语特例

3

编曲资源 发布于 2018-06-21

变音符号 《斯波索宾和声学》是我国高校广泛采用的一本和声学教程,是一本前苏联和声学教材。但是许多人发现,中国引进翻译这本书时,把书中所有的升降号都移到了音名前面。例如书中的C#4,引进之后都变成了#C4。这样做的目的,有人猜测是为了符合中国读者的习惯。中文中对“C#”的读法为“升...

阅读(357)评论(0)赞 (6)

Kontakt Script官方教程 – 调试错误

3

编曲资源 发布于 2018-06-20

调试与自定义:完成脚本 本章节已经进入尾声,我们要对现有脚本进行拓展: on init declare ui_knob $Interval (-12,12,1) declare ui_knob $Velocity (-64,64,1) $Interval := 7 $Veloci...

阅读(186)评论(0)赞 (2)

Kontakt Script官方教程 – 用户界面

1

编曲资源 发布于 2018-06-19

UI控件变量与初始化回调函数:创建一个简单的自动和声器 现在我们来对前例中的简单代码进行拓展: 我们希望打造一个旋钮,它可以控制伴奏音与原始音符间的距离,标签为“Interval”(音程)。请读者将下列代码输入进Kontakt: on init declare ui_knob $...

阅读(238)评论(0)赞 (2)