如何使用树莓派制作电子音乐

还没有读者喜欢这篇文章。
Low-cost music making with Raspberry Pi and MilkyTracker

Seth Kenlon. CC BY-SA 4.0.

电子音乐的世界传统上来说是一项相当昂贵的冒险,无论你是在为昂贵的硬件还是软件付费。幸运的是,有大量的免费应用程序和开源软件可以让人们在他们拥有的设备上发挥创造力。但我很想看看,作为一台音乐制作机器,广为人知的廉价树莓派能被推到什么程度。

结果表明,它可能是一个非常棒的小型音序器,只要你知道使用什么工具,并且不怕学习一些新东西。

设置

我想尽可能地降低标准,所以我所有的工作都是在 Raspberry Pi v1 model B 上完成的。这是一个带有 512MB 内存的 ARM6 处理器。我确实可以访问一个 A+ 型号(256MB 内存),但它只有一个 USB 端口。当我开始将我的 Pi 变成一个数字音频工作室时,我以为我需要一个 USB 端口用于鼠标,一个用于键盘。事实证明,我最终不需要鼠标,所以最终我在 A+ 上做了一些测试。我会在适用时提及性能上的显着差异。

无论你使用哪种 Pi 型号,你都需要尽可能降低系统其余部分的开销。如果你熟悉 FluxboxRatpoison,那么它们可能是制作音乐时要使用的非桌面环境。如果你不熟悉这种风格的界面,那么请使用 LXDE(它通常是 Pi 发行版上的默认桌面环境)。

那么我们需要什么才能在 Pi 上制作音乐呢?电子音乐传统上由两个组成部分组成:

  1. 音序器:一个跟踪什么声音将在何时播放的程序。
  2. 合成器:一个发出声音的程序。

Linux 提供了很多这两种程序,所以首要任务是看看有哪些选择,并在 Pi 上尝试它们。

轻量级 ALSA 应用

起初,我查看了一些用于低配置声音工作的常见程序;我加载了一些模块化组件并进行了测试。我立即发现 JACK 在 Pi 上是不切实际的。由于许多 Linux 声音应用程序都期望使用 JACK,因此我的选择比我在 Slackware 工作站 上使用的要有限得多。

我最终选择了模块化的 Seq24 MIDI 音序器,它提供了一个用于作曲的“钢琴卷帘”编辑界面,以及 AMsynth 作为合成器来提供声音。我将信号从 Seq24 发送到 ALSA 的内置 MIDI-In 以触发 AMSynth。不需要 JACK,而且是一个相当轻量级的解决方案。

理论上是这样。

经过一下午尝试我的简单 Pi 音频工作站,我发现它只能作为一个概念验证。一旦我开始认真地在上面制作音乐,而不是仅仅为了娱乐而制作循环乐段,我发现即使只是一个简单的音序,它也运行得非常慢,当我将更多的合成器添加到混音中时,情况会变得更糟。和它一起涂鸦很有趣,但这绝对不是我会带到路上(这里的“路”指的是“工作室”)进行表演,或者带到活动中教人们计算机音乐的东西。

Tracker 简史

音乐并不总是在拥有千兆字节内存的快速多核计算机上制作的。事实上,音乐过去(并且在某些圈子里仍然是)在使用软盘驱动器和 MIDI 电缆的 机架单元 上制作的。换句话说,与其尝试使用现代音乐软件的轻量级版本,最终的答案却是电子音乐的一个悠久传统:Tracker。

关于 Tracker 的正确历史超出了本文的范围,所以如果你有兴趣,请查找关于原始 Tracker 的信息,比如 FastTrackerProTracker。现在,只要说 Tracker 的概念至少在 90 年代初就出现了。(或者更早,这取决于你如何看待某些鼓机和采样音序器上的早期硬件接口。)

在我熟悉的三个 Tracker(Milky、Schism 和 Sound)中,我选择使用 MilkyTracker。MilkyTracker 在 2008 年获得了 GPL 授权,它试图模拟一个流行的原始 Tracker,FastTracker。它是跨平台的,并且非常轻量级,因为它不依赖于合成器来产生声音;相反,它会触发采样。Tracker 以使作曲的数据输入部分非常高效而闻名(音符以垂直列而不是水平方向排列,使得以自然的方式输入音符非常快速,就像你将数据输入到电子表格中一样),并且以产生从 8 位“芯片音乐”到专业级电子音乐杰作的音乐质量而闻名(因为它播放的内容取决于你使用的采样,而不是 Tracker 自身的功能)。

Tracker 也因可能具有任何音乐应用程序中最令人生畏的学习曲线而闻名。但别担心,它并不像它的声誉那样令人生畏。

MilkyTracker

