feat: build custom MIDI chord voicings with atomic pitch and capacity checks

This commit is contained in:
Johannes Findeisen 2026-11-06 00:40:48 +01:00
commit 6be4f9803a
9 changed files with 76 additions and 5 deletions

View file

@ -30,3 +30,7 @@ Edit/Consolidate MIDI clips merges two or more selected MIDI clips on one track.
## Phase 64 — Deterministic MIDI Humanization
Edit/MIDI tools/Humanize applies timing variation up to 960 ticks and velocity variation up to 127, using a 32-bit seed and stable note IDs. Repeating from the same original state reproduces results; applying repeatedly accumulates edits. All source notes are affected, including hidden trimmed notes. Timing outside source bounds rejects the entire edit; velocities clamp to 1..127. This is offline editing, not live randomness.
## Phase 65 — Chord Construction
Edit/MIDI tools/Build chords accepts 1..8 unique nonzero semitone intervals, such as 4 7 for a major triad or 3 7 for minor. Originals remain; added notes copy timing, velocity and channel. Negative intervals support lower voicings. All source notes are processed, including hidden trimmed notes. Pitch overflow or capacity rejects the whole operation; existing unisons are not deduplicated.