DecibelMeter
Monitor dB Levels Using HTML5 Audio API
DecibelMeter allows you to monitor the noise level using your device's microphone(s) from within a web page or node-webkit application.
Browser Support
I have only tested this in Chrome for Windows and Chrome for Mac.
Live Example
You can try the DecibelMeter now: DecibelMeter example
Usage Examples
Create a decibel meter
var meter = DecibelMeter.create('unique-id');
Get a list of audio sources on the device
var audioSources;
meter.on('ready', function (meter, sources) {
audioSources = sources;
});
Connect to an audio source
meter.connect(audioSources[0]); // connect to first source, assumes meter is ready
Do something with the decibel data
var level = document.getElementById('db-level');
meter.on('sample', function (dB, percent, value) {
level.innerHTML = dB + ' dB'; // display current dB level
});
Start listening to audio source
meter.listen(); // "sample" callback set above will now receive data
Stop listening to audio source
meter.stopListening();
Disconnect from the audio source entirely
meter.disconnect();
Multiple meters on one page
var meter1 = DecimelMeter.create('meter-1');
var meter2 = DecimelMeter.create('meter-2');
var meters = DecimelMeter.getMeters(); // all meters created on this page
meter1 === DecimelMeter.getMeterById('meter-1'); // true