2015-07-17 12 views
0

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

ответ

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 и RETRIGGER его справа темп. Здесь мы предполагаем, что вы уже загрузили образец в буфер b:

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

или в качестве альтернативы, вместо того, чтобы делать это как Synth, как я только тогда, вы можете положить что-то вместе с помощью шаблонов:

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

+0

Проще, чем я думал! Как насчет образцов wav, было бы намного сложнее? – ciembor

+0

ОК, добавил это к моему ответу. Если вам нравится ответ PLS принять его :) –