使用 Sonic Pi 像写代码一样编曲
创始人
2024-03-02 09:26:37
0

有了这个易于使用的开源程序,不需要掌握乐器,就可以把你变成一个音乐大师。

也许你和我一样,在上学的时候学过一种乐器。对我来说,那是钢琴,后来是中提琴。然而,我一直认为,随着我童年的兴趣转向计算机和编码,我后来忽略了音乐练习。我确实想知道,如果我年轻时有 Sonic Pi 这样的东西,我会怎么样。Sonic Pi 是一个开源程序,可以让你通过代码来创作和演奏音乐。它是这两个世界的完美结合。

我们对 Sonic Pi 并不陌生,早在 2015 年就对其创造者 Sam Aaron 博士 进行了采访。从那时起,Sonic Pi 在很多方面都有了很大的发展。它达到了一个重要的新版本里程碑,期待已久的 v3.2 版本已于 2020 年 2 月 28 日公开发布。一个不断壮大的开发者社区正积极为其 GitHub 项目 做出贡献,而在 官方论坛 中有一个同样繁荣的作曲家社区可以分享想法和提供支持。该项目现在还通过 赞助活动 获得了资金支持,而 Sam 本人也在世界各地的学校、会议和研讨会中传播 Sonic Pi 的信息。

Sonic Pi 真正的闪光点在于它的平易近人。它的版本适用于许多主要的操作系统,包括 Windows、macOS、Linux,当然也包括树莓派本身。事实上,在树莓派上学习使用 Sonic Pi 再简单不过了。它预装在 Raspbian 中,所以如果你有一个基于 Raspbian 的现有环境,你会发现它位于编程菜单中。

第一次加载 Sonic Pi 时,你会看到一个简单的界面,有两个主要的区域:一个编辑器,可以写你的代码,还有一个区域专用于 Sonic Pi 丰富的教程。对于新手来说,教程是学习基础知识的重要资源,它有配套的音乐程序来巩固所学的每个概念。

如果你跟着学习,让我们为自己编写一段简单的音乐,探索现场编码音乐的潜力。将以下代码输入或粘贴到 Sonic Pi 编辑器中:

live_loop :beat do
  sample :drum_heavy_kick
  sleep 1
end

即使你是一个 Sonic Pi 的新手,许多程序员可能马上就会明白这里发生了什么。我们正在播放一个 踏板鼓 drum kick 采样,停止一秒钟,然后重复。点击运行按钮或按 ALT+R(macOS 上为 meta+R),你应该听到它开始播放。

这不是一首非常激动人心的歌曲,所以让我们用一个在不合拍的 小鼓 snare 来使它生动起来。用下面的代码块替换现有的代码,然后再次运行。你可以在做这个的时候让现有的节拍继续播放;你会注意到你的改动会自然地应用,与节拍同步:

live_loop :beat do
  sample :drum_heavy_kick
  sleep 0.5
  sample :drum_snare_soft
  sleep 0.5
end

我们在做这个的时候,让我们在每四拍之前添加一个 踩镲 hi-hat ,让声音变得有趣一些。在现有的程序块下面添加新的程序块,然后再次运行:

live_loop :hihat do
  sleep 3.9
  sample :drum_cymbal_closed
  sleep 0.1
end

我们现在已经有了我们的节拍,所以让我们来添加一个 低音声线 bassline !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 包络 envelope ,所以我们可以决定每个声音何时达到峰值和衰减。

最后,让我们添加一个 主音合成器 lead synth ,试试那些被称为“ 切片器 slicer ”的效果特征。为了使事情更有趣,我们还将引入一个伪随机的元素,让 Sonic Pi 从一系列潜在的 和弦 chord 中挑选。这就是一些有趣的即兴创作和“快乐的意外”可以开始发生的地方。在你现有的程序中加入下面的程序块并运行:

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 竞争,但希望通过这个过程,你已经看到我们如何通过添加一些简单的代码,实时地从一个单一节拍变成更大的东西。YouTube 上 Sam Aaron 的 现场编码表演 非常值得一看,它展示了 Sonic Pi 可以让你有多大的创造力和适应力。

Sonic Pi composition example

我们完成的作品,完整版

如果你曾经想学习一种乐器,但又觉得被“我没有节奏感”或“我的手不够灵活”这样的想法所束缚,Sonic Pi 是一种多功能的乐器,这些都不重要。你所需要的只是想法和灵感,以及一台便宜的电脑,如简陋的树莓派。其余的都在你的指尖上(实际意义上的)。

这里有几个方便的链接可以让你开始:


via: https://opensource.com/article/20/3/sonic-pi

作者:Matt Bargenquast 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

金正恩观看朝鲜在俄作战士兵...
当地时间6月29日,朝鲜最高领导人金正恩会见访朝的俄罗斯文化部长奥...
2025-07-01 12:42:22
音乐行业的顽疾,关AI什么...
上一篇文章我们横测了如今国内外 5 款 AI 音乐创作平台,一点点...
2025-06-18 23:11:57
父亲节也要仪式感!我们请A...
又是一年父亲节,我们用AI给父亲们写了一首专属歌曲,祝每一位默默付...
2025-06-15 08:12:30
AI原创音乐《高考加油》
简介:这是一首献给高考学子的青春战歌,歌词以深夜备考的画面切入,真...
2025-06-05 07:42:28
年报前瞻:文化产业高质量发...
港股进入年报季,今年的披露期拥有比往年更多的看点。 ...
2025-05-31 03:47:45
昆仑万维:AI应用持续落地...
昆仑万维北京总部大楼 本报记者 刘杨 摄 从天工大模型4.0到音乐...
2025-05-19 13:17:44

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...