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
| Stage | What happens |
|---|---|
| Transcribe | faster-whisper converts each channel to text with timestamps. |
| Label speakers | Mic audio is tagged as you; the loopback channel is tagged Remote, or split into Speaker 1, 2, 3 with pyannote.audio for group calls. |
| Summarize | The transcript is chunked, each chunk summarized, then merged — this keeps long calls within a small model's context limit. |
| Output | Summary, 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.