So I wrote an algorithm which is able to analyse audio and detect where there may be some microphone wind noise.  We know that microphone wind noise can cause a degradation in the quality of audio so it is useful to know if it is present or not.   The algorithm is open source and lives here https://github.com/kenders2000/WindNoiseDetection.

So I wrote this algorithm which take features extracted from audio and is trained (using a bagged decision tree ensemble) to detect and classify the level of wind noise on the audio.  This is all well and good but if people dont use it then the exercise to somewhat pointless.  There is a need for researchers such as myself to get our names\work out there and get people using our stuff.  What better reward is there than having people use your ideas to create useful and important applications.  This is known as ‘impact’ in the academic world.  So this is the motivation behind this ‘library’.  Put the code into a formate where it can be easily dropped into other people’s code and be put to use.

Therefore I reworked the code for the iOS app written in objective C and rewrote it removing some libraries which had more restrictive license agreements and writing some new code.  The code I produced is actually a stand alone program (so not strictly a library) it needs compiling on whatever system you may be using.  It is written mainly in C with some C++ thrown in.  The memory management with just C was becoming tiresome so I wrote some classes to carry out my bagged decision tree operations.  If you are interested in this I wrote some matlab code which will convert a matlab decision tree class to a text file which can be read by my C++ class, it is listed here: https://github.com/kenders2000/decisionTreeMat2Cpp. I was pretty chuffed with it (I hadn’t done much C++!)