我很好奇播放声音文件的最简单方法是什么,或者以给定速度播放某些频率。您可以实现的最简单的节拍器。有什么想法吗?
答案 0 :(得分: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单元并以正确的速度重新触发即可。在这里,我们假设您已将样本加载到缓冲区b
:
x = {PlayBuf.ar(1, b, trigger: Impulse.kr(~bpm/60))}.play;
或者,我可以使用模式将一些东西放在一起,而不是像我之前那样将它作为Synth:
p = Pseq([Pfunc({ b.play; 60/~bpm })], inf).play