MCPcopy Create free account
hub / github.com/FastFlowLM/FastFlowLM / mel_spectrogram

Function mel_spectrogram

src/common/audio_process_utils/audioproc.cpp:192–213  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

190 // ---------------------------------------------------------------
191
192 void mel_spectrogram(
193 const float* magnitude_spec,
194 const float* mel_filters,
195 float* out,
196 int num_frames,
197 int num_frequency_bins,
198 int num_mel_filters)
199 {
200 // out[f, m] = sum_b( magnitude_spec[f, b] * mel_filters[b, m] )
201 for (int f = 0; f < num_frames; ++f) {
202 const float* spec_row = magnitude_spec + f * num_frequency_bins;
203 float* out_row = out + f * num_mel_filters;
204
205 for (int m = 0; m < num_mel_filters; ++m) {
206 float sum = 0.0f;
207 for (int b = 0; b < num_frequency_bins; ++b) {
208 sum += spec_row[b] * mel_filters[b * num_mel_filters + m];
209 }
210 out_row[m] = sum;
211 }
212 }
213 }
214
215 // ---------------------------------------------------------------
216 // Auto-dispatching optimized versions

Callers 2

mel_spectrogram_avx512Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected