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
Sampler optimizations and more #148
Conversation
- samples with obejct format for pitch declaration - support note to repitch samples - support choke to fit samples to hap duration - support "legacy" context.velocity in .out - support ":" inside s or note to set n - fix sample fadeout for soundfonts and choke - move gain before filters
Ace!! How about using |
|
I think |
Re-reading your comment, my proposal is that as with superdirt, the default for samples should be as you describe - play the whole sample. When legato is set, it can 'choke' the sample relative to hap duration. But the hap duration shouldn't be changed until it is triggered. That is, legato doesn't change the duration of the hap, but the way it is 'played'. |
I did not know that, that would be a useful behaviour, so
Before that can be implemented, all the current usages of I'd propose:
When the above is done, all other pattern functions can be paramified as well (see #60 -> 4.) Okay? |
Yes that sounds like a good path to me. I realise it's a term from percussion but I'm not super keen on the word |
I chose |
Thanks. I do find it a bit funny how many different functions we have in tidal/strudel with names that mean 'cut things into pieces', good to add another one ;) |
Let's keep this one secret until it's away again :) |
out now! demo: https://strudel.tidalcycles.org?8sxdCCcYKcvp |
This PR includes a multitude of fixes and features. The main ones are
Webaudio sampler
add
note
to repitch samples +choke
to cut samples to hap duration:.out
will repitch the sample relative toc3
.samples
now also supports object format for pitch declaration.out
will now find the nearest sample for the given pitch and repitch relative to that pitchPrebake Script with Piano
.piano
to load the piano samples with choke and stereo effect, as an alternative to tonejs pianoVersion Safety
After having problems with version collisions:
Other
Migrating away from Tone.js
With the above features, many more tunes can now be rewritten without Tone.js, which I will do in the future.
When all are refactored, we could think about changing what happens when no output is chosen.
Currently, the default behavior is playing the pattern with the default synth, supporting only primitive hap values.
It might make more sense to use
.out
by default in the future, or just log the events to the console, like tidal.