tidalcycles / strudel

Web-based environment for live coding algorithmic patterns, incorporating a faithful port of TidalCycles to JavaScript
https://strudel.cc/
GNU Affero General Public License v3.0
586 stars 105 forks source link

Worklet Improvents / fixes #963

Closed daslyfe closed 4 months ago

daslyfe commented 4 months ago

These are fixes for the shape/crush/coarse worklets

felixroos commented 4 months ago

nice! is the shape range now very different / would this change existing patterns using shape audibly?

daslyfe commented 4 months ago

nice! is the shape range now very different / would this change existing patterns using shape audibly?

yes before 0 -.8 was the usable range. Now it is 0-10 and the exponential curve of the shape param input is different/more predictable. my experience with the prior curve would be that you can carefully adjust it to .8ish or so, but once you hit .9-1 it would blow up your speakers which is very bad for live improvising

felixroos commented 4 months ago

yep shape is dangerous :D I just worry about the breaking change, so maybe find a new name and keep the existing shape as is? iirc the shape of tidal also has a range between 0 and 1 with a similar explosive behavior. not sure if i like the range between 0 and 10 because it does not play as well with normalized values.

daslyfe commented 4 months ago

yep shape is dangerous :D I just worry about the breaking change, so maybe find a new name and keep the existing shape as is? iirc the shape of tidal also has a range between 0 and 1 with a similar explosive behavior. not sure if i like the range between 0 and 10 because it does not play as well with normalized values.

I adjusted it so 0 - 1 goes from not distorted to very distorted in a linear fashion. if you want to be more extreme you can continue to go above 1. Would that be a decent compromise? It could still affect the sound of patterns that use shape slightly but it makes the function a lot more useful imo. I can also create another version called shape2 or something like that :)

I think a somewhat-breaking change like this is justifed here to protect people's ears (especially in a live setting)

felixroos commented 4 months ago

I also agree that a more linear distortion curve is very desirable, it might still make sense to add it as an alias because it changes the mix of a lot of existing stuff + keeping parity with tidal is generally a good thing. Maybe just call it distort or shapelin (or both) ?

daslyfe commented 4 months ago

I also agree that a more linear distortion curve is very desirable, it might still make sense to add it as an alias because it changes the mix of a lot of existing stuff + keeping parity with tidal is generally a good thing. Maybe just call it distort or shapelin (or both) ?

Okay I updated it and added another processor to keep shape behavior the same. New processor is called distort, but has a shorthand of dist. It has a much more gradual and predictable curve