间奏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)。

我们可以用简单的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)。

我们可以用一个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()