Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature / Arpeggiator new Walk & Pattern note mode #3285

Open
wants to merge 18 commits into
base: community
Choose a base branch
from

Conversation

soymonitus
Copy link
Contributor

@soymonitus soymonitus commented Jan 15, 2025

Added two new note modes: Walk and Pattern
As in the docs:
- Walk1 (WALK1) is the "slow" walk and next note is selected this way:
- 30% of probability to walk the sequence a step in reverse.
- 30% of probability to just repeat the same step of the sequence.
- 40% of probability to walk the sequence a step forward (as normal).
- Walk2 (WALK2) is the "normal" walk and next note is selected this way:
- 25% of probability to walk the sequence a step in reverse.
- 25% of probability to just repeat the same step of the sequence.
- 50% of probability to walk the sequence a step forward (as normal).
- Walk3 (WALK3) is the "fast" walk and next note is selected this way:
- 20% of probability to walk the sequence a step in reverse.
- 20% of probability to just repeat the same step of the sequence.
- 60% of probability to walk the sequence a step forward (as normal).
- Pattern (PATT) each time you select this Note Mode on the menu it will generate a new pattern for you.
The pattern is like if you had selected Played Order and the Deluge had decided the order for you.
Tip: as this mode is the last selectable one, if you try to scroll past the end of the menu, the Deluge
will interpret it as a re-selection of the Pattern mode and so it will generate a new pattern for you.
Note: the pattern is saved to the song so you can recreate it after reloading the song.
Note: this mode is not available for Kit Rows.

This PR also does some refactoring and cleanup of the arpeggiator code, removing dead code that was doing nothing, and repacking duplicated code into common functions.

The tests for how long it takes a sequence of notes to cycle:

I did several test passes with a 4-note chord on 1-bar, with an arpeggio of 4 octaves (16th notes) (With notemode=up it takes 1 bar to reach the highest note)

  • It took ~10 bars for the Walk1 (slow) to reach the highest note
  • It took ~6 bars for the Walk2 (normal) to reach the highest note
  • It took ~3 bars for the Walk3 (fast) to reach the highest note

Programmed like the Arturia MiniFreak synth “Walk” mode
@soymonitus soymonitus marked this pull request as draft January 15, 2025 19:09
Copy link
Contributor

github-actions bot commented Jan 15, 2025

Test Results

107 tests  ±0   107 ✅ ±0   0s ⏱️ -1s
 16 suites ±0     0 💤 ±0 
 16 files   ±0     0 ❌ ±0 

Results for commit 7d2e94c. ± Comparison against base commit c91a932.

♻️ This comment has been updated with latest results.

@soymonitus soymonitus changed the title Feature / Arpeggiator Walk mode (in Randomizer menu) Feature / Arpeggiator new Walk & Pattern note mode Jan 16, 2025
@soymonitus soymonitus marked this pull request as ready for review January 16, 2025 22:04
@soymonitus
Copy link
Contributor Author

This is ready for review!

@soymonitus
Copy link
Contributor Author

Ok, after receiving some feedback in Discord, I added 3 different walk modes, with different probabilities so anyone can choose the desired "feel" depending on the context.

This is now ready for review

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