0

我很好奇以给定的速度播放声音文件或某个频率的最简单方法是什么。您可以实现的最简单的节拍器。有任何想法吗?

4

1 回答 1

2

如果您正在寻找简单,那么“最简单的节拍器”就是

~bpm = 120; x = {Impulse.ar(~bpm/60)}.play;

但听起来不是很悦耳,而且只会出现在左声道。

对于音调而不是点击,并且在两个通道中,一种简单的方法是

~bpm = 120; x = {SinOsc.ar.dup * Pulse.ar(~bpm/60, 0.01).lag}.play;

要播放 WAV 文件,您可以简单地使用 PlayBuf 单元并以正确的速度重新触发它。在这里,我们假设您已将样本加载到 Buffer 中b

x = {PlayBuf.ar(1, b, trigger: Impulse.kr(~bpm/60))}.play;

或者,您可以使用 Patterns 将一些东西放在一起,而不是像我刚才那样将它作为一个 Synth 来做:

p = Pseq([Pfunc({ b.play; 60/~bpm })], inf).play

于 2015-07-18T17:07:11.850 回答