vocalpy.spectral.sat_multitaper

Contents

vocalpy.spectral.sat_multitaper#

vocalpy.spectral.sat_multitaper(sound: Sound, n_fft=400, hop_length=40) Spectrogram[source]#

Compute multi-taper spectrogram in the same way as the Sound Analysis Toolbox for Matlab (SAT).

Parameters:
soundvocalpy.Sound

Sound loaded from a file. Multi-channel is supported.

n_fftint

FFT window size.

hop_lengthint

Number of audio samples between adjacent STFT columns.

freq_rangefloat

Range of frequencies to use, given as a value between zero and one. Default is 0.5, which means “Use the first half of the frequencies, from zero to \(f_s/4\) (half the Nyquist frequency)”.

Returns:
power_spectrogramvocalpy.Spectrogram

A multi-taper spectrogram computed using DPSS tapers as described in [1]. See [2] and [3] for rationale.

See also

vocalpy.features.sat()

Notes

This function is a direct translation to Python of code in SAT_sound.m (see References). Code adapted from [4], [5], and [6].

References

[1]

Babadi, Behtash, and Emery N. Brown. “A review of multitaper spectral analysis.”

IEEE Transactions on Biomedical Engineering 61.5 (2014): 1555-1564.

[2]

Tchernichovski, Ofer, et al. “A procedure for an automated measurement of song similarity.” Animal behaviour 59.6 (2000): 1167-1176.

[3]

Sound Analysis Pro manual: `http://soundanalysispro.com/manual`_.

[4]

Sound Analysis Tools for Matlab (SAT) by Ofer Tchernichovski

[5]

birdsonganalysis by Paul Ecoffet

[6]

avn by Therese Koch, specifically the acoustics module.