MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / prepare_sparse

Method prepare_sparse

src/framework/audio/dsp.cpp:580–595  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

578}
579
580SparseMelFilterbank MelFilterbank::prepare_sparse(const AudioTensor & filterbank) const {
581 if (filterbank.shape.size() != 2) {
582 throw std::runtime_error("SparseMelFilterbank requires rank-2 filterbank");
583 }
584 const int64_t n_mels = filterbank.shape[0];
585 const int64_t freq_bins = filterbank.shape[1];
586 if (n_mels <= 0 || freq_bins <= 0 ||
587 static_cast<int64_t>(filterbank.values.size()) != checked_product({n_mels, freq_bins})) {
588 throw std::runtime_error("SparseMelFilterbank filterbank shape mismatch");
589 }
590 SparseMelFilterbank sparse;
591 sparse.dense = filterbank;
592 sparse.starts = sparse_mel_starts(sparse.dense);
593 sparse.ends = sparse_mel_ends(sparse.dense);
594 return sparse;
595}
596
597AudioTensor MelFilterbank::compute(
598 const std::vector<float> & power_spec,

Callers 5

compute_titanet_featuresFunction · 0.80
audio_features.cppFile · 0.80

Calls 4

sparse_mel_startsFunction · 0.85
sparse_mel_endsFunction · 0.85
checked_productFunction · 0.70
sizeMethod · 0.45

Tested by

no test coverage detected