Skip to content

fix(processor,ui): show meaningful noise floor for voice-activated input#138

Merged
flexiondotorg merged 2 commits into
mainfrom
voice-activated
Jun 21, 2026
Merged

fix(processor,ui): show meaningful noise floor for voice-activated input#138
flexiondotorg merged 2 commits into
mainfrom
voice-activated

Conversation

@flexiondotorg

Copy link
Copy Markdown
Contributor

Add InputDisplayNoiseFloorDB resolver that returns the astats room-tone
floor normally, or the VAD momentary-LUFS floor for voice-activated
captures (where astats silence is a meaningless -120 dB sentinel).

Route both the live Analysis box and done-box "before" through this
resolver so they display the same input floor for all files. The quality
score continues to read InputRoomToneFloorDB directly, preserving its
axis.

Result: done-box now reads meaningful before/after values for
voice-activated files, consistent with the normal recording layout and
aligned with the live box floor display.

  Add InputDisplayNoiseFloorDB resolver that returns the astats room-tone
  floor normally, or the VAD momentary-LUFS floor for voice-activated
  captures (where astats silence is a meaningless -120 dB sentinel).

  Route both the live Analysis box and done-box "before" through this
  resolver so they display the same input floor for all files. The quality
  score continues to read InputRoomToneFloorDB directly, preserving its
  axis.

  Result: done-box now reads meaningful before/after values for
  voice-activated files, consistent with the normal recording layout and
  aligned with the live box floor display.

Signed-off-by: Martin Wimpress <code@wimpress.io>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 5 files

Confidence score: 4/5

  • In internal/ui/summary.go, the VAD separation calculation does not treat MeasuredNoiseFloor==0 as the “unmeasured” sentinel, so it can replace the astats fallback with a bogus momentary gap and surface incorrect separation values to users — add the sentinel guard so the astats-derived value is preserved when noise floor is unmeasured before merging.

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread internal/ui/summary.go Outdated
…activated mode

  Add guard `MeasuredNoiseFloor != 0` before computing momentary separation to
  mirror the floor resolver's guard, ensuring the floor and separation agree on
  usability. Add test `TestSeparationDBVoiceActivatedUnmeasuredFloor`.

Signed-off-by: Martin Wimpress <code@wimpress.io>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 2 files (changes from recent commits).

Requires human review: Introduces a new resolver that toggles between RMS and VAD for voice captures, altering the noise floor path and display logic across processor and UI; this axis behavior change warrants human review.

Re-trigger cubic

@flexiondotorg flexiondotorg merged commit 2287a15 into main Jun 21, 2026
16 checks passed
@flexiondotorg flexiondotorg deleted the voice-activated branch June 21, 2026 00:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant