src.embeddings.acoustic_indices

Classes

AcousticIndices

AcousticIndices class for computing spectral features from audio data.

Functions

compute_spectral_features(→ pandas.DataFrame)

Compute all spectral features for a single audio file using the maad.features.all_spectral_features method.

Module Contents

src.embeddings.acoustic_indices.compute_spectral_features(audio_file: numpy.array, sampling_rate: int, **kwargs) pandas.DataFrame

Compute all spectral features for a single audio file using the maad.features.all_spectral_features method.

Parameters:
  • audio_file – Path to the audio file to process.

  • sampling_rate – Sampling rate of the audio file.

  • kwargs – Additional parameters for the feature computation, such as ‘nperseg’, ‘roi’, and ‘method’.

Returns:

A pandas DataFrame containing all spectral features for the audio file.

class src.embeddings.acoustic_indices.AcousticIndices(dataset_name: str, clip_duration: float = 3.0, model_path: str | pathlib.Path | None = None, sampling_rate: int | None = None)

Bases: embeddings.BaseEmbedding

AcousticIndices class for computing spectral features from audio data.

This class extends BaseEmbedding and provides functionality for computing various spectral features using non-machine-learning methods. It computes features such as peak frequency, bandwidth, skewness, etc., using the method described.

Attributes:

model_pathstr

Not used in this class, but inherited from BaseEmbedding for consistency.

dask_clientdask.distributed.client.Client or None

Optional Dask client for handling distributed task execution.

datapd.DataFrame or None

DataFrame holding the processed audio data (e.g., file paths, audio features).

embeddingspd.DataFrame or None

DataFrame containing the computed acoustic features for the audio dataset.

Methods:

load_model():

This method is not applicable for this class, as no model is required.

process(dataset_name: str, extension: str = ‘.wav’, sampling_rate: int = 48000, **kwargs):

Processes the audio dataset to compute spectral features.

compute_spectral_features(audio_file: str, sampling_rate: int = 48000, **kwargs) -> pd.DataFrame:

Computes all spectral features for a single audio file using the maad.features.all_spectral_features method.

load_model()

AcousticIndices does not require a machine learning model, so this method is not used.

process()

Processes the dataset by reading the audio files and computing the acoustic indices.

Parameters:
  • dataset_name – Name of the dataset to process.

  • sampling_rate – Sampling rate for the audio files.

  • kwargs – Additional keyword arguments for feature computation (e.g., ‘nperseg’, ‘roi’, ‘method’).

Returns:

A pandas DataFrame containing computed acoustic features for each audio file.