Note onset detection

Here is a graphic that illustrates the threshold approach to note onset detection: This image shows a typical WAV file with three discrete notes played in succession. The red line represents a chosen signal threshold, and the blue lines represent note start positions returned by a simple algorithm that marks a start when the signal … Read more

Any good recommendations for MP3/Sound libraries for java? [closed]

JLayer should do everything you need. It’s not dead, it’s just stable. The author finished it up quite a long time ago and the MP3 format has not seen much change since. You’ll notice that his MP3SPI codebase is a little more recent. What MP3SPI does, is that translates JLayer’s abilities into JavaSound APIs. Thus … Read more

How to implement band-pass Butterworth filter with Scipy.signal.butter

You could skip the use of buttord, and instead just pick an order for the filter and see if it meets your filtering criterion. To generate the filter coefficients for a bandpass filter, give butter() the filter order, the cutoff frequencies Wn=[lowcut, highcut], the sampling rate fs (expressed in the same units as the cutoff … Read more

How to do unsigned saturating addition in C?

You probably want portable C code here, which your compiler will turn into proper ARM assembly. ARM has conditional moves, and these can be conditional on overflow. The algorithm then becomes: add and conditionally set the destination to unsigned(-1), if overflow was detected. uint16_t add16(uint16_t a, uint16_t b) { uint16_t c = a + b; if … Read more

tech