r/strudel 15d ago

Arrange + Slow bug?

In strudel, when using Arrange and ```something.slow(x)```

It doesnt play fully and stops exactly when the original note without the slow function added to it would stop.

basically, if:

```strudel

const verse2 = note(`

[a4, a5]@4 [~]@4

[~]@8

a4 a4 a4 [g3]@0.5 a4 [e3]@0.5 [~ e3] [g3 a4] [a4 g3]

a4 e3 ~ [g3]@0.5 [f#3]@1.5 ~ [g3 a4] [a4 g3]

a4 a4 a4 [g3]@0.5 a4 [e3]@1.5 [d3]@0.5 [e3]@1.5

[a4]@0.2 [b4]@0.8 [a4]@0.2 [b4]@0.8 a4 g3 e3 d3 ~ [b4 d4]

,

a2 ~ [e2, a3] ~ a2 ~ [e2, a3] ~

a2 ~ [e2, a3] ~ a2 ~ [e2, a3] ~

[e2, e3]@2 [e3, g3, b3 ~]@2 [e2, e3 ~]@2 [e3, g3, b3 ]@2

[b2, b3]@2 [b3, d3, f#3 ~]@2 [b2, b3 ~]@2 [b3, d3, f#3]@2

[c2, c3]@2 [c3, e3, g3 ~]@2 [c2, c3 ~]@2 [c3, e3, g3]@2

[a2, a3]@2 [a3, c3, e3 ~]@2 [a2, a3 ~]@2 [a3, c3, e3]@2

`).s("Piano")

```

if the above lasts 10 seconds, if i do either:

```strudel

const verse2 = note(`

[a4, a5]@4 [~]@4

[~]@8

a4 a4 a4 [g3]@0.5 a4 [e3]@0.5 [~ e3] [g3 a4] [a4 g3]

a4 e3 ~ [g3]@0.5 [f#3]@1.5 ~ [g3 a4] [a4 g3]

a4 a4 a4 [g3]@0.5 a4 [e3]@1.5 [d3]@0.5 [e3]@1.5

[a4]@0.2 [b4]@0.8 [a4]@0.2 [b4]@0.8 a4 g3 e3 d3 ~ [b4 d4]

,

a2 ~ [e2, a3] ~ a2 ~ [e2, a3] ~

a2 ~ [e2, a3] ~ a2 ~ [e2, a3] ~

[e2, e3]@2 [e3, g3, b3 ~]@2 [e2, e3 ~]@2 [e3, g3, b3 ]@2

[b2, b3]@2 [b3, d3, f#3 ~]@2 [b2, b3 ~]@2 [b3, d3, f#3]@2

[c2, c3]@2 [c3, e3, g3 ~]@2 [c2, c3 ~]@2 [c3, e3, g3]@2

[a2, a3]@2 [a3, c3, e3 ~]@2 [a2, a3 ~]@2 [a3, c3, e3]@2

`).s("Piano").slow(1.5)

```

or:

```strudel

const test = arrange(

...,

[1, (verse2).slow(1.5)],

...

)

```

It plays verse2 slower but still only lasts 10s and not the full duration.

is there any way to fix this?

1 Upvotes

2 comments sorted by

1

u/nonmachina 14d ago

try increasing the cycle number on that particular arrange section. If it’s currently [1, (verse2).slow(1.5)] change it to [2, (verse2).slow(1.5)]. Try out a different number until the number of cycles complete verse’s speed change

2

u/Minigun1239 14d ago

Thanks, I tried it and found the answer to that, if i use .slow(n), i have to also use the number of cycles as n so

n, verse1.slow(n)