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之间来回摆动,耐心等待一会,你会听到不同数值的效果。

results matching ""

    No results matching ""