Meld 声音设计:让起音和主体各占一层

拨弦声可能需要更多轮廓,却不需要整条尾音都更亮。Meld 的两个声层让短暂的噪声棱角干第一份活,有音高的振荡器负责撑住音符。

拿掉一层,才知道它贡献了什么

下面生成的 MIDI 拨弦型驱动两个声层。A 用 Square Saw 提供有音高的主体。B 用 Noise,经 1800 Hz 高通滤波,衰减短且没有保持。这是由原创教学音符驱动的合成,不是采样的拨片起音,也不是某件实体乐器的录音。

有音高的主体,加一道短噪声棱角

Interactive MIDI example

在 Osc B 里把 B 关掉,听音符的开头。再把 B 打开。新增的棱角应该很短暂;它的作用是勾出节奏轮廓,而不是变成持续的嘶声。A 全程保持活跃,所以这个对比不依赖一个在音符之间消失于静音的纯噪声示例。

在 Env B 里把 D 从 45 延长到 250 ms,S 保持 0%。听起音变成一段更长的沙沙质感。把 D 调回 45 ms。如果较短的版本仍然太抢,把 B Level 从 22% 降向 10%。先定时长,再定电平:一条更安静的长噪声尾巴,和一个短瞬态不是同一种咬字。

宏只有在它的模型里才有意义

对 B 的 Noise 模型,B Macro 1 控制噪声色彩。把它从 70% 降向 20%,注意被高通处理的棱角失去了一部分高频能量。源色彩和 B Cutoff 都有影响,但它们是不同的环节:宏改变振荡器产生什么,滤波器改变什么能通过。把 Macro 1 调回 70%。

在这个模型里,B Macro 2 加入的是有音高的正弦主体;它不是第二个噪声色彩旋钮。示例把它保持为零,因为 A 层已经提供了音符。这样分工更容易听出 B 是改善了起音,还是只把整个音色变响了。

Square Saw、Swarm、Harmonics、FM、Noise 和 Pulse 是已实现的六个模型。在 Square Saw 里,Macro 1 把锯齿波向方波混合,Macro 2 改变脉冲宽度。在 Swarm 里,第一个控制失谐展开,第二个把失谐振荡器混进来。Harmonics 使用谐波倾斜和奇偶平衡。FM 使用阶梯化的比率和调制量。Pulse 使用宽度和一个次级正弦混合。

所以同样的两个百分比在不同模型里描述的不是同一种声音。试验 A Model 之前先把 B 关掉,免得它的瞬态掩盖差别。之后把 A Model 恢复为 Square Saw、A Macro 1 回 20%、A Macro 2 回 50%,再把 B 打开,即可回到本课的音色。

给主体一个不同的结尾

Env A 从 250 ms 衰减、15% 保持、180 ms 释放开始。把它的 S 提向 60%。现在音符在起音之后撑住了更强的主体,即使 B 仍在衰减消失。如果这把拨弦之间的空间填得太满,就恢复 15%。更长的 R 可以软化 note-off,但补偿不了一个本来就听不见的主体。

每层都有自己的滤波器和 Env>F 量。Filter A 和 Filter B 区暴露滤波轮廓的 D 和 S,而 Env A 和 Env B 承载振幅的 A/D/S/R 框。在这套实现里,滤波的 attack 和 release 共享该层振幅的时间设置。不要去找完全独立的滤波 A/R 控件。

想给 A 加一点开头的明亮度,试 A Env>F 在 +1 oct、Filter A 的 S 为零、D 在 150 ms 附近。把它与整音符抬高 A Cutoff 做对比。回头调噪声层之前先把 A Env>F 归零;两个同时发生的起音变化会让因果更难跟。

分层不自动等于立体声

两层接收相同的音符。在这块面板里它们不是独立的键盘分区或独立的 MIDI 通道,当前引擎把它们汇总到同一路左右输出。Swarm 模型可以产生拍频和增厚,但不提供各自独立声像的立体声声部。

Drive 作用于两层合并之后的信号,所以 Drive 抬高时,更响的 B 会改变 A 被失真的方式。平衡这个音色时让它保持为零。共享的 LFO 有音高、cutoff 和宏三个目的地,不是可自由指派的调制矩阵。一开始把这些量都关掉。如果音乐任务只是要一个更清晰的前沿,两个刻意克制的声层就够了。

留住灵感,写一段不同的声部。在 TuttiDAW 中用这些乐器演奏并编排你自己的 MIDI 音轨。

探索 TuttiDAW — 免费的浏览器 DAW