Wednesday, December 17, 2014

Javascript audio feature extraction library designed for and implemented in the Web Audio API

I've posted hugh's demo on for you to try out.

This is a Javascript library for "Feature Extraction."

If you don't know what "Feature Extraction" is, let me tell you:

It's a term used in Machine Learning.  A "Feature" is quite simply a "calculation."  For example, if you examine a stream of sound or a file, you may want to calculate the average loudness of the stream every 50 milliseconds.  In that case, you are said to be calculating the "Feature" of loudness.  Also, you may wish to calculate the loudest part of the spectrum.  In that case, you would extract the feature called "Spectral Centroid."

So now you learned the jargon of what it means when everyone says they are "computing features."  What is it good for?

The primary use of features is in "trying to figure out what a piece of audio means."  For example, I once wrote a script that automatically downloaded 2-hour FM radio shows from WMBR.  I wanted to know which parts of the shows were the DJ talking and which parts were the music.  So, to do that, I did some research and discovered it's possible to compute "features" on the audio and compare them to determine whether the audio is speech or music.

Unfortunately the code for that is on a computer in another country at this moment, but if enough people request it, when I get back to that computer, I'll post the code and show how it works.

Good luck with this library and try out the demo I posted at Meyda Demo on