混音:编组
把声部放进一个编组,给它自己的效果、推子和发送——程序里的鼓总线,和“在 TuttiDAW 中打开”建出的编组轨道完全一样。
编组把几个声部归在一起,让你把它们当成一个整体来处理:给所有鼓加一个压缩器,用一个推子控制整套鼓,用一个发送送到混响。“在 TuttiDAW 中打开”会把它建成程序编组里的一条编组轨道,里面放着这些声部。
| 代码 | 是什么 | 在录音室里 |
|---|---|---|
group(name) |
一组声部 | 程序编组里的一条编组轨道 |
.group(name) |
把声部放进编组 | 声部的轨道成为那个编组的子轨道 |
和 bus、.send 一样,这些是 TuttiDAW 独有的:用了它们的程序不能在 strudel.cc 上播放。
鼓编组
在单独一行声明编组,用 .fx 给它加效果,用 .mix 设置推子,再用 .group(name) 把声部放进去:
group("drums").fx("Drum Buss").mix({vol: -3})
kick: s("bd*4").bank("tr909").group("drums")
snare: s("~ sd").bank("tr909").group("drums")
hats: s("hh*8").bank("tr909").group("drums").mix({vol: -8})
bass: note("<c2 g1 a1 f1>").ply(4).s("sawtooth").lpf(600)底鼓、军鼓和踩镲先经过 Drum Buss,再经过编组的推子:-3 让三者都降低 3 dB。每个声部仍然保留自己的 .mix——踩镲在编组里低 8 dB。
从编组发送
编组可以像声部一样以 dB 电平发送到总线。整个编组按这个电平送到总线——这里鼓共用一个房间混响,贝斯保持干声:
bus("room").fx("Reverb", {dryWetBalance: 1, decayTime: "1.5s"})
group("drums").send("room", -14)
kick: s("bd*4").group("drums")
snare: s("~ sd").group("drums")
bass: note("c2 ~ c2 g1").s("sawtooth").lpf(500)总线属于程序:编组可以发送到程序声明的任何总线,编组里的声部也仍然可以自己发送。
编组的推子、声像和发送电平都是数字(编组轨道没有可以承载变化的片段)。编组不能放进另一个编组。
没有编组的声部
程序里没有 group("drums") 却写了 .group("drums") 会给出警告:编辑器会提议帮你加上声明,在那之前这个声部和其他声部一样在程序的编组里播放。
在录音室里
编组轨道位于程序的编组里,它的声部是它的子轨道。它的效果、推子和发送归代码所有,和总线一样:手动改动其中一个,这个编组就会与代码脱离(“重新连接”可以恢复)。手动把声部移出它的编组,这个声部就会脱离代码。从声部上删掉 .group("drums"),它的轨道会回到程序的编组;删掉 group("drums") 本身,编组轨道会保留并标记为“不在代码中”,它的声部则回到程序的编组。