Polyphonic effects

The way my modules indicate which ports are mono and which are poly is using different colored jacks: polyphonic ones are golden, monophonic ones are silver… may not be the best solution; but I hope it is useful.

Having polyphonic modules be straight polyphonic inputs and outputs, always, would end up with users hitting a wall sooner rather than later: without, say, utilities to convert monophonic signals to polyphonic ones and the other way around, in a simple patch, if mono signal sources are sent to a polyphonic effect, its ability would be defeated without something to merge them thus requiring multiple copies of the same module; conversely, if poly sources are sent to an effect that acknowledges only the first channel, sources would not be processed and, without the ability to divide the polyphonic cables into monophonic ones, the result would be far more dire: signals lost down the road.

It could be informative adding tags or nomenclature, for example like CDs used: “AAD”, “ADD”, “DDD”, so we could have either new tags or descriptions; for tags, “Polyphonic-Polyphonic”, “Monophonic-Polyphonic” and “Polyphonic-Monophonic” could be added or for descriptions “P-P”, “M-P” and “P-M” could be used, in both cases the first word or letter caters to inputs and the second one to outputs; but… what about the CVs? I had a conversation with @Alphagem-O some time ago about that, if the conversation came up, I guess there are quite a few modules that have poly ins and outs; but disregard the CVs and always use mono (My Funes module is polyphonic; but has two monophonic CV inputs… because existing patch compatibility would be utterly destroyed (the module would have to be redone entirely if those were made poly)).

I do admit having polyphonic inputs and producing monophonic outputs is really, really weird and confusing.

I think the best option, so far, is to read the manuals… then again… there are a number of modules without documentation :frowning:

2 Likes

Yep @Bloodbat and @LarsBjerregaard you are right, in that sometimes you want to convert poly into mono and obviously that has it’s uses. I was referring specifically to audio processing modules, where I don’t think just accepting a poly input is genuinely polyphonic. It’s a confusing area sometimes.

I might start dedicated thread for properly polyphonic effects. :wink:

1 Like

No argument: doing that is weird; but Rack itself has provisions for doing it, for example getVoltageSum (produces a mono voltage out of a collection of polyphonic ones); but if a module claims to be polyphonic; gets the summed voltage, and treats the signal as mono internally and outputs it as such… I agree, they probably should not be tagged as poly.

Now, a question for y’all: I know the ideal scenario is to make everything polyphonic all the time, but let’s not go there just yet; for modules that output mono, which would you rather have: ones that sum all voltages and output a mono mix of them all or one that acknowledges only the first channel in a polyphonic cable and outputs only that signal?

It is sometimes desirable, as well, to sum the voltages manually before sending them to a poly module so they will be treated as mono, too.

1 Like

I think that probably summing to a mono mix is more useful, otherwise folk could be scratching their heads wondering why only one note is coming out. Having said that, with something like a reverb I wouldn’t usually stick a poly cable straight into the input, I would usually patch that as an aux send effect in the Mindmeld mixer, so it would only ever get stereo inputs. I guess it’s useful to have the option though.

1 Like

As someone pointed out already, the problem here is that often modules have a whole bunch of inputs, and it’s not at all clear cut.

Typical example - a filter. Sure the audio input and output ideally should be polyphonic. But should the resonance input be polyphonic? Maybe? But what would you drive it with? And if it is, what does a knob do? I guess add to all the polyphonic CV inputs? But sometimes from the UI you can control which channel all the controls point at…

And then clocks - “should” they be polyphonic? In some cases yes, some no?

Lastly, modules with no documentation - if that’s a problem, maybe ppl shouldn’t use modules that have no docs?

3 Likes

So… back to square zero: up to module creator and user :stuck_out_tongue:

Lastly, modules with no documentation - if that’s a problem, maybe ppl shouldn’t use modules that have no docs?

That’s for individual users to decide. Some modules are intuitive… some are not and documentation availability is important.

1 Like

@LarsBjerregaard, yes, I absolutely agree that it’s all voltage and since no one else seems to feel my perceived conceptual difference between control and audio signals, that’s fine with me.

I agree that placing marks or colors on ports to label their abilities for polyphony is a great idea if developers actually follow it and users can remember their meanings.

