/DecibelMeter

HTML5 decibel meter

Primary LanguageJavaScriptThe UnlicenseUnlicense

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