Define external recording workflow for MVP
This commit is contained in:
@@ -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
@@ -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
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user