#pragma once #include "ggml.h" #include #include #include #define WHISPER_ASSERT GGML_ASSERT #define WHISPER_SAMPLE_RATE 16000 #define WHISPER_N_FFT 400 #define WHISPER_HOP_LENGTH 160 #define WHISPER_CHUNK_SIZE 30 #define COMMON_SAMPLE_RATE 16000 namespace whisper_preprocessor { struct whisper_mel { int n_len; int n_len_org; int n_mel; std::vector data; }; struct whisper_filters { int32_t n_mel; int32_t n_fft; std::vector data; }; bool preprocess_audio( const float * samples, size_t n_samples, const whisper_filters & filters, std::vector & output); } // namespace whisper_preprocessor namespace whisper_precalc_filters { whisper_preprocessor::whisper_filters get_128_bins(); } // namespace whisper_precalc_filters