概括
在第一部分中,我们看了播放合成声音和样本。 在这里,我们将扩展并介绍更多的结构/模式,并研究FX。
- 循环和迭代器-介绍一些基本结构
- 随机化-引入一些更有趣的声音
- 效果—在样本上叠加一些FX(混响效果)
- 生成琶音—使用一些变量和循环
循环/迭代器
在第一部分中,我们使用一个简单的循环播放一组脚鼓样本,如下所示:
use_sample_bpm:drum_heavy_kick
4.times | n |
样本:drum_heavy_kick
睡0.5
结束
让我们通过以下方式对此进行扩展:
- 播放样本(低音鼓踢)特定次数(使用.times)
- 添加另一个在第一个之后播放的样本,我们将使用sleep关键字以较慢的速度播放它。
use_sample_bpm:drum_heavy_kick
4.times | n |
样本:drum_heavy_kick
睡0.5
结束
3.times | n |
样本:drum_heavy_kick
睡2
结束
现在,让我们将整个事物围成无限循环,以便重复进行直到另行通知:
use_sample_bpm:drum_heavy_kick
循环做
4.times | n |
样本:drum_heavy_kick
睡0.5
结束
3.times | n |
样本:drum_heavy_kick
睡2
结束
结束
使用⌘+ R快捷方式或使用“运行”按钮。 这次,您将需要使用⌘+ S快捷方式或使用“停止”按钮。
很酷吗 尝试使用sleep的值,添加另一个.times部分。 尝试模仿流行音乐中的某些知识很有趣。
好的,让我们回到综合工具上来看看一些基本算法。
随机化
我们可以使用任何合成的乐器,并使用称为rrand()的函数来每次生成不同的音符。 最终听起来有些怪异。
use_synth:钢琴
循环做
打rand(20,80)
睡0.1
结束
您也可以将rrand()应用于其他事物,尝试将其与sleep关键字一起使用。
效果(FX)
在此过程中,让我们使用一些Sonic Pi FX(混响)来使我们奇怪的钢琴循环声音变得更奇怪:
use_synth:钢琴
with_fx:混响,房间:0.9
循环做
打rand(20,50)
睡0.4
结束
结束
您可以在此处找到有关FX参数的更多信息:
萨马龙
所有人的实时编码音乐合成器。 通过在GitHub上创建一个帐户为samaaron / sonic-pi开发做出贡献。 github.com
还有带有各种参数的混响FX:
萨马龙
所有人的实时编码音乐合成器。 通过在GitHub上创建一个帐户为samaaron / sonic-pi开发做出贡献。 github.com
产生琶音
好。 因此,我们生成了一些基本的音符序列。 现在让我们看看音乐中的一种相当标准的结构-琶音。 我们通过循环音符数组并在下面更改base_note值来创建琶音(首先在其上加3,然后再加7)。 我们通过将n加1来对数组中的每个音符进行此操作。
间隔= 0.2
笔记= [72、65、58、62]
虽然真实
n = 0
notes.length.times做
base_note =笔记[n]
3.次
播放base_note
睡眠间隔
播放base_note + 3
睡眠间隔
播放base_note + 7
睡眠间隔
结束
n + = 1
结束
结束
那给你提升了的琶音。 尝试通过从值中减去也创建降序的琶音。
现在,我们应该具有一些用于创建序列的非常基本的构建块。 我们可以通过使用函数来进一步改善结构,但这已经足够了。
在下一部分中,我们将研究如何使用合成器(用于鼓,基础和旋律)制作一首歌曲,然后添加一些Sonic Pi样本以进行变化。
备忘单
https://www.cl.cam.ac.uk/projects/raspberrypi/sonicpi/media/sonic-pi-cheatsheet.pdf