鼓机非常有趣。它们可以制造出令人惊叹的节拍,并且往往具有简单的界面。
我使用过的第一台鼓机是 Alesis HR-16。它有 49 个 16 位音色库和一个内置音序器。它不能安装在机架上让我很恼火,但另一方面,它可以放进邮差包里,所以我可以轻松地把它带到录音棚。
HR-16 的界面是最好的之一。它唯一的显示器是一个两行的 LCD 屏幕,它的所有功能都有专用的按钮在机器正面。要建立一条新的鼓线,您需要选择一个模式槽,进入录制模式,然后实时或逐拍地输入节拍。该单元最多可以容纳 100 个模式,您可以将这些模式串联成文件,包含多达 100 首歌曲。

HR-16 鼓组的用户界面简单直观。
今天,我使用 Hydrogen 软件鼓机。其概念基本相同:将节奏输入到活动模式中,并构建一个模式歌曲。它简单直观,让你感觉立刻成为摇滚明星。
Hydrogen 的优点在于它不局限于 49 个 16 位声音的单个芯片。您可以使用自己的声音构建自己的鼓组。这意味着您可以简单地录制任何您想要用来制作节奏的声音,并在 Hydrogen 中对其进行排序。令人惊讶的是,它甚至都不难。
鼓组剖析
一个 Hydrogen 鼓组实际上只是使用 .h2drumkit
作为扩展名的 .tar
文件。
$ file ./mydrumkit.h2drumkit
mydrumkit.h2drumkit: POSIX tar archive (GNU)
TAR 存档中包含您想要用作鼓组的声音以及一个向 Hydrogen 描述鼓组的 XML 文件。 看起来像这样
<instrument>
<id>0</id>
<name>Kick drum</name>
<volume>1</volume>
<isMuted>false</isMuted>
<pan_L>1</pan_L>
<pan_R>1</pan_R>
<randomPitchFactor>0</randomPitchFactor>
<filterActive>false</filterActive>
<filterCutoff>1</filterCutoff>
<filterResonance>0</filterResonance>
<Attack>0</Attack>
<Decay>0</Decay>
<Sustain>1</Sustain>
<Release>1000</Release>
<exclude />
<layer>
<filename>35kick.flac</filename>
<min>0</min>
<max>1</max>
<gain>1</gain>
<pitch>0</pitch>
</layer>
</instrument>
因此,构建一个鼓组非常简单
- 收集您想要的鼓组声音文件
- 生成一个描述您鼓组的 XML 文件
- 创建一个
tar
文件并将其加载到 Hydrogen 中
1. 声音
您的声音文件可以来自任何地方。您可以录制自己的声乐 Beatbox、卧室里的鼓组或自然的声音,或者您可以掠夺 freesound.org 以及任何您可以想象到的东西。
如果您的声音文件不是 FLAC 格式,请使用像 sox、ffmpeg 或 Audacity 这样的音频转换器将它们转换为 FLAC 格式。
使用 sox
$ sox foo.wav foo.flac
使用 ffmpeg,添加 -vn
标志以确保转换过程中不包含视频
$ ffmpeg -i foo.wav -vn foo.flac
在 Audacity 中,加载源声音文件并使用“文件” > “导出音频”菜单选项。在“导出音频”窗口中,选择 FLAC 作为您的输出格式。
安排声音文件
从技术上讲,您的鼓组可以按您想要的任何顺序拥有声音文件,或者按终端列表排序后的任何顺序。但是,很久以前,一些非常聪明的音乐技术人员提出了一套规范,规定了声音在合成世界中应该如何组织。他们称这个规范为 通用 MIDI,简称 GM。
通用 MIDI 的优势在于,音乐家可以使用一个声音库创作歌曲或鼓序列,然后交换声音库(或者在 Hydrogen 的术语中称为“鼓组”),仍然可以获得基本相同的东西,只是声音不同。您的低音鼓仍然是低音鼓,您的小军鼓仍然是小军鼓,您的钹仍然是钹,只是这些声音背后的采样被交换了。您可以编写一个鼓序列,并在同一首歌曲的电子金属 Intro 版本以及精致的原声叙事版本中使用它。
您不必一定遵守 GM,但这并不是一个坏主意。
为了保持我的鼓组声音的井井有条,我根据 GM 规范命名每个鼓组中的声音。
$ ls mydrumkit/
35kick.flac
36kick.flac
37click.flac
38snare.flac
40snare.flac
41tom_low.flac
...
如果我没有 GM 有槽位的声音,我只是跳过该槽位。
这种方法也避免了命名方案的随意变化。我的鼓组中没有 kick drum BIG.flac 和 bass drum deep.flac 文件。
当我制作的鼓组设法完全填充 GM 规范时,我给它 full 称号,这样用户就知道该鼓组是真正与 GM 兼容的。
2. 创建 drumkit.xml 文件
人们有时会对 XML 感到莫名其妙的恐惧,大概是因为它似乎有无限的标签,而且没有明确定义哪些标签是必需的,甚至不知道它们意味着什么。
Hydrogen 鼓组中的 drumkit.xml
文件大多是重复性的,并且足够简单,可以手动生成。您真正需要的只是一个文本编辑器和复制粘贴的意愿——很多次。
您的鼓组定义的标题部分打开一个 drumkit_info
元素,并提供关于该鼓组的元数据
<drumkit_info>
<name>
mydrumkit
</name>
<author>
Seth
</author>
<info>
This is my first drumkit. It contains sounds released under
the CC-0 license.
</info>
<license>
CC-0
</license>
<instrumentList>
每个鼓组只输入一次,且仅在文件的顶部。
对于每个声音文件,假设一个声音文件代表一种乐器,则需要一个 instrument
块。基本的乐器块以以下内容开始
<instrument>
<id>0</id>
<name>Kick drum</name>
<volume>1</volume>
<isMuted>false</isMuted>
<pan_L>1</pan_L>
<pan_R>1</pan_R>
<randomPitchFactor>0</randomPitchFactor>
<filterActive>false</filterActive>
<filterCutoff>1</filterCutoff>
<filterResonance>0</filterResonance>
<Attack>0</Attack>
<Decay>0</Decay>
<Sustain>1</Sustain>
<Release>1000</Release>
<exclude />
一旦您掌握了创建鼓组的技巧,就可以探索一些使用多个声音文件来对应一种乐器的巧妙技巧。例如,钹在被敲击和用鼓槌敲击时具有独特的声音质量,但它仍然是相同的物理乐器。
不过,现在让您的乐器保持简单,每个乐器只使用一个文件。声音文件在乐器的 layer
块中被引用
<layer>
<filename>35kick.flac</filename>
<min>0</min>
<max>1</max>
<gain>1</gain>
<pitch>0</pitch>
</layer>
</instrument>
对每个声音文件重复该过程,然后关闭您的 instrumentList
和 drumkit_info
标签
</instrumentList>
</drumkit_info>
这就是您需要了解的所有 XML!
3. 创建一个 tar 存档
此过程的最后一步是将您的声音和 XML 包装在一个存档中。
如果您还没有这样做,请将您的声音文件和您的 drumkit.xml
文件放入一个专用目录中。假设该目录被称为 mydrumkit
(尽管我希望您想出一个更具创意的东西)。
运行 tar
命令
$ tar cvf mydrumkit.tar mydrumkit
然后重命名您的 TAR 存档,以便 Hydrogen 识别它
$ mv mydrumkit.tar mydrumkit.h2drumkit
您完成了!这就是全部。您刚刚制作了自己的自定义鼓组。
加载您的鼓组
要在 Hydrogen 中使用您的鼓组,您必须导入它。
要导入一个鼓组,打开 Hydrogen 并点击“乐器”菜单,然后选择“导入库”

