连线(Patches)
一条连线把音乐正在做的某件事(低音、节拍、铺垫、一个缓慢的时钟,甚至另一个图层)拿来转动一个旋钮。你在 Patches 窗口中把它们连起来。Pro
创建连线
窗口左边是来源,中间是一条走线区,右边是每个图层的每个旋钮(还有场景的颜色)。每个来源和每个旋钮都有一个小圆圈,也就是它的端口。
- 从来源的圆圈拖到旋钮的圆圈。它们之间会出现一条连线,颜色与来源相同。
- 点按连线(或点按某一行的名称)打开它的设置:它让旋钮动多少、多平滑,以及信号的形状。
- 拖动连线的一端到另一个圆圈上,即可移动它。
- 要移除连线,打开它并点按垃圾桶,再点一次确认。在 Mac 上,选中它然后按 Backspace。
一个旋钮可以接多条连线;它们的效果会相加。按住(或将鼠标悬停在)任何名称上,可看到简短的帮助文字。只有在元素页面上标为“Cable: yes”的旋钮才能作为目标。
提示。元素本身已经会随音乐变化,所以很少需要给每个旋钮都接连线。每个图层一两条有目的的连线,胜过十条。
连线的作用
点按一条连线,可以看到它的小图表(淡色是来源,亮色是结果,显示最近 3 秒)以及以下设置:
| 设置 | 作用 |
|---|---|
| Amount | (幅度)连线让旋钮移动多远,以旋钮整个范围的比例表示,从 -1 到 1。负值让它向下移动。旋钮自己的滑块是起点;连线在此基础上叠加。(Numbers 和 Time 来源不显示此项,因为它们直接设定旋钮的值。) |
| Smooth | (平滑)旋钮跟随得有多慢,单位为秒(0 到 3)。0 会跟随每一次跳变。大约 0.05 到 0.15 适合打击,0.2 到 0.6 适合低音和脉冲,1 到 3 适合缓慢漂移。 |
| Curve | (曲线)在 0 到 1 的信号到达旋钮之前改变它的形状。见下文。 |
| In from, In to | (输入起点、输入终点)来源中起作用的那一部分。小于等于 In from 的值变成 0;大于等于 In to 的值变成 1。调高 In from 可以忽略安静的段落。 |
| Threshold | (阈值)用于 Threshold 和 Gate 曲线:信号必须超过的电平(0 到 1)。 |
曲线
| 曲线 | 形状 |
|---|---|
| Linear | (线性)信号原样不变。 |
| Invert | (反转)翻转(1 减去信号):响的变安静。 |
| Ease | (缓动)柔和的 S 形;两端更平缓。 |
| Exp | (指数)安静的部分更安静:先等待,然后跃起。 |
| Log | (对数)安静的部分变响:先跃起,然后平稳。 |
| Threshold | (阈值)柔和的阶跃:低于阈值时关,高于时开。 |
| Gate | (门限)低于阈值时为 0;高于时就是信号本身。 |
颜色旋钮的工作方式稍有不同。数值来源会让它沿着一个颜色列表移动:图层自己的调色板,没有的话用场景颜色,再没有就绕色环。信号满值时,Amount 为 1 会把列表走一整圈;0.25 走四分之一。颜色来源(见颜色)会按 Amount 把旋钮向那个颜色混合。开关在连线信号高于一半时打开。
所有来源
来源按组排列,在窗口中的顺序如下。除非另有说明,所有值都在 0 到 1 之间。
| 组 | 包含内容 |
|---|---|
| Music | 低音、中音、高音、电平、能量、起音、节拍、节拍相位、小节相位、过渡、稀疏度(bass、mid、treble、level、energy、onset、beat、beatPhase、barPhase、transition、thin)。 |
| Bands | 频谱的切片,从最深的低音到最高的高音。 |
| Song structure | 段落、铺垫、drop、强拍、进度、和声、张力、和弦根音、旋律。 |
| Random | 平滑或分级跳变的随机值。 |
| Colors | 流动的调色板颜色、某个场景颜色、某个图层下方的颜色。 |
| Layer outputs | 其他图层发出的信号,例如一次爆发(burst)。 |
| Layers below | 下方图层看起来有多亮、多鲜艳或多繁忙。 |
| Numbers | 按节拍或小节步进的数值,使用旋钮自己的单位。需要你自己输入。 |
| Time | 按歌曲秒数变化的门、渐变、锯齿波、三角波和正弦波。需要你自己输入。 |
实时音乐(Music)
这些来源适用于所有情况:歌曲、电台、麦克风和 This Mac。
| 来源 | 值 |
|---|---|
bass | 低频有多响(底鼓、贝斯)。反应快。 |
mid | 中频有多响(人声、吉他、键盘)。 |
treble | 高频有多响(镲片、踩镲、空气感)。 |
level | 此刻的整体响度,在约十分之一秒内平滑。 |
energy | 约 3 秒内的缓慢响度:副歌和 drop 时高,安静段落时低。最适合做大幅而柔和的变化。 |
onset | 在突然的打击(鼓、拨弦、起音)时出现尖峰。适合闪光和冲击。 |
beat | 节拍落下的瞬间为 1,其余为 0。给连线加一点 Smooth(0.1 到 0.3),就能得到脉冲而不是一下咔哒。 |
beatPhase | 在每一拍内从 0 升到 1,然后重新开始。稳定的脉动。 |
barPhase | 在每个四拍的小节内从 0 升到 1。缓慢、与节奏同步的转动。 |
transition | 一首歌交叉淡入下一首时,从 0 升到 1。 |
thin | 完整编曲时为 0,音乐变稀疏时最高到 1:鼓或贝斯退出、间奏,或者只剩人声和铺底音色。缓慢而平滑。歌曲变得稀疏时,可以用它让场景舒展开来。分析完成后它会读取整首歌(能预见安静段落的到来);在此之前,以及电台在分析赶上之前,它根据最近半分钟的声音判断,只在音乐变稀疏之后才反应。它看的是低频、响度以及有多少频段在亮,所以如果持续的贝斯还在,单独去掉底鼓它是察觉不到的。 |
频段(Bands)
频谱被分成 64 个频段:频段 0 是最深的低音(约 30 Hz),频段 63 是最高的高音(约 16 kHz)。一个频段来源会取一段连续频段的平均值,每个频段都按自己最近的范围缩放,所以安静的频段也会动。窗口提供 12 个现成的;要用其他范围,可以在场景文件中指定(bands:A-B)。
| 来源 | 覆盖范围 |
|---|---|
bands:0-7 | 深沉的低音 |
bands:0-3, bands:0-15 | 最深的四个频段,以及频谱最低的四分之一 |
bands:16-39 | 中频 |
bands:40-63 | 高频 |
bands:8-15, 16-23, 24-31, 32-39, 40-47, 48-55, 56-63 | 八个均匀的切片,从低到高 |
歌曲结构(Song structure)
这些来源需要 Nebula 知道歌曲是怎样构成的:你自己的歌曲在 Nebula 分析之后(请参阅Nebula 如何聆听一首歌),以及它提前听过或记住的电台歌曲。在那之前,以及使用麦克风时,它们保持为 0。
| 来源 | 值 |
|---|---|
section | 歌曲当前部分有多强烈,接近下一部分时会逐渐过渡过去。歌曲进入主歌、副歌或桥段时会变化。 |
build | 音乐向一个高潮时刻铺垫时逐渐升高。 |
drop | 铺垫释放成 drop(高潮)或大副歌时跳起,然后逐渐消退。 |
downbeat | 每个小节的第一拍为 1。 |
sectionProgress | 在当前部分中从 0 走到 1。 |
songProgress | 歌曲开始时为 0,结束时为 1。 |
harmony | 明亮、听起来像大调的和弦读数高;暗淡、小调的读数低。 |
tension | 和弦离歌曲的主调越远越高:音乐听起来没有解决。 |
chordRoot | 正在演奏哪个和弦,以其根音表示,在十二个音上从 0 到 1 绕一圈。 |
melody | 演唱或主奏旋律有多高,0 为低,1 为高。 |
melodyConfidence | 分析有多确定有人在唱或有主奏乐器在演奏。 |
随机(Random)
| 来源 | 值 |
|---|---|
random:smooth | 每拍平滑滑向一个新的随机值,从不跳变。同一首歌给出相同的值。 |
random:smooth/bar | 同上,每小节一个新值。 |
random:smooth:7 | 同上,种子为 7。换一个数字就换一种模式。默认种子为 1。 |
random | 每拍跳到旋钮范围内的一个随机值。用 Smooth 让跳变柔和一些。 |
random/bar | 同上,每小节一次。 |
没有速度信息时(例如使用麦克风),random:smooth 会以每秒两个值的速度继续变化。
Numbers(按节拍步进)
Numbers 来源会按你选的数字逐个计数,每拍一个,并直接把旋钮设为这个数字,使用旋钮自己的单位。不使用 Amount。在窗口的 Numbers 框中输入来源(例如 1-5:1),它就会作为一行出现,可以接线。
写法
| 你输入 | 作用 |
|---|---|
1-5:1 | 依次为 1、2、3、4、5,然后回到 1,每拍一个。 |
0-1:0.25 | 0、0.25、0.5、0.75、1,然后再来一遍。 |
1-5:1/bar | 同上,每小节(四拍)一步,而不是每拍一步。 |
0-1:random | 每拍取 0 到 1 之间的一个随机值(中间的任何值)。 |
1-5:1:random | 每拍随机取一步:只会是 1、2、3、4 或 5。 |
0-1:random:7, 1-5:1:random:7, random:7 | 同上,种子为 7:换一个种子,就换一种模式。相同的种子总是重复相同的模式。 |
random | 每拍取旋钮整个范围内的一个随机值。 |
0-1:random/bar | 每小节一个随机值。任何一种都可以加上 /bar。 |
细节:格式为 low-high:step,后面可以跟 :random(随机步进)、:seed(一个整数)以及 /bar 或 /beat。如果范围写反了(5-1:1),Nebula 会把它倒过来。步长必须大于 0,且最多产生 1000 个值。一个来源最多 64 个字符,空格会被忽略。
在窗口中,你创建的 Numbers 会显示 Edit(编辑)和 ×。Edit 会修改来源,同时保持它的连线接在原来的旋钮上;删除则会移除来源及其连线。
提示。Numbers 很适合按整数步进的旋钮,例如发射器的数量,也适合每小节切换一种外观。
Time(歌曲的秒数)
Time 来源随歌曲时间的秒数变化,而不是随节拍。它们同样直接设定旋钮(不使用 Amount)。在 Time 框中输入。窗口一开始提供 0-1:gate/4s,4s、0-1:tri/30s 和 0-1:ramp/30s。
| 形状 | 你输入 | 作用 |
|---|---|---|
| Gate | gate/3s,7s | (门)开 3 秒,关 7 秒,循环。两个时长:先开,后关。 |
| Ramp | ramp/20s | (渐变)在 20 秒内从低值滑到高值,然后保持。ramp/0s 是瞬间跳变。 |
| Saw | saw/20s | (锯齿波)在 20 秒内从低升到高,猛地回落,然后重复。 |
| Triangle | tri/30s | (三角波)每 30 秒以直线上升再下降一次。 |
| Sine | sine/45s | (正弦波)同样的上升下降循环,两端平滑。 |
选项
- 范围。在前面加上
low-high:,例如0.2-0.8:tri/30s。不加的话,来源使用旋钮的整个范围。从高到低的范围(如1-0:ramp/20s)会保留,所以它会向下走。 - 延迟开始。在末尾加上
@30s,例如0-1:gate/3s,7s@30s或ramp/20s@10s。在此之前,值为低值。 - 时长为 0.1 到 3600 秒,每个都以
s结尾。只有 ramp 可以使用0s。 - 一个完整的例子:
0.3-1:gate/2.5s,12s@45s在前 45 秒为关(0.3),之后每 14.5 秒中有 2.5 秒为开(1)。
时钟怎么走
音乐暂停时,歌曲时间静止不动;在歌曲中跳转时,它跟着你走;每首新歌开始时,它从 0 重新开始。切换场景不会让它重新开始。
提示。Time 来源适合节奏缓慢的场景:用 ramp/60s 让一个图层在一分钟内淡入,用 tri/90s 让颜色慢慢漂移,或者用 gate 让一个图层每半分钟闪亮几秒。
颜色(Colors)
| 来源 | 值 |
|---|---|
colour:scene | 流动的调色板颜色:所有调色板模式的视觉效果此刻所处的颜色。 |
colour:scene:3 | 场景颜色 3(编号从 1 开始,最多到 12),包括接在它上面的任何连线的影响。 |
below:2:rgb | 图层 2 下方所有内容的平均颜色。 |
接到颜色旋钮时,颜色来源会按 Amount 把旋钮向那个颜色混合。接到其他任何旋钮时,它给出的是颜色的亮度。
图层输出和下方图层
Layer outputs(图层输出)。有些元素会发出信号,例如 Fireflies 的 burst。它列在元素页面上该元素的下面。在场景文件中写作 layer:<number>:<output>,图层从上往下数,从 0 开始。把 layer:1:burst 接到另一个图层的亮度上,它就会随着萤火虫群一起闪烁。
Layers below(下方图层)。这些来源观察某个图层下方的图层产生了什么:
| 来源 | 值 |
|---|---|
below:<n>:brightness | 图层 n 下方的图层看起来有多亮。 |
below:<n>:colour | 它们的色彩有多鲜艳。 |
below:<n>:motion | 它们变化得有多厉害。 |
below:<n>:0.5,0.5 | 画面中某一点的亮度(先 x 后 y,0 到 1;0,0 是左上角)。窗口提供的是中心点。 |
最底层下面什么都没有,所以它没有 Layers below 来源。
计算方式
对于数值旋钮:
knob = base + amount × shaped value × (knob max − knob min)
结果会被限制在旋钮的范围内。Base(基值)是你设置的旋钮自身滑块的位置,shaped value(整形后的值)是来源经过 In from / In to 和曲线处理后的值。所以一个要随音乐升高的旋钮,基值需要足够低,留出空间:Pin height 的范围是 0 到 2,所以基值 0.6、幅度 0.4 最高能升到 1.4。一个旋钮上的多条连线会相加。
Numbers 和 Time 来源跳过这一步:它们直接把旋钮设为自己的值。
配方
这些只是起点,请按喜好调整。“接线”指从来源拖到旋钮。
| 目标 | 来源 → 旋钮 | 设置 |
|---|---|---|
| 低音膨胀 | bass → 一个大小或高度旋钮 | Amount 0.15 到 0.3,Smooth 0.25 |
| 打击时闪光 | onset → 辉光或亮度 | Amount 0.2,Smooth 0.1,Curve 选 Gate,Threshold 0.3 |
| 副歌提升 | energy(或 section)→ 亮度或密度 | Amount 0.3,Smooth 2,In from 0.3,In to 0.9 |
| 铺垫和 drop | build → 一个速度或旋涡旋钮;drop → 一个爆发或涟漪旋钮 | Build:Amount 0.4,Smooth 0.5。Drop:Amount 0.5,Smooth 0.2 |
| 情绪色彩 | harmony → 场景的 Color shift | Amount 0.3,Smooth 3。小调和弦让调色板往一个方向滑,大调往另一个方向。 |
| 让安静的歌曲有缓慢的生气 | random:smooth/bar → 一个漂移或旋涡旋钮 | Amount 0.15,Smooth 2 |
| 每小节换一种外观 | 1-4:1/bar → 一个按整数步进的旋钮 | 不使用 Amount |
| 让图层在一分钟内淡入 | 0-1:ramp/60s → 图层上类似不透明度的旋钮,例如亮度 | 不使用 Amount |
| 每 30 秒发光 3 秒 | 0-1:gate/3s,27s → 辉光 | Smooth 0.5,让边缘柔和一些 |
在场景文件中
场景保存为 .nebula 文件,连线以文本形式写在其中。如果你让 AI 助手为你写场景,或者手动编辑场景,这会很有用。一条连线看起来是这样的:
{ "source": "bass", "target": { "layer": 0, "key": "height" },
"amount": 0.25, "smooth": 0.2, "curve": "ease", "range": [0.1, 0.8], "threshold": 0.5 }
target.layer 从上往下数图层(0 是最上面的图层),或者为 "scene",表示场景颜色(shift、speed、colour1 等)。range 等同于 In from 和 In to。来源名称就是本页列出的那些。如果连线的来源无法读取,或者它的图层或旋钮不存在,就会被跳过,不显示任何消息。请参阅场景 › .nebula 文件。