Skip to content

Instantly share code, notes, and snippets.

@automata
Created May 20, 2012 03:22
Show Gist options
  • Save automata/2739659 to your computer and use it in GitHub Desktop.
Save automata/2739659 to your computer and use it in GitHub Desktop.
tutorial gibber
// controles
// use ctrl + enter para avaliar a linha (ou o que vc selecionar)
// use ctrl + shift + enter para avaliar no próximo compasso somente
// use ctrl + ` para limpar o grafo de síntese
// osciladores
// args => frequencia=440, amplitude=.25
s = Sine();
s = Tri(440, .1);
s = Square(440, .1);
s = Saw(440, .1);
s = Pulse(440, .1);
s = InvSaw(440, .1);
s.frequency = 220;
s.amp = .25;
s.stop();
// synth
// é mais interessante usar um instrumento (synth) que é um oscilador + envelope
// args => forma de onda=triangle, amplitude=.25
s = Synth();
s.note('A#4');
s.attack = 10;
s.decay = 500;
// polysynth
// podemos tocar acordes
// args => acorde
p = Poly("C4m7");
p.trig(.25);
// fm synth *** não está funcionando ***
// adiciona um oscilador ao synth, para modular sua frequência
// args => carrier, index, attack, decay ou... um preset... por enquanto "gong" e "brass"
f = FMSynth("gong");
f.note("A#4");
// tempo
// gibber é direcionado a composição de músicas com compasso regular
// usamos valores do tipo _N para definir durações para cada compasso
// por exemplo, _1 = 1 duração a cada compasso, _2 = duas durações a cada compasso, ... _32
// para definir o BPM usamos
G.setBPM(140);
// sequenciando
// podemos criar sequências, manipulá-las e associá-las a um synth
s = Synth();
seq = Seq(["A4", "B4", "C4", "C#4"], _4);
seq.set(["A4", "B4", "C4", "D4"]);
seq.slave(s);
seq.stop();
// sequenciando em uma escala
G.root = "C4";
G.mode = "aeolian";
seq = ScaleSeq([0,1,4,2]);
seq.set([0,1,4,2]);
seq.slave(s);
seq.pause();
seq.play();
seq.stop();
// arpegiando
s = Sine();
a = Arp("C4m7", _16, "updown", 2);
a.chord = "D4m7";
a.slave(s);
a.stop();
// drums
// x = snare
// o = kick
// _4 = compasso
d = Drums('xoxo', _4);
// filtros
// adicionamos reverb ao synth s
s.fx.add(Reverb());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment