N.O.V.A v2 / documentation

Call & Meeting Minutes

How a recorded call or meeting turns into a transcript and a set of minutes.

Capture

Recording writes two channels: your microphone, and the system's audio-loopback output. Keeping them separate is what makes speaker labelling possible afterward.

Capture→2-channel WAV→Transcribe→Speaker labels→Minutes→Store & view

Pipeline

StageWhat happens
Transcribefaster-whisper converts each channel to text with timestamps.
Label speakersMic audio is tagged as you; the loopback channel is tagged Remote, or split into Speaker 1, 2, 3 with pyannote.audio for group calls.
SummarizeThe transcript is chunked, each chunk summarized, then merged — this keeps long calls within a small model's context limit.
OutputSummary, key decisions, and action items with owners, plus the full transcript.

Viewing past calls

Everything is stored in SQLite alongside the WAV files, and browsable through a local FastAPI page — no data leaves the machine.

Consent

Tell participants before you record. Recording laws vary by place — see Feasibility Notes.