8#define M_PI (3.14159265358979323846f)
80 coeff = 2.0f * cos(omega);
278 LOGE(
"GoertzelStream: channel %d out of range (max %d)", config.
channel,
373 size_t write(
const uint8_t* data,
size_t len)
override {
378 if (
p_print ==
nullptr)
return len;
487 if (magnitude > 0.0f)
493 if (reference ==
nullptr) reference =
ref;
513 template <
typename T =
int16_t>
516 const T* samples =
reinterpret_cast<const T*
>(data);
517 size_t num_samples = data_len /
sizeof(T);
519 for (
size_t i = 0; i < num_samples; i++) {
522 float normalized =
clip(NumberConverter::toFloatT<T>(samples[i]) *
524 LOGD(
"sample: %f", normalized);
527 if (detector.processSample(normalized)) {
547 if (value > 1.0f)
return 1.0f;
548 if (value < -1.0f)
return -1.0f;
576 processSamplesOfType<uint8_t>(data, data_len, channels);
579 processSamplesOfType<int16_t>(data, data_len, channels);
582 processSamplesOfType<int24_t>(data, data_len, channels);
585 processSamplesOfType<int32_t>(data, data_len, channels);
#define LOGD(...)
Definition AudioLoggerIDF.h:27
#define LOGE(...)
Definition AudioLoggerIDF.h:30
#define M_PI
Definition MDFEchoCancellationConfig.h:66
virtual size_t write(const uint8_t *data, size_t len)
Definition Arduino.h:120
virtual size_t readBytes(uint8_t *data, size_t len)
Definition Arduino.h:140