maad.features.acoustic_complexity_index
- maad.features.acoustic_complexity_index(Sxx)[source]
Compute the Acoustic Complexity Index (ACI) from a spectrogram [1].
- Parameters:
- Sxxndarray of floats
2d : Spectrogram (i.e matrix of spectrum)
- Returns:
- ACI_xx: 2d ndarray of scalars
Acoustic Complexity Index of the spectrogram
- ACI_per_bin: 1d ndarray of scalars
ACI value for each frequency bin sum(ACI_xx,axis=1)
- ACI_sum: scalar
Sum of ACI value per frequency bin (Common definition) sum(ACI_per_bin)
Notes
ACI depends on the duration of the spectrogram as the derivation of the signal is normalized by the sum of the signal. Thus, if the background noise is high due to high acoustic activity the normalization by the sum of the signal reduced ACI. So ACI is low when there is no acoustic activity or high acoustic activity with continuous background noise. ACI is high only when acoustic activity is medium, with sounds well above the background noise.
References
[1]Pieretti N, Farina A, Morri FD (2011) A new methodology to infer the singing activity of an avian community: the Acoustic Complexity Index (ACI). Ecological Indicators, 11, 868-873. DOI: 10.1016/j.ecolind.2010.11.005
Examples
>>> import maad >>> s, fs = maad.sound.load('../data/cold_forest_daylight.wav') >>> Sxx, tn, fn, ext = maad.sound.spectrogram (s, fs, mode='amplitude') >>> _, _ , ACI = maad.features.acoustic_complexity_index(Sxx) >>> print('ACI : %2.0f ' %ACI) ACI : 306