# Getting a weired behavior when windowing an audio signal

I am processing audio signals using Essentia, an open-source library and tools for audio and music analysis, description and synthesis. Here is a waveform corresponding to a frame extracted from an audio signal. The plot is obtained with the following instruction:

plt.plot(essentia.array(audio_pool['frames.actual-frames'][22]))


... and here is the previous waveform, windowed. The plot is obtained with the conjunction of these two instructions:

w = std.Windowing(type='hamming',
size=len(audio_pool['frames.actual-frames'][22]),
normalized=False)
plt.plot(w(essentia.array(audio_pool['frames.actual-frames'][22])))


We can see that the resulting waveform is somehow inverted, i.e. the beginning of the original signal occurring in the middle.

I tried other window types (rect, hann, etc.) as well as w/ and w/o zero-padding the original signal, I get the same behavior.

It turns out that the windowing function that is used performs by default "Zero-Phase Zero-Padding" on the input signal. You can disable this feature by setting the zeroPhase parameter to False as follows:
w = std.windowing(type='hamming',