Skip to content

[codex] Fix pitch tracking responsiveness and sensitivity - #35

Merged
user1303836 merged 1 commit into
mainfrom
codex/fix-tracking-responsiveness
Jun 29, 2026
Merged

user1303836 merged 1 commit into
mainfrom
codex/fix-tracking-responsiveness

Conversation

@user1303836

Copy link
Copy Markdown
Collaborator

Summary

Fixes #33 and #34.

This PR tightens the pitch-tracking path for the guitar/ring-mod use case:

  • makes Sensitivity a direct minimum confidence threshold instead of an inverted control
  • reduces the YIN analysis hop from about 12 ms to about 3 ms
  • changes the low-end analysis window target from 60 Hz to 80 Hz, matching the guitar-focused tracking range
  • allows onset analysis on the active signal window before the full low-note window is filled, so higher notes can lock earlier
  • resets detector activity state during silence and documents the Sensitivity semantics

Root Cause

Sensitivity was mapped as 1.0 - sensitivity, so higher user values accepted lower-confidence detections. The tracker also waited for the full decimated 60 Hz analysis window before reporting a pitch, which left the first tracked carrier around 33 ms late in the current implementation.

Validation

  • ctest --test-dir build --build-config Release --output-on-failure
  • cmake --build build --config Release

The local Release build produced:

  • build/HdnRingmod_artefacts/Release/VST3/HDN Ring Modulator.vst3
  • build/HdnRingmod_artefacts/Release/AU/HDN Ring Modulator.component
  • build/HdnRingmod_artefacts/Release/Standalone/HDN Ring Modulator.app

@user1303836
user1303836 marked this pull request as ready for review June 29, 2026 16:14
@user1303836
user1303836 merged commit bdaa587 into main Jun 29, 2026
2 checks passed
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.

Sensitivity control is inverted and accepts low-confidence pitch updates at 100%

1 participant