46template <
typename T =
int16_t>
75 size_t write(
const uint8_t* buf,
size_t len)
override {
76 const T* data = (
const T*)buf;
77 size_t samples = len /
sizeof(T);
78 for (
size_t i = 0; i < samples; ++i)
pushPlayback(data[i]);
79 return samples *
sizeof(T);
89 size_t readBytes(uint8_t* buf,
size_t len)
override {
91 size_t actual_samples = read /
sizeof(T);
94 for (
size_t i = 0; i < actual_samples; ++i) {
129 for (
size_t j = 0; j <
lag; j++) {
146 void cancel(
const T* rec,
const T*
play, T* out,
size_t len) {
147 for (
size_t i = 0; i < len; ++i) {
191 float echo_est = 0.0f;
196 float mic = (float)mic_sample;
197 float error = mic - echo_est;
void play(maxi_float_t *channels)
virtual size_t readBytes(uint8_t *data, size_t len)
Definition Arduino.h:140