Audio processing (C API)
-
EmlError eml_audio_melspectrogram(EmlAudioMel mel_params, EmlFFT fft, EmlVector inout, EmlVector temp)
Convert a block of audio to mel-filter spectrum coefficients.
Will perform windowing (Hann), followed by FFT and then Mel-filterbank reduction
- Parameters:
mel_params – The mel-filterbank parameters to use
fft – FFT instance to use. Must already be initialized
inout – Input audio. Will be filled with
temp – A temporary buffer
- Returns:
EmlOk on success, or error on failure
-
EmlError eml_audio_melspec(EmlAudioMel mel, EmlVector spec, EmlVector mels)
Reduce a SFTF/linear spectrum to Mel-scale coefficiens.
-
EmlError eml_audio_power_spectrogram(EmlVector rfft, EmlVector out, int n_fft)
Computer power from magnitude-spectrogram, and normalize based on FFT length.
-
EmlError eml_sparse_filterbank(const float *input, float *output, int output_length, const int *starts, const int *stops, const float *lut)
Apply a sparse filterbank which reduces @input to a smaller @output.
Each filter is on form
0000nonzero0000
. The nonzero filter coefficients are stored consecutively in @lut, with @start and @end indicating which index (in the input) each filter start/end at.Typically the filters are triangular and applied to an FFT power spectrum. Can be used for mel-filtering a spectrogram.
- Returns:
EmlOk on success, or error on failure