Certainty - Add a sparsity/probability setting?
Closed this issue · 6 comments
Not sure how easy it is to add this feature, but interface-wise, this can be added as a menu item. Select between 0-100% probability.
The pattern of each seed will still stay the same. Don't add notes. This only controls whether or not a note is fired.
EDIT: Got the idea from my Beatstep btw. It just adds another layer of randomness
Take a look at the Uncertainty firmware which was one of the inspirations for Certainty. They are similar but uniquely different. With Uncertainty, you get full control over defining the probability of each output. It's completely random, no seed or repeating patterns. That firmware needs some improvements in the UI. Linus had a great suggestion that will either become a PR or I'll eventually overhaul the UI.
I'm also open to the idea of merging the configurable probability into Certainty, but the concern I have there is that it adds more variable behavior which makes seeds less deterministic or repeatable across modules.
Right, I haven't played with that one yet. I'll check it out!
I just mentioned it here because I kinda like switching between repeating-pattern and completely random mid-performance.
EDIT: My idea is that it would be nice to still have a vague structure of a pattern behind the randomness. The setting wouldn't change the pattern, it'll just skip some of the beats and make it sparser
UI for Uncertainty updated in 6ac0f8a. Now you can easily adjust the probability of each output by scrolling the encoder to select an output and short press to enable editing the probability of that output. Long press will allow you to change the output behavior between trigger mode and flip mode.
You can download the latest Uncertainty firmware here:
https://awonak.github.io/HagiwoModulove/arythmatik/#uncertainty
Demo video:
https://youtu.be/SHZaS9hu4qI
Returning back to this, I'd like to roll the features of Uncertainty into Bit Garden.
-
Add new menu page to edit each output's probability
-
Add new menu page to select one of the following output behaviors:
- Trigger - echo the incoming CLK trigger based on the output probability
- Full Duty - remain HIGH until next CLK trigger received
- Flip - Incoming CLK trigger will toggle the output HIGH or LOW based on the output probability