Fork me on GitHub

Features

The purpose of Friture is to help analyze an audio signal to understand the characteristics of this signal (fundamental, harmonics, feedback, etc.), to describe the source/room/receiver behaviour (reverberation, gain peaks, etc.), or to make adjustments in the preprocessing (room equalization). This is achieved by providing a set of widgets to visualize audio data:

2D Spectrogram widget

Friture spectrogram widget

The 2D spectrogram widget displays audio data versus both frequency and time, in a rolling-against-time fashion. The time-frequency resolution of the display is fixed by the window length of the Fourier transform (as for the minimum response time of the spectrum widget). It is also limited by the resolution of your display in pixels.

Spectrum widget

Friture spectrum widget

The spectrum widget displays audio data versus frequency. This is very appropriate to visualize the characteristics of tha signal: fundamental frequency, harmonics, feedback frequencies, etc.

The response time of the display is configurable. The minimum response time is linked to the window length of the Fourier transform. For a FFT of 1024 points, and given the sampling rate of 48000 Hz used by Friture, the minimum response time is 1024/48000 = 21.3 ms.

Additionally, the widget draws peaks for each frequency component. These peaks mark the recent maxima of the spectrum, and start to decrease shortly after the peak was reached. Finally, a label identifies the frequency of the global maximum of the spectrum.

Octave Spectrum widget

Friture spectrogram widget

The octave spectrum widget displays audio data versus time, similarly to the Spectrum widget. Audio data is grouped in frequency bins with fraction-of-octave widths. Each frequency bin is the result of a fraction-of-octave filter.

The following figure illustrates the frequency response of the filter bank used with the 3 bands-per-octave setting. The filters for each octave are applied after decimations of the signal. Both the band-pass filters and the low-pass decimation filters are implemented as elliptic IIR filters. The -3dB width of each filter is constant on a logarithmic frequency scale.

Friture filters for the 3-bands per octave spectrum

Delay estimator

Friture delay estimator widget

The delay estimator widget computes the time delay between the 2 input channels. This is usehul to align speakers in a room.

The delay estimation is achieved using a cross-correlation algorithm. It only works when the 2-channel mode is enabled.

References:

  • Knapp, C. H. and Carter, G. C.: 1976, The generalized correlation method for estimation of time delay, IEEE Transactions on Acoustics, Speech and Signal Processing ASSP-24(4), 320-327.
  • Brandstein, M. S. and Silverman, H. F.: 1997, A robust method for speech signal time-delay estimation in reverberant rooms, Proc. IEEE International Conference on Acoustics, Speech and Signal Processing, Munich, Germany.

Level widget

Friture levels widget

The level widget displays peak power (25 ms response time, i.e. instantaneous) and RMS power (300 ms response time) in dBFS (dB Full Scale). When the 2-channels mode is enabled, it displays the levels of each channel on a separate scale.

Scope widget

Friture scope widget

The scope widget displays audio data versus time. The time scale is configurable. The display is synchronized with regards to a leading-edge of the signal positioned in the center of the time axis, as a traditional scope would do.