Gibber is a live coding environment for the web browser, using the Gibberish audio engine and the CodeMirror code editor. It runs in Chrome, Firefox and nightly builds of Safari.
Below is a code sample. To test out Gibber, visit http://www.charlie-roberts.com/gibber
Gibber.setBPM(180); // default = 120. You can also refer to Gibber as _g.
s = Sine(240, .25); // Sine wave with freq 240, amp .5.
s.fx.add( // create an fx chain for oscillator
Clip(50), // Soft-Clip Distortion
Delay(_16) // Delay with delay time set to 1/4 of a beat (1/16th note)
);
a = Arp("C2m7", _16, "updown", 3); // Arpeggiator: Cminor7 chord in 2nd octave, 16th notes, up then down, 3 octave range
d = Drums("x*o-x*o-", _8);
d.chain( Crush(6) );
d.pitch = 2; // play drum sapmles at twice their normal pitch
s.mod("frequency", LFO(8, 4), "+"); // Vibrato - modulating frequency by +/- 4Hz 8 times per second
s.removeMod(0);
a.shuffle(); // randomize arpeggio
a.reset(); // reset arpeggio
Master.fx.add( Schizo(), Reverb() ); // Master FX are applied to summed signal of all generators
Master.removeFX(0); // remove first effect in chain. don't pass a argument to remove all fx.
Gibber also relies on Sink.js, audiofile.js, require.js and jQuery for functionality. Note that for drum samples to work the sample locations in drums.js must be changed.