docs: archive macOS meeting audio change

This commit is contained in:
dh
2026-08-06 08:16:55 +02:00
parent 13a70c2375
commit 5f39923c27
6 changed files with 40 additions and 2 deletions
+40 -2
View File
@@ -33,12 +33,22 @@ When no recording is active, aborting SHALL leave the current recording status u
- **THEN** Meeting Assistant remains idle - **THEN** Meeting Assistant remains idle
### Requirement: Recording mode captures microphone and computer output ### Requirement: Recording mode captures microphone and computer output
Meeting Assistant SHALL capture microphone input and computer output and combine them into one audio stream for transcription. Meeting Assistant SHALL capture microphone input and computer output and combine them into one audio stream for transcription on supported Windows and macOS hosts.
Meeting Assistant SHALL capture audio as 16 kHz mono PCM chunks for the existing recording and transcription pipeline. Meeting Assistant SHALL capture audio as 16 kHz mono PCM chunks for the existing recording and transcription pipeline.
Meeting Assistant SHALL capture microphone and system loopback as separate input streams before producing the final mono chunks. Meeting Assistant SHALL capture microphone and system loopback as separate input streams before producing the final mono chunks.
On Windows, Meeting Assistant SHALL retain the existing NAudio microphone and WASAPI loopback implementation.
On macOS, Meeting Assistant SHALL capture the default microphone through AVFoundation and computer output through ScreenCaptureKit without requiring a virtual audio device.
The macOS capture adapter SHALL convert both native sources to signed 16-bit PCM using the active run's configured sample rate and channel count before passing chunks to the existing managed mixing pipeline.
The macOS capture adapter SHALL stop its native capture process when the recording capture token is cancelled.
When macOS privacy permission is missing or denied, Meeting Assistant SHALL fail capture with an actionable message identifying the required Microphone or Screen Recording/System Audio permission.
Meeting Assistant SHALL clean the microphone stream with a local acoustic echo cancellation stage that uses system loopback as the far-end reference. Meeting Assistant SHALL clean the microphone stream with a local acoustic echo cancellation stage that uses system loopback as the far-end reference.
Meeting Assistant SHALL produce final mono chunks by adding the cleaned microphone samples and system samples. Meeting Assistant SHALL produce final mono chunks by adding the cleaned microphone samples and system samples.
@@ -136,6 +146,35 @@ When no runtime microphone override is selected, the checked microphone SHALL be
- **WHEN** the user selects `other microphone` from the taskbar microphone submenu - **WHEN** the user selects `other microphone` from the taskbar microphone submenu
- **THEN** later recording starts capture from `other microphone` - **THEN** later recording starts capture from `other microphone`
#### Scenario: macOS records both meeting-audio sources
- **GIVEN** the portable build is running on macOS
- **AND** Microphone and Screen Recording/System Audio permissions are granted
- **WHEN** a meeting recording starts
- **THEN** Meeting Assistant captures microphone audio through AVFoundation
- **AND** captures computer output through ScreenCaptureKit
- **AND** passes both signed 16-bit PCM streams through the existing mixer
#### Scenario: macOS capture uses run audio format
- **GIVEN** an active macOS recording configures a sample rate and channel count
- **WHEN** the native capture helpers start
- **THEN** both helpers emit signed 16-bit PCM with that sample rate and channel count
#### Scenario: macOS recording stops native capture
- **GIVEN** macOS microphone and system capture are active
- **WHEN** Meeting Assistant stops capture
- **THEN** it terminates both native capture processes
- **AND** PCM already delivered to the managed pipeline before stop remains available to the existing recording pipeline
#### Scenario: macOS privacy permission is unavailable
- **WHEN** macOS denies microphone or Screen Recording/System Audio capture permission
- **THEN** Meeting Assistant reports which macOS privacy permission is required
#### Scenario: Windows audio capture remains isolated
- **GIVEN** Meeting Assistant is compiled for the Windows target
- **WHEN** the application registers and starts meeting audio capture
- **THEN** it uses the existing NAudio microphone and WASAPI loopback sources
- **AND** does not invoke or require the macOS native helper
### Requirement: Stopping recording drains captured audio through transcription ### Requirement: Stopping recording drains captured audio through transcription
Meeting Assistant SHALL stop capturing new audio when recording mode is stopped, but it SHALL allow already captured audio to finish running through the configured speech recognition pipeline before the recording session completes. Meeting Assistant SHALL stop capturing new audio when recording mode is stopped, but it SHALL allow already captured audio to finish running through the configured speech recognition pipeline before the recording session completes.
@@ -362,4 +401,3 @@ When a recording stops normally and its meeting note, transcript, and assistant
- **WHEN** the recording stops normally - **WHEN** the recording stops normally
- **THEN** Meeting Assistant deletes the run artifacts - **THEN** Meeting Assistant deletes the run artifacts
- **AND** does not run summary generation - **AND** does not run summary generation