I had some fun with Strudel. It's an amazing piece of software
I encountered some strange behaviour, not sure if it's a feature or a bug. When using echoWith together with velocity or gain the gain isn't applied only to the echo's but to the whole resulting pattern. I would expect it to be similar to the off function: only the copied events should get the gain accumulatively applied.
If I remember correctly that's how it works in Tidal too. Below are 2 snippets, the last one demonstrates the (buggy?) behaviour.
// gain is only applied to the offset ๐
_$: n("0 3".off(1/4, n => n.gain(0.3)))
.legato(0.5)
.scale("C3:pentatonic")
.sound("gm_xylophone")
// gain is applied to the whole resulting pattern, everything has gain of 0.3 ๐คจ
$: n("0 3".echoWith(2, 1/4, n => n.gain(0.3)))
.legato(0.5)
.scale("C3:pentatonic")
.sound("gm_xylophone")
Keep up the good work with this amazing project!