pub fn melspectrogram(
signal: &AudioData,
s: Option<&Array2<f32>>,
n_fft: Option<usize>,
hop_length: Option<usize>,
n_mels: Option<usize>,
fmin: Option<f32>,
fmax: Option<f32>,
) -> Result<Array2<f32>, SpectralError>Expand description
Computes a mel spectrogram.
Projects spectral energy onto mel-frequency bands.
§Arguments
signal- The input audio signal.S- Optional pre-computed magnitude spectrogram.n_fft- Optional FFT window size (defaults to 2048).hop_length- Optional hop length (defaults to n_fft/4).n_mels- Optional number of mel bands (defaults to 128).fmin- Optional minimum frequency (defaults to 0 Hz).fmax- Optional maximum frequency (defaults to sr/2).
§Returns
Returns Result<Array2<f32>, SpectralError> containing a 2D array of shape (n_mels, n_frames)
with mel spectrogram, or an error.
§Examples
use dasp_rs::io::core::AudioData;
use dasp_rs::signal_processing::spectral::melspectrogram;
let signal = AudioData { samples: vec![0.1, 0.2, 0.3, 0.4], sample_rate: 44100, channels: 1 };
let mel = melspectrogram(&signal, None, None, None, None, None, None).unwrap();
assert_eq!(mel.shape(), &[128, 1]);