[*~ ] just multiplies the signal by a number or fraction. so, if you multiply by 0.5, the volume of that signal will be half.
then, a basic eq would have stuff like this:
a) lowpass
[lop~ 500]
midpass
[hip~ 500]
|
[lop~ 2000]
c) highpass
[hip~ 2000]
for ease of drawing here, let's use a send/receive pair to show what happens to the signal in a simple one channel eq:
[inlet~]
|
[s~ my-signal]
[r~ my-signal]
|
| [0 ....-> 1]
| |
[*~ ]
|
[lop~ 500]
|
[throw~ eqd-signal]
there's the lowpass section. we just multiply the signal by a fraction between 0 and 1 to decide how much of the signal goes through the lowpass section.
here's the mid eq:
[r~ my-signal]
|
| [0 ....-> 1]
| |
[*~ ]
|
[hip~ 500]
|
[lop~ 2000]
|
[throw~ eqd-signal]
again, we just multiply the signal's amplitude to decide how much will go through the mid-eq section.
and finally the high end:
[r~ my-signal]
|
| [0 ....-> 1]
| |
[*~ ]
|
[hip~ 2000]
|
[throw~ eqd-signal]
then...we just catch~ all the signals at the end, and output to our speakers, or headphones or whatever:
[catch~ eqd-signal]
|
[dac~]
so, if you were to multiply that into 120 subpatches, every subpatch would contain 3 amplitude multiplications [*~ ] , and then 3 sets of filters.
however, because the 3 filter sections will be the same in every subpatch, you can just multiply the amplitudes (very cheap on cpu) and then output all 120 signals to one group of filters before going to the output.
if you look at the eq i posted as a patch, the aplitude multiplication occurs AFTER the filters. so it would be like:
[inlet~ ]
|
[lop~]
|
[*~ ]
|
[outlet~]
but, you can switch the order and have the same result:
[inlet~ ]
|
[*~ ]
|
[lop~ ]
|
[outlet~]