要使用您的鼓组,您必须首先将其导入到 Hydrogen 中。
在“声音库导入”窗口中,点击“本地文件”选项卡。点击右侧的“浏览”按钮。
选择您的鼓组文件以加载它。导入过程只需一秒钟,所以如果它发生得太快,请不要感到惊讶。
要使用您的鼓组,在 Hydrogen 窗口的“声音库”选项卡中右键点击您的鼓组,然后选择“加载:”

要使用您的鼓组,请将其加载到 Hydrogen 声音库中。
如果您已经将数据输入到 Hydrogen 模式中,您的数据在切换鼓组后仍然存在。如果您遵循 GM,您的序列听起来应该基本相同,只是用不同的鼓组播放!
自动化
几年前,我和一个朋友在几周的时间里创建了 99 个 Hydrogen 鼓组。组织超过 1,000 个声音文件是我们不得不手工(并用耳朵)完成的事情,但在完成所有这些工作之后,我们最不想做的事情就是手动生成 99 个 drumkit.xml
文件。相反,我写了一个简单的 Python 脚本来为我们做重复的事情。
该脚本被称为 genhydro
,其唯一目的是从一个装满 FLAC 文件的目录中生成一个 drumkit.xml
文件,并创建该目录的存档。
您可以在 GitLab 上找到该脚本。如果您不想手动生成 XML,请随意使用它。
从他人的辛勤工作中受益
Hydrogen 拥有一个强大且富有创造力的社区。您可以使用“导入库”窗口从其他用户处下载鼓组。
此外,您可以从 Slackermedia 下载我的 99 个鼓组。
现在去制作一些伟大的节拍吧!
1 条评论