14#if defined(FL_IS_TEENSY)
30 Serial.println(
"================================");
36 Serial.println(
"ms for platform initialization...");
43 Serial.println(
"Initializing audio input...");
48 Serial.print(
"Failed to create audio source: ");
54 Serial.println(
"Starting audio capture...");
60 Serial.print(
"Audio start error: ");
65 Serial.println(
"Audio capture started successfully!");
66 Serial.println(
"Reading audio data...");
72 Serial.println(
"Loop active...");
77 Serial.println(
"Audio source is null!");
85 Serial.print(
"Audio error: ");
94 if (sample.isValid()) {
96 const auto& audioBuffer = sample.pcm();
97 const i16* max_sample =
fl::max_element(audioBuffer.begin(), audioBuffer.end());
98 const i16* min_sample =
fl::min_element(audioBuffer.begin(), audioBuffer.end());
101 ss <<
"\n--- Audio Sample ---\n";
102 ss <<
"Samples: " << audioBuffer.size() <<
"\n";
103 ss <<
"Timestamp: " << sample.timestamp() <<
" ms\n";
104 ss <<
"Max: " << *max_sample <<
"\n";
105 ss <<
"Min: " << *min_sample <<
"\n";
106 ss <<
"RMS: " << sample.rms() <<
"\n";
107 ss <<
"Zero Crossing Frequency: " << sample.zcf() <<
" Hz\n";
const char * c_str() const FL_NOEXCEPT
string str() const FL_NOEXCEPT
#define EVERY_N_MILLIS(N)
Checks whether to execute a block of code every N milliseconds.
Iterator min_element(Iterator first, Iterator last) FL_NOEXCEPT
Iterator max_element(Iterator first, Iterator last) FL_NOEXCEPT