<html>
<head>
<script src='https://surikov.github.io/webaudiofont/npm/dist/WebAudioFontPlayer.js'></script>
<script src='https://surikov.github.io/webaudiofontdata/sound/0520_Chaos_sf2_file.js'></script>
<script src='https://surikov.github.io/webaudiofontdata/sound/0530_Soul_Ahhs_sf2_file.js'></script>
<script>
var womanPreset=_tone_0530_Soul_Ahhs_sf2_file;
var manPreset=_tone_0520_Chaos_sf2_file;
var AudioContextFunc = window.AudioContext || window.webkitAudioContext;
var audioContext = new AudioContextFunc();
var player=new WebAudioFontPlayer();
var manGain = audioContext.createGain();
manGain.connect(audioContext.destination);
var womanGain = audioContext.createGain();
womanGain.connect(audioContext.destination);
player.loader.decodeAfterLoading(audioContext, '_tone_0530_Soul_Ahhs_sf2_file');
player.loader.decodeAfterLoading(audioContext, '_tone_0520_Chaos_sf2_file');
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<a href="#" onmousedown="player.queueWaveTable(audioContext, manGain, manPreset, 0, 12*4+0, 3);">
<img src="https://surikov.github.io/webaudiofont/img/voiceMan.jpg" width="285" height="214">
</a>
</td>
<td rowspan="2">
<a href="#" onmousedown="player.queueWaveTable(audioContext, womanGain, womanPreset, 0, 12*5+0, 3);">
<img src="https://surikov.github.io/webaudiofont/img/voiceWoman.jpg" width="375" height="456">
</a>
</td>
</tr>
<tr>
<td>
<p>Man volume</p>
<p>
<input type="range" id="maRange" value="1.0" min="0.2" max="1" step=0.2 onchange="manGain.gain.value=this.value;">
</p>
<p>Woman volume</p>
<p>
<input type="range" id="woRange" value="1.0" min="0.2" max="1" step=0.2 onchange="womanGain.gain.value=this.value;">
</p>
</td>
</tr>
</table>
<hr/>
<p><a href="https://surikov.github.io/webaudiofont/">source</a></p>
</body>
</html>
Output
You can jump to the latest bin by adding /latest
to your URL
Keyboard 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. |