Files
Ravi ReddyandClaude Opus 5.5 3b371cdb28 Add VoiceNotes firmware and CDM customer service SQL project
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>
2026-10-03 22:22:10 +05:30

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);