Fakebit
看到官方论坛题为chiptune starter pack的帖子(https://in-thread.sonic-pi.net/t/chiptune-starter-pack/657),能在里面学习了很多chiptune音色的调制方法,真的很有意思。
作者本人是chiptune的原教旨主义者:很多外人听起来很有游戏机味道的声音,在他的标准里算不上chip音色,真是一个“固执”的人。不过我很喜欢他调出来的琶音音色,这里就来分析一下他用到的合成器。
原本的chiptune一共只有四个轨道,除了两轨分给噪音之外,其余两轨用到的合成器分别是脉冲与三角波。所以在这里,琶音所能用到的合成器范围仅限于pulse和triangle这两类。
如果你认为其它合成器的声音也能做出游戏机的味道,那就当fakebit来做吧(老实说,在电脑上做的都算是fakebit)。今次先聊聊原帖作者8bit正宗的烹调方法,再聊聊我意外发现的融合菜的烹调方法。
Chiptune鲜榨
Sonic pi的mod系列合成器,除了基础振荡器之外,还有一个额外波形用来调制声音。在编程环境下虽然看不到这个用来调制的波形,不过多少可以想象一下,它被用来控制着琶音的不同属性。关注mod参数的设定,就能做出好听的芯片味琶音。
脉冲
最具代表性的脉冲,使用:mod_pulse
melody2 = [:c4, :eb3, :as4, nil, :cs4].ring
with_fx :bitcrusher, bits: 6 do
live_loop :syn do
synth :mod_pulse, note: melody2.tick, amp: 0.35, pulse_width: 0.5,mod_wave: 1, mod_phase:0.125, mod_range: 12
sleep 0.5
end
end
以下是值得关注的参数:
Pulse_width 可以改变方波本身的宽度(0-1),从而改变音色。不论是不是琶音,都可以先修改这一数值改变音色。
mod_wave 用来设置调制的波形:
- 0=锯齿波: 适合做特殊音效
- 1=方波:默认数值是1,适合演奏旋律
- 2=三角波: 很有pocket chip的味道
- 3=正弦波: 和2类似
Mod_phase可修改琶音的间隔,这里的数值和时值是对应的,比如1/4拍是0.25, 再密集一些也可以设成0.1
Mod_range 可以设置琶音移动的八度范围,5,7,12,24这些数值都可以尝试。2则有跑调的效果,可以试试看
三角波
三角波使用:mod_tri
melody2 = [:a4, :eb3, :as4, :cs4].ring
with_fx :bitcrusher do
live_loop :needleArp do
synth :mod_tri, note: melody2.tick, attack: 1, release: 2, mod_phase:0.25, mod_range: 12,mod_wave: 1,amp: 0.25
sleep 2.5
end
end
mod参数的设置与:mod_pulse相同的部分就不作赘述了
可以注意一下mod_wave,虽然调制波形与之前一样,但出来的结果比较有趣
0=锯齿波: 有tom鼓的感觉
可以存下来备用
1=方波:默认数值是1,适合演奏旋律
2=三角波, 3=正弦波: 类似警报 的音色
此外attack设置为1有淡入的效果,和琶音效果叠加在一起变得更生动了。
其它合成器的改造
你爱用的合成器很可能不带mod参数,而你仍可以用效果器slicer模仿出上述效果,只不过这里的琶音无法在八度间移动。如果觉得音质过于清晰,可以加bitcrusher效果器,增加芯片声音的味道。
use_bpm 65
define :lead do |note|
#8bit lead: tune phase
with_fx :reverb do
with_fx :slicer, phase: (range 0.4,0.05,0.025).mirror.tick(:lfo) do
use_synth :beep
play note: note, amp: 1 ,release: 0.25
end
end
end
notes1 = (ring :r,:Ds4,:D4,:Ds4,:D4,:Ds4,:G4,:As3,:r,:G4,:F4,:Eb4,:D4,:Eb4,:G4,:As4)
time1 = (ring 0.5,0.5,0.5,0.5,0.5,0.25,0.75,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5)
live_loop :lead do
note = notes1.tick+12
time = time1.look
lead note
sleep time
end
在第6行,效果器slicer的phase数值会在0.4与0.05之间来回摆动,耐心等待一会,你会听到不同数值的效果。