DSPRelated.com
Forums

Short Time Fourier Transform Time Localization (overlaping windows)

Started by uPmodulation April 18, 2011
So I am working on an onset detection algorithms for music signals.

For each group of samples i take I apply a hamming window and each frame
overlaps by %50. 
I take the STFT of the signal.
I apply an ideal highpass filter to the signal (i.e., linear weighted
frequencies) 
I integrate the signal to obtain the energy (i.e., each weighted STFT gets
summed into a signal value)

I need to label time instances for each of those energy values or
non-overlaping time ranges for where those energy values occur. 

Does anyone one have any recommendations for how i can accurately represent
the time that each of those energy points occur?

thank you  





On Apr 18, 1:45=A0pm, "uPmodulation" <adamatbing@n_o_s_p_a_m.gmail.com>
wrote:
> So I am working on an onset detection algorithms for music signals. > > For each group of samples i take I apply a hamming window and each frame > overlaps by %50. > I take the STFT of the signal. > I apply an ideal highpass filter to the signal (i.e., linear weighted > frequencies) > I integrate the signal to obtain the energy (i.e., each weighted STFT get=
s
> summed into a signal value) > > I need to label time instances for each of those energy values or > non-overlaping time ranges for where those energy values occur. > > Does anyone one have any recommendations for how i can accurately represe=
nt
> the time that each of those energy points occur?
Depends on what you mean by 'accurately'. If you mean how to label the data points in the STFT where the norm is highest (or the gradient of the norm is highest)=A0then this is a simple if laborious question of book-keeping. If you mean how to detect the instance in the data stream where the 'true' onset of the tone occurs, you are in trouble. The time-bandwidth product will interfere with your efforts. Rune