Define external recording workflow for MVP

This commit is contained in:
2026-07-14 13:43:02 +02:00
parent e0053c7b97
commit 7f288169d9
4 changed files with 212 additions and 41 deletions
+49 -9
View File
@@ -20,18 +20,58 @@ Audio
## Core Features ## Core Features
- Local audio recording - Import of existing meeting recordings
- System audio + microphone recording - OBS Studio as the recommended reference recorder
- High quality transcription - High-quality local transcription
- Speaker diarization - Speaker diarization
- Editable working transcripts
- AI-generated meeting minutes - AI-generated meeting minutes
- Executive Summary - Executive summaries
- Action Items - Action items
- Decision Tracking - Decision tracking
- Knowledge extraction - Knowledge extraction
- Local database - Local file-based storage
- Full text search - Export to Markdown, PDF and DOCX
- Export (Markdown, PDF, DOCX)
---
## Recording Workflow
The MVP does not include its own audio recorder.
OBS Studio is the recommended reference recorder for online meetings. It can
capture system audio and microphone audio without joining the meeting as a bot.
Initial workflow:
```text
Online Meeting
↓
OBS Studio
↓
WAV Recording
↓
Meeting Assistant Import
↓
Transcription
↓
Speaker Diarization
↓
Analysis and Export
--- ---
+19 -8
View File
@@ -1,13 +1,14 @@
# Roadmap # Roadmap
## Phase 1 ## Phase 1: Minimum Viable Processing Pipeline
Minimum Viable Product - Import existing WAV recordings
- Validate recording metadata
- Audio recording - Create meeting directory
- Whisper transcription - Create canonical transcript
- Save transcript - Save transcript as JSON
- Markdown export - Export transcript as Markdown
- Archive confirmed recordings as FLAC
--- ---
@@ -70,7 +71,17 @@ Integrations
--- ---
## Future Ideas ## Future Phase: Integrated Recording
- Capture microphone audio
- Capture system audio
- Support separate audio channels
- Provide recording controls in the desktop application
- Replace or complement the external OBS workflow
- Live transcription - Live transcription
@@ -0,0 +1,45 @@
# ADR 0009: Use External Audio Recording for the MVP
## Status
Accepted
## Context
Reliable simultaneous capture of system audio and microphone audio is highly
platform-specific.
OBS Studio already provides stable, configurable and cross-platform audio
capture. Reimplementing audio capture during the initial project phase would
add substantial complexity without directly improving transcription quality.
The primary value of the Meeting Assistant lies in transcription, speaker
diarization, analysis, structured knowledge extraction and export.
## Decision
The MVP shall not require an integrated audio recorder.
OBS Studio is the recommended reference recorder for online meetings.
The Meeting Assistant shall initially import existing audio recordings.
Initially supported input formats shall include:
- WAV as the preferred processing input
- FLAC as a lossless import and archive format
Support for additional formats such as MP3, M4A and Opus may be added later.
The existing `recorder` module shall remain in the project architecture so that
integrated recording can be implemented in a later phase without restructuring
the application.
## Consequences
- Development can focus on transcription and downstream processing.
- Platform-specific audio capture complexity is deferred.
- OBS configuration remains outside the Meeting Assistant.
- Users must start and stop the initial recording separately.
- Imported recordings require validation before processing.
- A future integrated recorder remains possible.
+99 -24
View File
@@ -15,12 +15,21 @@ The Meeting Knowledge Assistant transforms recorded meetings into structured org
- Small, focused modules - Small, focused modules
- Explicit interfaces - Explicit interfaces
- Reproducible AI outputs - Reproducible AI outputs
- External recording and internal processing are separate responsibilities.
- The processing pipeline must not depend on OBS-specific metadata or behavior.
- Imported recordings must be treated like recordings from any other supported source.
--- ---
# High-Level Pipeline ## High-Level Pipeline
Recording External Recorder
↓
Audio Import
↓
Recording Validation
↓
Meeting Storage
↓ ↓
Transcription Transcription
↓ ↓
@@ -36,6 +45,38 @@ Export
--- ---
## Core Pipeline
External Recording
↓
Audio Import and Validation
↓
Transcription
↓
Speaker Diarization
↓
Working Transcript
↓
LLM Analysis
↓
Knowledge Extraction
↓
Storage and Export
# Domain Model # Domain Model
Meeting Meeting
@@ -55,15 +96,42 @@ Meeting
# Module Responsibilities # Module Responsibilities
## Input and Ingest
Responsible for importing existing recordings into the application.
Initial reference source:
- OBS Studio
Initial supported formats:
- WAV
- FLAC
Responsibilities:
- validate the input file
- collect technical metadata
- calculate checksums
- copy or move the recording into the meeting directory
- create the initial Recording domain object
The ingest component must not perform transcription or modify the audio content.
## Recorder ## Recorder
Responsible only for capturing audio. The recorder module is reserved for a future integrated recording implementation.
Input: It is not required for the MVP.
None
Output: The initial application workflow uses externally created recordings, with OBS
Recording Studio as the recommended reference recorder.
--- ---
@@ -129,32 +197,39 @@ DOCX
--- ---
# Artifact Lifecycle ## Artifact Lifecycle
Recording
↓
```text
Imported Recording
↓
Validated Source Recording
↓
Canonical Transcript Canonical Transcript
↓
↓
Working Transcript Working Transcript
↓
↓
AI Artifacts AI Artifacts
↓
↓
Knowledge Objects Knowledge Objects
↓
↓
Exports Exports
--- ---
## Initial Recording Strategy
The MVP does not implement platform-specific audio capture.
OBS Studio is the recommended reference recorder for online meetings.
The application initially processes existing WAV or FLAC recordings. Integrated
recording remains a future extension and must not be required by transcription,
diarization or analysis modules.
---
# Storage Strategy # Storage Strategy
The domain model is independent of the storage backend. The domain model is independent of the storage backend.