Skip to content

Add swing/humanize feature in Advanced Settings layer#4

Draft
tomasz-szymanek wants to merge 1 commit intobastl-instruments:mainfrom
tomasz-szymanek:main
Draft

Add swing/humanize feature in Advanced Settings layer#4
tomasz-szymanek wants to merge 1 commit intobastl-instruments:mainfrom
tomasz-szymanek:main

Conversation

@tomasz-szymanek
Copy link
Copy Markdown

This PR introduces rhythmic expression tools to the WaveBard sample player by adding Swing and Humanize functionalities. A new control is mapped to the Settings layer (Pot 6), allowing users to either delay even steps for a rhythmic swing (55%–100% range) or apply pseudo-random timing offsets using a predefined pattern to simulate natural playing imperfections (0%–45% range). The implementation includes an updated trigger mechanism in the AudioLoop to handle clock-based delays and provides visual feedback via LED 1, which changes color to indicate the active mode. Additionally, the AppWaveBard class has been expanded with the necessary state variables and logic to manage these delayed trigger events seamlessly.

@tomasz-szymanek
Copy link
Copy Markdown
Author

@xx0x Hello, I will be grateful for any advice, or even a quick look

@xx0x
Copy link
Copy Markdown
Contributor

xx0x commented Mar 9, 2026

Hi, I tested it, seems to work fine! But I have few suggestions:

  1. "Advanced Settings" isn't really good place for that since it breaks the workflow, you can't really adjust it on the fly nicely. I'd recommend moving it into the "Mode" layer, that can be easily controlled by holding MODE/BANK button. Also I'd recommend moving it into the Pot 7, since the swing is related to the tempo. That way the LFO LED can be reused for that.

  2. I would highly suggest moving it to the "output side", basically modifying the Sequencer class with swing option (affecting both CV and GATE). That would allow this feature to be used for all patch inputs and with all firmwares, since MODE + TEMPO pot isn't used anywhere else.

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.

3 participants