I wanted to demonstrate to my CodeClub students that Scratch is much, much more than a tool to generate basic games and simple animation... So, I have created Noise'O'Matic.
On the surface, it's a relatively simple project. Take the value of loudness and display it.
What makes this unique? Several things!
1) reuse of my Scratch direction to Real(tm!) degrees code from a previous analog clock project.
2) (Most importantly) The input data is processed using an exponential moving average algorithm. This has the effect of taming the wild fluctuation you get when recording from a microphone, smoothing the display and making the project less sensitive to point-noise (coughing, dropped pencils etc!) - It really does measure ambient/background noise levels.
I think there's a few improvements that could be made, measuring/recording peak noise. Perhaps a real-time display of current volume levels... alas!
Here's a real tool, something immediately usable and demonstrable to my students. I can (and will!) actually use this to remind them how terribly noisy they're being!
You can visit my project here. http://scratch.mit.edu/projects/plemon11/2731434 - One thing to note, because the Java viewer lacks microphone input, it will only work in the Flash client or offline in the Scratch editor. Minor details eh?!
PL
.
Offline