<button onmousedown="play(audio2);">Sine wave</button>
Learning how to create all-platform playable tones, I created this snippet based on this source example. It does creates the expected, is it JSFiddle that does not allows the creation of the sound file?
JSFiddle wraps your code in a function, unless you explicity tell it not to. Therefore any functions defined there only exist in that function, and can't be called by inline event handlers.
Change the "onLoad" in the drop-down to "no wrap".