Why does gain 0 pattern still affect sound output

Can someone tell me why the following two patterns sound different:

Pattern 1:

d1 $ stack[
  struct "t(5,8)"
  $ n "0"
  # s "mt <ht lt> ht"
  # dry 0.2
  # room 0.6
  ]

Pattern 2:

d1 $ stack[
  struct "t(5,8)"
  $ n "0"
  # s "mt <ht lt> ht"
  # dry 0.2
  # room 0.6
  ,struct "t*4"
  $ n "0"
  # s "cp"
  # gain 0
  ]

My assumption was that setting the gain to 0 would cause the clap pattern to not affect anything, but to me it sounds like it is cancelling the delay effect.

Probably because the room is a "global effect", and your working in the one orbit (d1) where the value of room on the sd pattern is implicitly 0 (because it's undefined in the sd pattern).

Try putting them in different orbits:

d1 $ stack[
  struct "t(5,8)"
  $ n "0"
  # s "mt <ht lt> ht"
  # dry 0.2
  # room 0.6
  # orbit 1
  ,struct "t*4"
  $ n "0"
  # s "cp"
  # gain 0
  # orbit 2
  ]
1 Like

Thanks, that makes sense. I wasn't aware of the orbit function.

1 Like

You can also use more effective ways to silence parts. As you've found 'gain 0' still 'plays' the sound, you just can't hear it :slight_smile: Using the mask function is one approach Conditions | Tidal Cycles

Or if you want to silence a whole part of a pattern you could use # silence instead of #gain 0.

2 Likes