-
Notifications
You must be signed in to change notification settings - Fork 176
Probability Engine #358
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
Probability Engine #358
Conversation
|
Sounds promising as well ! |
|
That's a really cool functionality! |
|
Same here than in #356 (comment) @elpescado I've been trying to build hydrogen from a fresh git clone ( 956fd11 ) with the addition of your patch : https://patch-diff.githubusercontent.com/raw/hydrogen-music/hydrogen/pull/358.patch |
|
What errors are you getting? One thing I can think of is that this branch requires C++11 support from compiler. I created pull request which enables it, but it hasn't been merged yet: #263 |
|
I may be a little late to the game, but wouldn't this feature be better if it were coupled with a more general random variance in MIDI note velocity. This would be a more natural simulation of a human player who may deliver some "ghost" notes and undershoot the velocity or miss the drum making some hits inaudible. So I'm advocating for random velocity within a programmable range and a probability value to each note simulating a conscious decision to play a different pattern. |
|
Any feedback? |
|
Hi @elpescado : trying to build hydrogen from today (d7dacfe) + your patch: https://patch-diff.githubusercontent.com/raw/hydrogen-music/hydrogen/pull/358.patch I've got the following when trying to apply the patch: Also, please note that github is saying in this thread that "This branch has conflicts that must be resolved". I'd like to help testing this feature which looks definitely to be a great addition to Hydrogen from my POV. Hope that helps PS: I reckon that patching with #263 is not needed anymore since it's been merged to Master back in March. |
|
I have to merge latest master, unfortunately I'm bit busy right now. In the meantime, you could just checkout my branch directly. |
|
@elpescado: At the moment i think that this (and your automation pull request) will be too much for 0.9.7, but both are very nice features! My plan is to get a beta3 out in the next days (along with the feature freeze for 0.9.7) and create the rc1 in two or three weeks. Both features would be the first things to merge in 0.9.8 for me (well, after testing 😄 ). |
|
@elpescado: I've been building from your repo/branch, ie: then build. I've been fiddling around with this feature and I must say that I love it, really great addition to hydrogen! Great job here! PS: I would really like to see this feature incorporate into 0.9.7, but I don't know what the work involved doing that so I'll stick to @mauser 's decision. But mauser, if you think that this feature can be merged in master before 0.9.7, you would make (at least) one hydrogen's user really happy :) |
|
I have updated my branch so that it should merge cleanly. |
|
Is it updated? This would be a great addition to 0.9.8! |
|
Hi @elpescado , thanks a lot for the pull request! I've merged the request now, so it will appear in the next version of hydrogen (1.0). |
|
Sweet ! |
|
I did rebuild git from b19ba20 2 days ago and have been playing around with this feature which works as expected. So far, I didn't notice anything strange. I really like this feature, thanks @elpescado ! Thanks! |
|
Just tried it on 1.0.0 beta, great idea. |
Overview
This feature allows to assign a probability value to each note. That value specifies probability that particular note will be played. Value 1.0 means that note will be played every time. Lowering that value will lower chances that note will be played, down to 0 which means that note will never be played.
This allows to create more complex and less predictable songs using less patterns.
Audio demo: eight bars consisting of just one pattern.
Features
Regressions
This branch should be backwards compatible. When note has no probability set, default value of 1.0 is used, which means note will always be played, preserving expected behavior.