Livecoding: mudanças entre as edições
De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Sem resumo de edição |
|||
Linha 82: | Linha 82: | ||
Pdef(\p1).play | Pdef(\p1).play | ||
Pdef(\p1).stop | Pdef(\p1).stop | ||
</pre> | |||
Modificando rate e duração, acrescentando novos patterns para tocar o mesmo buffer | |||
<pre> | |||
Pdef(\p1, Pbind(\instrument, \player, \dur, Pseq([2],inf), \start, Pseq([44100*24], inf), \rate, 0.2)) | |||
Pdef(\p1).play | |||
Pdef(\p1).stop | |||
Pdef(\p2, Pbind(\instrument, \player, \dur, Pseq([2],inf), \start, Pseq([44100*23], inf), \rate, Pseq([0.3, 0.3, 0.3, 0.3, 0.4, 0.4], inf))) | |||
Pdef(\p2).play | |||
Pdef(\p2).stop | |||
Pdef(\p3, Pbind(\instrument, \player, \dur, Pseq([8],inf), \start, Pseq([44100*46], inf), \rate, 0.4)) | |||
Pdef(\p3).play | |||
Pdef(\p3).stop | |||
</pre> | </pre> |
Edição das 00h23min de 18 de setembro de 2011
Scripts
Dia 1, 17/09/2011
Script para tocar o baixo em loop com uma pausa.
// duracao do compasso: 2.6746 segundos // script toca o audio do baixo e faz uma // pausa de um ou alguns compassos // sound file "a.wav" => string filename; 2 => int compassos_pausa; // the patch SndBuf buf => dac; // load the file filename => buf.read; // time loop while( true ) { 1 => buf.rate; 39*441 => buf.pos; 10.6985::second => now; 0 => buf.rate; (compassos_pausa*2.6746)::second => now; } // Std.rand2f(.2,.9) => buf.gain; // Std.rand2f(.5,1.5) => buf.rate; // if( me.args() ) me.arg(0) => filename;
Utilizando uma pulsação qualquer:
// Sincronizando 0.5::second => T; T - (now%T) => now; // Pegando o áudio SndBuf buf => dac; "data/kick.wav" => buf.read; // Loop infinito while(1) { 0 => buf.pos; T => now; }
Tocando um arquivo inteiro com o máximo de simplicidade. Amostra por amostra:
SndBuf buf => dac; "a.wav" => dac; while(1) 1::samp => now;
Em SuperCollider, tocando o arquivo durante 22 compassos
TempoClock.default.tempo = 1; b = Buffer.read(s, "/home/vilson/Samples/ginzburg.wav"); ( SynthDef(\player, { | out=0, bufnum=0, rate=1, start=0, dur=1, amp=0.8 | var signal = PlayBuf.ar(1, bufnum, BufRateScale.kr(bufnum)*rate, startPos:start); signal = signal * amp * EnvGen.kr(Env.linen(0.01, dur, 0.01), doneAction:2); Out.ar(out, signal ! 2) }).store; ) Pdef(\p1, Pbind(\instrument, \player, \dur, Pseq([22],inf))) Pdef(\p1).play Pdef(\p1).stop
Modificando rate e duração, acrescentando novos patterns para tocar o mesmo buffer
Pdef(\p1, Pbind(\instrument, \player, \dur, Pseq([2],inf), \start, Pseq([44100*24], inf), \rate, 0.2)) Pdef(\p1).play Pdef(\p1).stop Pdef(\p2, Pbind(\instrument, \player, \dur, Pseq([2],inf), \start, Pseq([44100*23], inf), \rate, Pseq([0.3, 0.3, 0.3, 0.3, 0.4, 0.4], inf))) Pdef(\p2).play Pdef(\p2).stop Pdef(\p3, Pbind(\instrument, \player, \dur, Pseq([8],inf), \start, Pseq([44100*46], inf), \rate, 0.4)) Pdef(\p3).play Pdef(\p3).stop