间奏8:如何制作鼓填充

间奏8:如何制作鼓填充

在本间奏中,我们探索四种鼓填充。鼓填充是放入鼓轨道主流型的短乐句,通常每8或16小节。填充增加变化并支持歌曲部分之间的过渡(例如,从主歌到副歌)。你可以在线跟随这个TunePad项目:https://tunepad.com/interlude/drum-fills

步骤1:节奏型

让我们从创建一个四拍节奏型开始。对于本教程,我们将使用稀疏的摇滚风格鼓模式。我们保持简单,因为我们将用各种填充添加装饰。下面的代码将鼓模式包装在函数定义内,以便在下面的示例中容易重用。在TunePad的代码单元内定义groove函数,以便我们可以将其导入其他单元。

def groove():
    playNote(0, beats = 0.5)
    playNote(4, beats = 0.5)
    playNote(2, beats = 0.5)
    playNote(4, beats = 0.5)
    playNote(0, beats = 0.5)
    playNote([0, 4], beats = 0.5) # 底鼓与踩镲双踩
    playNote(2, beats = 0.5)
    playNote(4, beats = 0.5)

将你的代码单元的标题设置为”groove”,然后注意它直接在标题下方为我们生成的Python导入语句(图8.2)。

模式A:通鼓跑动

让我们从最简单的鼓填充开始。这个填充占用一个小节(四拍),由高音通鼓、中音通鼓、低音通鼓和底鼓上的16分音符跑动按顺序组成(图8.3)。

TunePad中的代码单元显示导入语句。 鼓填充模式A。

我们可以用简单的for循环编码这个,以演奏每个鼓声音:

from groove import * # 导入我们的groove函数

def fillA():
    for i in range(4):
        playNote(6, beats = 0.25) # 高音通鼓
    
    for i in range(4):
        playNote(7, beats = 0.25) # 中音通鼓
    
    for i in range(4):
        playNote(8, beats = 0.25) # 低音通鼓
    
    for i in range(4):
        playNote(0, beats = 0.25) # 底鼓
    
    playNote(9, beats = 0, sustain = 4) # 吊镲

填充在第16行以吊镲敲击结束。我们使用sustain参数让吊镲响起并与下一个鼓小节重叠。这是演奏填充的代码:

# 让我们试试!
groove()
groove()
fillA()
groove()

模式B:三连音

我们的下一个模式演奏三连音,将每个拍分成三个相等部分。模式连续重复四次,带有高音通鼓-低音通鼓-底鼓组合(图8.4)。

鼓填充模式B。

我们可以用一个for循环编码这个,我们将拍持续时间设置为1/3。

from groove import *

def fillB():
    for i in range(4):
        playNote(6, beats = 1/3.0)
        playNote(8, beats = 1/3.0)
        playNote(0, beats = 1/3.0)
    playNote(9, beats = 0, sustain = 4)

使用此代码用节奏型演奏fillB:

groove()
groove()
fillB()
groove()

模式C:随机16分音符

下一个模式洒入随机的16分音符敲击,以装饰否则无聊的模式。

为此,我们将使用Python的choice函数,它是内置random模块的一部分。这个函数通过从列表中随机选择一个元素来工作。你可以将其视为从一副牌中抽取随机卡。要使用choice,我们必须在代码顶部添加一行以导入函数:

from random import choice

下一个秘密成分是定义一个可能从其中随机选择的鼓声音列表。一个技巧是用几个None值填充此列表,这将导致我们模式中的随机空位。你可以尝试在此列表中使用不同的鼓声音,或使用更多或更少的None。你可能还会注意到,我们将十音符(拍手)的数量加倍,因为我们喜欢它们听起来如何。

notes = [ 0, 2, 3, 4, 6, 7, 8, 10, 10, 11, None, None, None, None ]

一旦我们定义了音符数组,函数就很容易编写。我们只是从我们的列表中随机选择并演奏八个音符。

from random import choice
from groove import *

notes = [ 0, 2, 3, 4, 6, 7, 8, 10, 10, 11, None, None, None, None ]

def fillC():
    for i in range(8):
        playNote(choice(notes), 0.25)
    rewind(2)

# 用我们的节奏型演奏它
for i in range(10):
    groove()
    fillC()
    groove()

第9行有一个技巧,我们将播放头倒回两拍。我们这样做是为了让鼓填充与节拍重叠,而不是在填充演奏时暂停它。

模式D:随机三连音

我们的最后一个模式是模式B和C的组合。我们使用三连音,但使用随机音符而不是固定模式。我们再次使用choice函数,但使用较小的音符集:

notes = [ 0, 6, 7, 8, 10 ]

然后我们可以随机演奏六个三连音(两拍),然后是吊镲。

def fillD():
    notes = [ 0, 6, 7, 8, 10 ]
    for i in range(6):
        playNote(choice(notes), 1/3.0)
    playNote(9, beats = 0, sustain = 4)

这是用我们的节奏型演奏此填充的代码:

for i in range(10):
    groove()
    groove()
    fillD()
    groove()