Reaktor/教程/应用代数 Reaktor 用户
外观
代数是使用 Reaktor 时最需要的数学形式。理想情况下,应该了解高中代数,以及至少一些三角函数的周边知识。在 Reaktor 中通常不会遇到需要二次方程之类情况,但总的来说,你应该能够解决单变量线性方程(例如,如果求解 x:)和双变量线性方程(例如,如果求解 y:)。多项式中的项通常不会大于 1 次方(例如,),但你可能会在将线性控制器数据塑造成曲线时遇到它们。
- http://www.mathleague.com/help/algebra/algebra.htm -- 代数基础介绍,重点是将句子转化为方程(你可以忽略关于序列的部分)
- http://www.ifigure.com/math/algebra/algebra.htm -- 包含几十个有用的基于网络的代数计算器
- x = 输入
- f(x) = 输出
- m = 输入的最小值
- M = 输入的最大值
- m' = 输出的最小值
- M' = 输出的最大值
例如,假设你有一个 LFO 输出的范围是 -1 到 1。但是,你希望 LFO 输出的范围是 30 到 50。我们可以使用上述公式构建一个函数,将我们的输入从旧范围转换为新范围:我们只需将我们的值代入,然后简化。
注意: 点 ( ) 表示乘法。减去负数与加法相同。
考虑到运算顺序(从优先级最高到最低:括号、指数、乘除、加减),我们看到我们可以通过三个简单的步骤来转换我们的输入
- 将 1 加到输入中 -- 这将范围 (-1..1) 转换为 (0..2)。
- 将结果乘以 10 -- 这将 (0..2) 的范围缩放到 (0..20)。
- 将 30 加到乘法的结果中 -- 这将 (0..20) 的范围转换为 (30..50),我们的目标。
以下是一个更复杂的例子,我们把输入范围为 -300 到 24 的数据转换为范围为 100 到 10000 的数据。
注意: 我们不会化简这个分数,因为 9900 ÷ 324 会得到一个循环小数 (30.55555...)。
因此,我们得到以下步骤:
- 将 9900 除以 324 – 这将得到 30.555555...
- 将 300 加到输入值 – 这会将范围 (-300..24) 转换为 (0..324)。
- 将步骤 1 的结果乘以步骤 2 的结果 – 这会将范围 (0..324) 缩放到 (0..9900)。
- 将 100 加到步骤 3 的结果 – 这会将范围 (0..9900) 转换为 (100..10000),这是我们的目标。
如你所见,线性缩放数据就像移动、缩放、再移动一样简单。
- = 音高
- = 频率
- = 频率
- = 音高
- = 自然对数
- A = MIDI 音高 A
- B = MIDI 音高 B
- f(x) = 输出