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

最佳答案

如果您正在寻找简单的话,那么“最简单的节拍器”就是
~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

关于audio - 在SuperCollider中以给定速度播放样本/音调的最简单方法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31482726/

10-12 00:24
查看更多