要使用 MilkyTracker,你需要两样东西:

  1. MilkyTracker:你的仓库或首选的额外仓库(比如 SlackBuilds,有它可用)。
  2. 采样:你可以在 MilkyTracker 中通过绘制你自己的波形来创建你自己的采样,但如果你想制作听起来不像任天堂主题的音乐,那么你应该获取一个采样库。它们遍布互联网,但最好的一个就是 freesound.org,它拥有数十万个 Creative Commons 声音。你的采样应该是 WAV 格式;如果它们还不是,请进行上转换。

当你第一次启动 MilkyTracker 时,它的大小为 640x480,字体为八号。除非你在一个微型 LCD 屏幕上使用你的 Pi,否则你应该给它一些活动空间。要使你的工作区更大,请点击左上角控件集群中的 Config 按钮。

Configuring MilkyTracker

控制面板切换到配置面板;点击 Layouts 选项卡以选择 MilkyTracker 窗口的大小,然后点击 Fonts 选项卡以增大字体大小。

点击 OK 按钮以接受你的更改,系统会提示你重新启动 MilkyTracker。关闭 MilkyTracker 窗口并重新启动;你的新设置已被应用。你可以使用 Alt-Enter 在 MilkyTracker 中切换进出全屏模式。

现在你可以看到你在做什么了,让我们直接深入到 Tracking 工作流程中。

命名乐器,加载采样

就像在任何音乐软件中一样,你需要做的第一件事是确定你要使用的乐器。在 MilkyTracker 中,这发生在顶部的两个面板中:Instruments 面板和 Samples 面板。乐器包含采样,因此假设你从头开始,我们将为每个轨道(或 Tracker 术语中的“通道”)构建简单的乐器。

要为你的新乐器命名,双击 Instrument 面板中的空白 01 插槽。

MilkyTracker instrument panel

你可以随意命名你的乐器;事实上,你可能会认为它仅仅是一个轨道标签,至少在你开始设计更复杂的乐器库之前。

实际播放的声音Sample 面板确定。要将采样加载到当前活动的乐器中,请单击 Samples 面板中的一个空插槽,然后单击顶部的 Load 按钮。从出现的菜单中选择一个采样,然后单击 OK 以将采样加载到位。

关于 Pi A+ 和 Pi 2 B 的警告:我犯了一个错误,在我的 Pi A+ 上将一个非常长的采样(4 分钟)加载到 MilkyTracker 中,认为我会使用该采样的前几秒钟。结果发生的是,采样被加载、触发,然后循环并一次又一次地触发,直到 MilkyTracker 崩溃。无论如何,在 Pi 上使用长采样都不是一个好主意,当然也不是在只有 256MB 内存的 Pi 上使用。在尝试在歌曲中使用任何异常长的采样之前,请先编辑它们,以避免犯同样的错误。

是时候播放一些音乐了!

演奏音符

在 Tracker 中演奏一些音乐最直接的方法是在你的键盘(你用来打字的键盘)上。只要 Instrument 01 和一个有效的 Sample 在 Instruments and Samples 面板中突出显示,当你按下键盘上的任何这些键时,你应该会听到声音:

