<div id=time>Time domain data
<canvas id=scope></canvas>
</div>
<div id=frequency>
Frequency domain data
<canvas id=freq></canvas>
</div>
<pre>
// gain
var g = ctx.createGain();
g.connect(sink);
source.connect(g);
g.gain.setValueAtTime(0, 0);
g.gain.linearRampToValueAtTime(1.0, 5);
// delay
var d = ctx.createDelay();
var g = ctx.createGain();
d.connect(g);
g.gain.value = 0.5;
g.connect(sink);
source.connect(d);
source.connect(sink);
g.connect(d);
d.delayTime.value = 0.1;
source.connect(d);
// biquad
var b = ctx.createBiquadFilter();
b.frequency.value = 1500;
b.connect(sink);
source.connect(b);
// Waveshaper
function makeDistortionCurve( amount ) {
var k = typeof amount === 'number' ? amount : 50,
n_samples = 44100,
curve = new Float32Array(n_samples),
deg = Math.PI / 180,
i = 0,
x;
for ( ; i < n_samples; ++i ) {
x = i * 2 / n_samples - 1;
curve[i] = ( 3 + k ) * x * 20 * deg / ( Math.PI + k * Math.abs(x) );
}
return curve;
}
var ws = ctx.createWaveShaper();
ws.curve = makeDistortionCurve();
source.connect(ws);
ws.connect(sink);
// verb
getFile(url, function(data) {
getFile(verb, function(verb) {
var source = ctx.createBufferSource();
source.buffer = data;
source.loop = true;
source.playbackRate.value = 1.44;
var c = ctx.createConvolver();
c.buffer = verb;
source.connect(c);
c.connect(sink);
source.start(0);
});
});
</pre>
Output
This bin was created anonymously and its free preview time has expired (learn why). — Get a free unrestricted account
Dismiss xKeyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |