Sorry for the thread resurrection, but I think this is the correct place for this post. I built the html/Javascript version of the UNSW Flash app featured in this thread. Mine is not as slick as that one, as I'm using it as an exercise to learn about web programming and my new toy:
The Web Audio API.
A web browser apparently has some pretty interesting audio tools already built in, and a programmer can quickly put together synthesizers, recorders, FFT-based analyzers, and custom audio playback systems. The API gives you access to oscillators, biquad filters, splitters, delay and gain modules, a convolver, etc. And you can work at the sample level if what you're looking for isn't already built in. Probably this topic deserves its own thread.
Some samples on what it can do: http://webaudioapi.com/samples/ , http://webaudioplayground.appspot.com/# , http://tai2.net/docs/webaudiocomposer/ , https://chinmay.audio/auralizr/
Here's my first project, starting small using the Web Audio API's built-in oscillators:
YuCH. Tweak/correct the code if you want.
That link is flaky, so it might take a few tries to get it. Maybe, as the program matures, it'll do more than just loudness testing and I'll rename it to MEH (misguided EQ helper) or SICH (self-inflicted calibrator for headphones) Lol.
Some notes:
- This works better on a big, hi-res display. I have to figure out how to make it smaller so that it fits on the iPad's screen. It also needs to be tweaked to make it work better with touch.
- I stopped at 31.5 Hz at the low end and 12.5 kHz at the high end because you start needing gobs of gain to play the extreme frequencies at the same level.
- There are 8 tones in the tone cluster, spaced evenly in the 1/3 octave band, and they're being played at the same level--a rectangular window of sorts. The number of tones can be changed in the code easily. Maybe a non-rectangular window would work better.
- I haven't implemented the band-limited noise yet. What I did notice is that when I used a sharp rectangular bandpass filter on white noise (which can be done quickly in Audacity), the result sounds similar to the tone cluster.
- The Web Audio API has sine-, square-, sawtooth-, and triangle-wave oscillators, but doesn't have a white noise generator. But you can build it with a random number generator, working at the sample level. The kit comes with all sorts of filters, and I have a feeling that it won't be that hard to roll your own steep IIR or FIR filter if it doesn't already come out of the box.
- Maybe a future version will have an EQ on the third chart, and a way to load and an audio file.