Progress is still somewhat slow defining the CreateMotif
musical strategy- for good reason.
Much of the work I’m doing now essentially forms the pattern of how further musical strategies can and will be structured.
And there are a ton of variables to keep aware and track of.
It’s almost like making music is hard.
As such, building on yesterdays approach Arrange data for CreateMotif - I started expanding how notes are chosen.
I quickly realized another variable that needed to be considered: How do I prevent notes from being selected for a beat?
It’s not very musical to have a note being played on every beat of every bar.
It can be, to be sure, if that is your musical choice.
But the notes you don’t play are often as important as the notes you do.
So today I added a simple chance to rest per beat:
This random range selection is very simple, but one that is likely going to be expanded on when it comes to note selection.
The trick will be to grab the TensionBudget
for this bar, the likelihood of choosing each allowable note, and converting it into a relatively simple random range selection.
I think this process of taking varied data and condensing into a single easily calculable number is called normalization in data science.
I ain’t no scientist, and I got the data to prove it. But whatever the hell I’m doing I’ll just call it jazz so it doesn’t have to be good.
Still, I should probably do a crash course on normalization to see if there are common patterns I can follow. Stand on the shoulders of giants and all that. Giants, in this case, being entry-level data science concepts.