Synthdef (mi-Ugens) pitch being affected by `loopAt` (it shouldn't be?)

Hi all,
I noticed today while debugging something else, that there's a weird artefact (bug?) in the mi-Ugens synthdefs that causes it to change pitch when using loopAt. eg

d1
  $ loopAt 2
  $ segment 16 $ note (scale "hex" ("0 0 0 1 0 0" + (irand 4))) # s "omi"

Adjust the parameter for loopAt and the pitch changes. superfm does not do this (and I would call this expected behaviour).

Can anyone help identify where/why this is happening?

The synthdefs I'm using are here:
https://raw.githubusercontent.com/cleary/ansible-tidalcycles-synth-mi-ugens/master/files/mutable-instruments-synthdefs.scd

The mi-Ugens code is here:

Thanks :slight_smile:

loopAt changes speed, and speed changes pitch in the synthdef.

Superfm does not depend from speed (if I remember correctly because it's complex), while pretty much all the synths in superdirt do.

1 Like

That makes sense - thanks :slight_smile:

I did a test with a few others (piano, zow, tron) and they all keep their pitch while # speed changes -

Pretty much all the synths in superdirt should have the speed and accelerate feature: Apply DirtFreqScale to default synths (#247) · musikinformatik/SuperDirt@15f26e3 · GitHub

1 Like