Vocoder:给载波以节奏和咬字
调制器提供变化的频谱包络;载波提供被这些包络塑形的声音。把这两个角色分清楚,Vocoder 就好控制得多。
在一台设备里跟住两个角色
输入音频是调制器。Vocoder 将其合并为单声道做分析,切分成频段,并跟踪每个频段的振幅。这些包络随后塑形载波的对应频段。你传递的是咬字和频谱重心,而不是简单地移动调制器的音符。
示例提供一段原创的八秒类元音合成乐句作为调制器。里面没有人声、歌词或录制的歌手。Saw 选择 110 Hz 的内部音调载波,所以这一课既不需要第二条轨道,也不需要按住的 MIDI 音符。全湿播放,跟着音色反复的开合听。
让合成元音的包络为锯齿波做咬字
Interactive audio example
对比 Carrier 在 110 和 220 Hz。载波音区变了,而时序仍来自音源。然后选 Noise:包络现在塑形的是宽频噪声,而不是固定音高的锯齿波。Carrier 变灰是因为它的频率只适用于 Saw。Modulator 用输入本身作为载波;它不是外部轨道选择器。
先修好包络,再加细节
开头模糊是 Attack 的问题。把 Attack 从 5 ms 提向 100 ms,听每个合成音节的开始变慢。这可以把节奏性的声音变成 pad,但也可能抹掉让乐句作为节奏可被理解的那个小事件。当开头很要紧时,回到更快的 attack。
结尾拖得太长是 Release 的问题。对比初始的 80 ms 和 400 ms。更长的释放让载波频段在调制器落下时继续存在,填满间隙。更短的释放让咬字更干脆。在事件之间的边界处听,当连续的姿态融成一片持续的糊时,就别再拉长了。
这些控件跟踪的是各频段的独立包络,不是由音符触发的 MIDI 放大器包络。安静的输入产生微弱的调制,而载波本身并不保证可闻的输出。如果结果很微弱,先确认音源在播放,再用 Gain 补偿。不要把大幅的电平提升解读成咬字的改善。
决定频谱印记该有多精细
Bands 的范围是 4–40。保持 Range Lo 在 80 Hz、Range Hi 在 8 kHz,对比 8 和 16。更少的频段给出更粗的频谱轮廓;更多则把同一范围切分得更细。它们不是自动的可懂度设置。这段合成素材无法演示辅音识别,也无法证明一段真实口语会有多好懂。
Range Lo 和 Range Hi 选择分析与合成的区域。抬高下边缘会移除低频段的参与;压低上边缘会排除更亮的细节。Bands 和两个 range 控件都会重建滤波器组,所以请做有意的改动,并对比一段新的乐句,而不是把它们的重置当作音乐性的包络行为。
改变类似口腔的色彩,但不改载波音高
Formant 以半音为单位移动载波频段的中心。保持 Carrier 不变,试 +4 和 −4;去听频谱色彩,别指望又一次旋律移调。Res 让频段更锐利。过量会把宽阔的咬字换成狭窄、执拗的共振,所以当个别频段开始主导乐句时就调低它。
Unvoiced 往音调载波里混入噪声,可以增加气声般的高频质感。它无法在这个音源里凭空造出缺失的辅音或歌词。加一点点,与零对比,然后在需要保留一些原始咬字时用 Dry/Wet。这套实现只有 Noise、Saw 和自身 Modulator 三种载波:外部载波路由和用 MIDI 弹奏的载波和弦不属于这块面板,也不属于这个演示。