@Bloodbat, I actually had not noticed the different port colors before, so this is really neat! PP/MP/PM sounds intriguing, and your question about polyphony of modulation CV, which I consider rather important, is well taken. I remember our conversation regarding this, and especially value the polyphonic clock and swing modulation of your Vimina module!

@Squinky, I think that it should be possible to independently modulate every single polyphonic channel that enters e.g. a filter, including frequency, resonance, drive etc. To me, a polyphonic audio signal acts like (up to) 16 independent voices, and it can save a lot of space in a patch when voices and their modulation can be processed in a single module, which only works well when modulation is polyphonic, too.

Polyphonic clocks are especially interesting for sequencer-type modules, such as Rare Breeds’ Polygene. In case all clocks should be identical, one can multiply the signal into the channels first.

I also like it if the number of polyphony channels can be controlled in the context menu, e.g. as in Surge XT’s Quad LFO.

The simple recommendation to not use modules without documentation if you don’t know how they work is logical. On the other hand, wouldn’t it be nice to be able to learn about a new module from a manual that otherwise would have been obscure?

Also, there are many modules that I understood at one point in time after a good deal of trial and error, but then returning 6 months later, I basically had to start from scratch if there were no docs — somehow that just does not seem to be very efficient. At least I sometimes try to take a few notes that can ease my way back in, a manual would for sure be better though.

@VirtualModular, I agree that there is a lot of confusion around polyphony. To start an approach toward more clarity: Can you specify what makes a module properly polyphonic in your view?

@Bloodbat, regarding summing or first channel use: I think it really depends and the best way might be a respective option in the context menu.

3 Likes

If you want docs for a module that doesn’t have them, that’s an issue to raise with the author of the module.

If Rack established a policy of mandatory documentation for a plugin to be allowed in the library, I’m certain that would mean losing some plugins, which would be a shame.

I am a firm believer in the value of documentation and always write docs for every module I create, even if it’s a blank module. But then, all my blank modules have some functionality, if sometimes hidden :-).

5 Likes

I have extensive documentation for every module I’ve made. But I rarely make them now…

2 Likes

My blanks have docs as well, even if they are just silly blurbs :stuck_out_tongue:

1 Like

@Alphagem-O my definition of a properly polyphonic module is the ability to process each channel independently, or in other words a discrete instance of that effect per channel.

If you think about a polysynth in hardware, in the analogue world a six voice synth needs to have six independent filters. As you pointed out, it’s a convenient way of using more modules without patching loads of copies. For example with Polydelay, you can make a kind of multi-tap delay where each repeat is on a different poly channel, then process that through a poly filter so the repeats are filtered differently too, etc.

1 Like

I think your definition covers a good range of modules, @VirtualModular !

And there may even be more, especially when thinking about ‘channel routers’, which either a.) make channels interact with each other or b.) process a list of channels.

For instance I would also consider modules polyphonic that split, merge, sum, average, group, sort, append, subtract or rotate channels.

So, this would expand the definition to a kind of meta level, where not only every channel is served, but the relation of channels to each other is considered.

1 Like

Yep, would you class those as effects if they’re used to process audio? I guess they are, but just to add to the confusion most modules like that can take either CV or audio signals. I was thinking of purely sound processing modules. This doesn’t always make sense, for example I can’t see much benefit in a multichannel distortion. The things that work best are delays, and modulation effects like phasers, flangers and comb filters.

Of course, you can process CV through audio modules, like a lowpass filter creates slew for example. This is simultaneously one of most powerful benefits of modular and also a bit of a headache!

1 Like

Yep, this kinda comes full circle to my original differentiation of polyphonic CV vs. audio, i.e. that I feel the difference between audio processing and modulation signals without being able to pinpoint the separation.

I suppose that this roots in my history with standard DAWs, where the distinction seems to be a lot more clear.

No doubt though, it remains complex and confusing like an M.C. Escher drawing. However, this may also be a good opportunity to strengthen the practical, teleological approach.

Me too. And . . . I hold that merely saying “this module emulates an XYZ Sequencer” — where XYZ Sequencer is some obscure real-world piece of hardware — doesn’t count. Not everybody knows what an XYZ Sequencer does, especially if VCV Rack is their first point of contact with audio synthesis.

1 Like