Z< 覆盖 C(4) 到 C(5),黑键映射到紧挨着的上一行。(所以,SD 分别为 C# 和 D#,依此类推。)

QI 覆盖 C(5) 到 C(6),数字键充当适当的黑键。这些八度音阶可以通过 F1F8 键进行调整。

我首先提到“键盘输入”方法,因为以我的经验,大多数音轨制作者都是通过键盘输入音符的。这是使用音轨制作器效率的一部分。然而,MilkyTracker 中包含一个不错的虚拟半音阶键盘,它不仅可以用来输入音符,还可以编辑包络和添加效果。通过左上角控制面板中的 Ins. Ed. 按钮打开乐器编辑器。(它位于通道 1 列的正上方,Load 按钮下方和 Optimize 按钮上方。)

乐器编辑器提供了一个小型虚拟键盘,以及用于移动您正在播放的音符的默认八度的按钮。

MilkyTracker Instrument Editor panel

乐器编辑器还允许您修改采样的持续音、添加颤音、调整声像,以及塑造音符的音量和声像行为(每个键击,而不是针对整个乐器)。

录音

与音序器通常的情况一样,MilkyTracker 中有两种录音模式:实时录音和步进输入。两种模式都可以通过同一个键盘快捷键进入:空格键

Screenshot of setup, recording

实时录音

对于实时的、即时的录音,按下空格键以启动录音,然后按下 Play Sng 按钮(位于 通道 1 列的正上方)。没有倒计时,所以你可能想自己构建一个。无论哪种方式,歌曲都会一直循环播放直到你停止,所以如果你错过了一个小节,你可以在下一次循环中重新录制。

步进输入

输入音符时,您不必试图跟上电脑的速度。进入录制模式后,您可以按向上向下箭头,从一个节拍移动到另一个节拍,然后按下您想要在该节拍播放的任何音符。很常见看到音轨制作者一只手只使用 Q-U 和 A-M 键,另一只手使用方向键和一些额外的键。

MIDI 数据输入

如果您已将音符输入到您正在起步的歌曲中,您会注意到每个通道中有几个内部列,当为空时,每一列都用点(.)表示。这些列是与每个节拍一起发送的 MIDI 数据。

  • 第一个三元组可能很明显:它是音符和八度。例如:C-5E#4 等等。
  • 第二列代表乐器编号。在本文的演示歌曲中,我只定义了三个乐器,所以 01 到 03 是有效条目(请注意,在个位数数字中,0 字符被点替换)。我通常从顶部的面板中自己选择乐器和采样,并且该值在音符输入期间被继承。但是,此列使您可以手动覆盖。
  • 第三个位置是音符的音量。00 到 40 是有效值(它们对应于十六进制值,以防您想知道 _40_ 的最大值)。
  • 最后一个三元组包含效果值(音高弯音、颤音、滑音等)。完整的效果代码列表可在 MilkyTracker 手册中找到。

我通常先输入音符,然后再回头微调音量和效果等细微之处,但如何以及何时输入数据取决于您。

手动编辑

MilkyTracker 的优点之一是,如果您愿意,一切都可以完全通过键盘驱动。

沿音轨(在音轨制作者术语中为“通道”)导航可以使用向上向下箭头键(用于从一个节拍移动到另一个节拍),以及向左向右移动通道内的列。

Tab 键在通道之间移动。

正如您所期望的,退格键会删除您当前行上方的音符。

回车键从头开始播放您的歌曲,而 Alt-Space 停止播放。

还有许多许多其他的命令,但这些是基本的。完整的列表可在 MilkyTracker 手册中找到。

保存您的工作

要保存您的工作,以防您想停止音轨制作并在以后返回,只需单击顶部控制面板中的 SaveAs... 按钮。

Screenshot of setup, save your file

导出

最后但同样重要的是,在某个时候,您会想要导出您的歌曲,这样并非每个人都需要知道如何使用音乐音轨制作者来收听您的作品。MilkyTracker 导出为 WAV 文件。

要导出,请单击控制面板中的 Disk Op. 按钮。这将打开 Disk Op. 面板。

Exporting your masterpiece
导出您的杰作。

Song 部分中,在 .wav 旁边的框中打勾,然后单击 Save As

在出现的对话框中,将您的文件保存到您的主目录(或 ~/Music,或您喜欢的任何目录)。等待它导出,您就完成了!

Tracker Pi

低至 A+ 和 B 型号的 Raspberry Pi 都毫无问题地支持 MilkyTracker。我发现音乐音轨制作者是快速构建循环的绝佳工具,但只要您设置好包含一些采样的环境并提供快速演示,它也可以成为入门级用户极具创造力的工具。由于 Raspberry Pi 不需要进行大量的计算(就像实时合成或实时效果一样),因此声音的质量仅取决于您使用的采样的质量。

简而言之:是的,您可以在一台 35 美元的电脑上制作出令人惊叹的音乐。

Seth Kenlon
Seth Kenlon 是一个 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 书呆子。他曾在电影和计算行业工作,通常同时进行。

4 条评论

我已成功在 Pi Zero 上使用 Midi 键盘运行 QSynth。

太棒了! 你还能拿到 Zero 也太酷了! 我只听说过它的传说。

回复 作者:Tom2015(未验证)

我继续对用 Raspberry Pi 可以做的事情感到惊讶。

AHAHAHAHA! 惊讶于你可以用 Raspberry Pi 做的事情! 哦,这太有趣了! 让我们回想一下,30 年前,一台拥有 1Mbyte RAM、192Kbytes ROM(容纳整个操作系统)和 8MHz 16 位处理器的计算机。 它可以做同样的事情! 我说的是 Atari 1040ST。

最低的 Raspberry Pi 拥有 255Mbytes 更多的(更快的)RAM、数百 MHz 更快的处理速度、2 倍更宽的处理器总线等等。

不,回到 '86 年,事情才真正令人印象深刻,因为事情是用汇编语言编写的,因为你必须这样做,才能榨取每一盎司的性能。

Raspberry Pi 可能是 35 美元 vs. 1,000 美元,并且大约相当于 3.5 英寸 720K 软盘的大小,但如果你将 TOS/GEM 编码到它,你会惊讶于你可以用如此紧凑的代码完成什么,在如此快如闪电的硬件上运行!

现在,那会很有趣……

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.