Skip to content

Feature/pitch bend dsp tests#11

Merged
JonET merged 2 commits intomainfrom
feature/pitch-bend-dsp-tests
Apr 15, 2026
Merged

Feature/pitch bend dsp tests#11
JonET merged 2 commits intomainfrom
feature/pitch-bend-dsp-tests

Conversation

@JonET
Copy link
Copy Markdown
Owner

@JonET JonET commented Apr 15, 2026

Adds a context menu option for assigning hardware pitch bend to actual pitch bend instead of vowel. Gives users a new way to play the synth.

There's also a small DSP test suite.

JonET added 2 commits April 15, 2026 00:18
Adds a real Pitch Bend VST3 parameter (plus-minus 12 semitones, automatable)
separate from Vowel. The hardware MIDI pitch wheel is routable to
either Vowel (Classic / Delay Lama compat, default) or Pitch via a
new right-click submenu; the host is notified via
restartComponent(kMidiCCAssignmentChanged) so the switch takes effect
without a plugin reload. The submenu label reflects the active mode.

DSP changes apply the pitch offset in MIDI-note space inside the voice
synthesis loop, upstream of the Hz-space unison detune, so all unison
voices shift together while preserving their spread. Dead
monk_synth_pitch_bend function (which just redirected to set_vowel)
removed.

Refactors the DSP sources into a monk_dsp static library so the plugin
and a new opt-in test target can both link the same objects. Adds a
minimal assert.h + CTest suite covering pitch-bend clamping, ADSR
envelope boundaries, note-stack LIFO, unison detune math, and delay
feedback stability. Tests are gated behind -DMONKSYNTH_BUILD_TESTS=ON
and run on the Linux CI job before packaging so regressions block
releases.

Pitch Bend submenu localized into English, Japanese, and Korean.
@JonET JonET merged commit 04e553a into main Apr 15, 2026
7 checks passed
@JonET JonET deleted the feature/pitch-bend-dsp-tests branch April 15, 2026 05:48
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