SuperCollider:

```
(
SynthDef (\mult_synth) {
arg sustain = 1, pan = 0, amp = 0.2, out = 0,
freq = 220, numerator = 3, denominator = 2;
var sig, env;
env = Line.kr (amp, amp, sustain, doneAction:2);
sig = SinOsc.ar (freq * numerator / denominator);
sig = Pan2.ar (sig, pan, env);
OffsetOut.ar (out, sig);
}.add;
)
```

in TidalCycles:

```
d1 $ n "0!6"
# s "mult_synth"
# pF "numerator" (choose [1..12])
# pF "denominator" (choose [1..12])
```

I was wondering whether there was a neat / cute way to seed the `choose`

functions to be uncoupled? In the above example, both functions are choosing the same "random" number from the list, causing the frequency to always be multiplied by 1.

edit: Mike Hodnick suggests using the rotate function `<~`

(from here)

edit 2: so the syntax for patterns works as follows:

```
d1 $ n "0!6"
# s "mult_synth"
# pF "numerator" ((1 <~) $ choose [1..12])
# pF "denominator" ((2 <~) $ choose [1..12])
```

... so long as the patterns are being rotated by different amounts, the streams will contain different numbers