| 564 | } |
| 565 | |
| 566 | AudioTensor MelFilterbank::build(const MelFilterbankConfig & config) const { |
| 567 | if (config.sample_rate <= 0 || config.n_fft <= 0 || config.n_mels <= 0) { |
| 568 | throw std::runtime_error("MelFilterbank config values must be positive"); |
| 569 | } |
| 570 | AudioTensor result; |
| 571 | result.shape = {config.n_mels, (config.n_fft / 2) + 1}; |
| 572 | result.values = get_cached_mel_filterbank(config); |
| 573 | return result; |
| 574 | } |
| 575 | |
| 576 | SparseMelFilterbank MelFilterbank::build_sparse(const MelFilterbankConfig & config) const { |
| 577 | return prepare_sparse(build(config)); |
no outgoing calls