Какой самый простой способ воспроизвести семпл / тон с заданным темпом в SuperCollider?

Мне любопытно, как проще всего воспроизвести звуковой файл или какую-то частоту с заданным темпом. Самый простой метроном, который вы можете реализовать. Есть идеи?

1 ответ

Если это простота, которую вы ищете, то "самый простой метроном"

~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, как я делал тогда, вы можете собрать что-то вместе, используя Patterns:

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

Другие вопросы по тегам