VoiceNotes is an Arduino sketch for the Waveshare ESP32-C6-LCD-0.85 that records meetings and voice memos to microSD and turns them into notes: - Records 16 kHz mono WAV (up to 4 h) from the ES7210 dual mics, with a boosted preamp and soft-limited digital gain - Transcribes via an OpenAI-compatible speech-to-text API in ~10 min parts cut at quiet points, with retries and resume after failures - Summarizes the transcript with Claude into meeting notes (decisions, action items, topics with timestamps), streamed to and from the card - Copies the notes to Nextcloud over WebDAV - Shows recording/processing state on the 0.85" LCD and the LED ring - Works around the board's SD card failing multi-sector reads Credentials live in VoiceNotes/secrets.h, which is git-ignored; see secrets.example.h. Also adds the Microsoft CDM customer service SQL implementation (DDL, sample data, reporting queries and docs). Its README is renamed to CDM_README.md so the repository README stays at the top level. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
17 lines
735 B
C
17 lines
735 B
C
// Microphone capture (ES7210 over I2S) and WAV recording to the microSD card.
|
|
#pragma once
|
|
#include <Arduino.h>
|
|
|
|
bool audioBegin(); // configure codec + I2S, start the capture task
|
|
bool recorderStart(const char *path); // open WAV file and start capturing
|
|
void recorderService(); // call often from loop(): drains audio to SD
|
|
bool recorderStop(); // finish header, close file
|
|
bool recorderActive();
|
|
uint32_t recorderSeconds();
|
|
|
|
// Prints each microphone's RMS and peak level (dBFS) over `ms` milliseconds.
|
|
void audioLevelReport(uint32_t ms);
|
|
|
|
// Fills a 44-byte header for a 16 kHz mono 16-bit WAV with dataBytes of PCM.
|
|
void wavHeader(uint8_t h[44], uint32_t dataBytes);
|