也许您和我一样,在学校时学习了一种乐器。对我来说,是钢琴,后来是中提琴。 但是,我一直认为,随着我童年的兴趣转移到计算机和编程,我随后忽略了我的音乐练习。我确实想知道如果我小时候有像 Sonic Pi 这样的东西我会做什么。 Sonic Pi 是一个开源程序,可让您通过代码本身来编写和演奏音乐。 这是两个世界的完美结合。
Opensource.com 对 Sonic Pi 并不陌生 - 我们曾刊登过对 Sonic Pi 的创建者 Sam Aaron 博士的采访,时间追溯到 2015 年。从那时起,发生了很大的变化,Sonic Pi 在许多方面都得到了极大的发展。 它已经达到了一个新的主要版本里程碑,期待已久的 v3.2 版本于 2020 年 2 月 28 日公开发布。 越来越多的开发人员积极为其 GitHub 项目做出贡献,而同样蓬勃发展的作曲家社区则在官方论坛中分享想法和提供支持。 该项目现在还通过Patreon 活动获得了经济上的帮助,Sam 本人也一直在世界各地的学校,会议和研讨会中传播 Sonic Pi 的信息。
Sonic Pi 真正闪耀的地方在于它的易用性。 发布版本适用于许多主要的操作系统,包括 Windows,macOS,Linux,当然还有 Raspberry Pi 本身。 实际上,在 Raspberry Pi 上开始使用 Sonic Pi 再简单不过了; 它预先安装了 Raspbian,因此,如果您有现有的基于 Raspbian 的设置,您会在编程菜单中找到它。
首次加载 Sonic Pi 时,您将看到一个简单的界面,其中包含两个主要区域:一个用于编写代码的编辑器,以及一个专门用于 Sonic Pi 庞大教程的部分。 对于新手来说,本教程是学习基础知识的重要资源,其中包含随附的音乐程序,以巩固所教授的每个概念。
如果您正在学习,让我们编写一段简单的音乐,并探索实时编码音乐的潜力。 将以下代码键入或粘贴到 Sonic Pi 编辑器中
live_loop :beat do
sample :drum_heavy_kick
sleep 1
end
即使您是 Sonic Pi 的新手,许多编码人员也可以立即理解这里发生了什么。 我们正在播放一个鼓底鼓采样,休眠一秒钟,然后重复。 单击“运行”按钮或按 ALT + R(macOS 上为 meta + R),您应该会听到它开始播放。
这还不是一首非常令人兴奋的歌,因此,让我们用一个在弱拍上演奏的军鼓来活跃它。 将现有代码替换为下面的代码块,然后再次“运行”。 您可以在执行此操作时让现有的节拍播放; 您会注意到您的更改将自然地,与节拍同步地应用
live_loop :beat do
sample :drum_heavy_kick
sleep 0.5
sample :drum_snare_soft
sleep 0.5
end
在同时,让我们在每第四个节拍之前添加一个踩镲,只是为了使事情变得有趣。 将此新代码块添加到现有代码块下方,然后再次“运行”
live_loop :hihat do
sleep 3.9
sample :drum_cymbal_closed
sleep 0.1
end
我们现在有了节拍,让我们添加一条贝斯线! Sonic Pi 具有内置的多种合成器,以及混响和失真等效果滤波器。 我们将结合使用“dsaw”和“tech_saw”合成器,以使其具有电子复古合成器的感觉。 将下面的代码块添加到您现有的程序中,然后“运行”并聆听
live_loop :bass do
use_synth :dsaw
play :a2, attack: 1, release: 2, amp: 0.3
sleep 2.5
use_synth :tech_saws
play :a1, attack: 1, release: 1.5, amp: 0.8
sleep 1.5
end
您会在上面注意到,我们在播放音符时可以完全控制 ADSR 包络,因此我们可以决定每个声音何时达到峰值和淡出。
最后,让我们添加一个主音合成器,并尝试使用一种称为“slicer”的效果功能。 为了增添趣味,我们还将引入伪随机元素,让 Sonic Pi 从一系列潜在的和弦中进行选择。 这是开始出现一些有趣的即兴创作和“快乐意外”的地方。 将下面的代码块添加到您现有的程序中,然后“运行”
live_loop :lead do
with_fx :slicer do
chords = [(chord :A4, :minor7), (chord :A4, :minor), (chord :D4, :minor7), (chord :F4, :major7)]
use_synth :blade
play chords.choose, attack: 1, release: 2, amp: 1
sleep 2
end
end
太好了! 现在,我们肯定不会很快与 Daft Punk 竞争,但是希望通过此过程,您已经看到我们可以通过添加一些简单的代码片段,从一个简单的节拍到实时地变得更大。 观看 Sam Aaron 在 YouTube 上的一个 现场编码表演,了解 Sonic Pi 如何让您更具创造力和适应性,这是非常值得的。

我们的完整作品
如果您曾经想学习一种乐器,但因为诸如“我没有节奏”或“我的手不够灵巧”的想法而感到沮丧,那么 Sonic Pi 是一种通用的乐器,这些都不重要。 您只需要创意,灵感和一台便宜的计算机(例如普通的 Raspberry Pi)。 剩下的都在您的指尖 - 确实如此!
以下是一些方便的链接,可帮助您入门
- Sonic Pi 官方网站和教程
- Sonic Pi 入门 (projects.raspberrypi.org)
- Sonic Pi Github 项目
评论已关闭。