Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <h3>Caution: Lower Your Volume Settings</h3>
  <p>
    WebAudioApi oscillators suffers from aliasing?<br>
    Tested on Chrome Version 56.0.2924.87 (64-bit)
    Mac Book Pro (Headphones)
  </p>
  <button>Play Chirp (20-20000Hz)</button>
  <h5>twitter@andremichelle</h5>
</body>
</html>
 
var button = document.querySelector("button");
button.onclick = function(e) {
  button.disabled = true;
  var context = new AudioContext();
  var currentTime = context.currentTime;
  var osc = context.createOscillator();
  osc.type = "square";
  osc.frequency.value = 20.0;
  osc.frequency.setValueAtTime( 20.0, currentTime );
  osc.frequency.exponentialRampToValueAtTime( 20000.0, currentTime + 10.0 );
  osc.start(currentTime);
  osc.stop(currentTime + 10.0);
  osc.connect( context.destination );
  osc.onended = function(evt) {
    button.disabled = false;
  };
};
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
andremichellepro
0viewers