I know it works in the latest Chrome browser on Windows, it nearly works in the latest Firefox on Windows, it might work in Safari and it can't work in Internet Explorer.
If you cannot produce your own Morse code then try using my Morse code translator to play some. I find that it is best to run the translator in one browser (e.g. Firefox) and this analyser in another (e.g. Chrome). If you choose 30 wpm in the translator then you need to choose 40 ms for the "dit length" here. 20 wpm requires 60 ms dit length.
Another way is to try the built-in samples instead of using the mirophone: sample 1 (700Hz, 20 wpm), sample 2 (700Hz, 20 wpm), sample 3 (700Hz, 20 wpm) (and yes, I got 2 letters the wrong way round), sample 4 (700Hz, 25 wpm).
If you want to, you can pass in the form parameters as URL parameters using the ftarget, fwidth, volThresh and ditLength keys (see the final sample link above).
If you want to provide feedback, please comment on my blog post.
Sorry about the adverts :-)
Use these controls to start and stop listening to the microphone:
Spectrogram (the pink area is being analysed):
Actual frequency band is from to Hz ( frequency bins)
Zoomed spectrogram of analysis region:
Average amplitude in analysis region (the area in pink is being analysed):