This analyzer conducts a Hilbert transform of the audio waveform, and outputs the instantaneous level, frequency and phase. The Hilbert transform is a simple way of extracting the envelope of a signal without using an integrating function (hence, yielding the instantaneous level as a function of time). This is achieved by phase shifting the input waveform by -90 degrees, and taking this as the imaginary part of a complex waveform (with the original waveform as the real part). The magnitude of this complex waveform is the instantaneous amplitude, which can be transformed into decibels as instantaneous level. The phase of this complex waveform is called instantaneous phase, and differencing it with an appropriate coefficient yields the instantaneous frequency.

User Settings

The waveform can be weighted prior to conducting the Hilbert transform. This could be useful in removing very low frequency components (which might not be analysed well in the Hilbert transform).


If synchronisation is not used, then output data rate is the same as the audio sampling rate. Hence, synchronisation would almost always downsample the output data.

Instantaneous Level

This is the sound pressure level derived from the Hilbert transform. Its value is affected by calibration.

Instantaneous Frequency

Instantaneous Phase


The instantaneous level of a pure tone of a given sound pressure level should be a constant value equal to that sound pressure level.
The instantaneous frequency of a pure tone should be a constant value equal to that frequency.

Code Authors

This analyser was written by the PsySound3 team.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License