Invert phase on FX send

same here - since going digital, dsp mixing in the audio interface. I guess that’s the issue :slight_smile: It’s much more convenient in many ways, but does mean I have to ask the manufacturer of the virtual mix console I use now for a feature to be implemented rather than just making a cable.

indeed :slight_smile:

Well… the manufacturer in question here invented the VST system…:wink:

I’m not advanced in this area but looking at this free plugin, might it do the trick perhaps?

1 Like

It doesn’t help in this particular case.

The point is… in Reaper, every send in every channel has its own phase reverse switch.
And this doesn’t exist in hardware.
And unlike Toby suggested, it’s not doable with adapters.
You would need an insert point on every single send.

You have a gain for each send, putting it to a negative value and you have your phase switch. (It is not possible today, but the feature will at least cost zero in performance.)

1 Like

Are you serious?

That makes a sort of sense when you think about it as a graph of a wave around y=0 with the amplitude being the y value, so good visualization. However, it reminds me of an explanation I heard recently for why light has momentum using E=MC^2. It makes sense, but it’s not correct.

Now that I said that, I hope my memory from all the DSP classes holds up here because my textbooks are packed away. So with much anxiety that I got some detail wrong,…
I’m pretty sure this is the formula concerning your idea.

output_amplitude(time) = gain * input_amplitude * cos( input_frequency * time - phase_shift)

So… that won’t work. But kudos for the visualization.

You mixup signal generation with signal processing. It is very costly to separate frequency components. And your phase_shift need to be dependent on your input freqency.
output_amplitude(time) = gain * input_amplitude * cos( input_frequency * time - phase_shift(input_frequency))
But this is a need for a phase-switch, (1 or -1 in time domain) output_amplitude(time) = gain * input_amplitude (time) * phase-switch.

ah, just the sample value, but time doesn’t matter there and neither does sample rate or input frequency… And my real mistake is thinking of phase rather than what it really is, which is polarity. And polarity is either 1 or -1. Where as phase could be 0 to 360, and while true that 180 is the same as a polarity of -1, it is dependent on the frequency for that to be true. Which was the real importance of my original assertion.

So not taking sample rate etc. into concern.

newSample = polarity * gain * oldSample

gain(0) != 0, right?

I mean, if we want the newSample to be the same as the oldSample that is gain == 1.
gain > 1 → increasing the amplitude
gain < 1 → degreasing the amplitude

Still, there is a lot more to this than just multiplying the input sample by the ((+/-)gain) for every sample in a block. There is more to take into consideration. But in general it looks like with a shift in terminology from “phase” to “polarity”, in general, it works and matches the intuition from visualization.

No it is that simple for 0 or π radiants. This is a very simple functions that is more or less on all decent preamps. Polarity switch is identical to 180° phase shift. (DC balanced)

In general you are correct. And I was conceding,( in case you didn’t get that).

This explains it better than I can:

Any complex waveform is made up of several superimposed harmonics of the form A sin(ωt + φ), where A is the amplitude, ω is the frequency, t is time, and φ is phase. Since A sin(ωt + 180°) = -A sin(ωt), the identity between a 180° phase shift and a negative polarity should be clear. But how much delay is 180°? Phase is just another name for delay as a proportion of wavelength (the reciprocal of frequency). That is, d = φ / 360° × λ, where d is delay and λ is period of the wave. For example, to delay a sine wave at 200Hz by 180°, we delay it by 180° / 360° × 1 / 200Hz = 2.5ms. But now imagine that instead of a pure sine wave we have a complex waveform at 200Hz with a couple harmonics, at 400Hz and 600Hz. With a little simple algebra on the equation for delay, we can see that φ = 360° × d / λ. So when we delay the whole waveform by 180°, i.e. 2.5ms, we are changing the phase of its individual components differently. The 200Hz part is delayed by 180°, as we would expect; but the 400Hz component is delayed by 360°, not 180°; and the 600Hz component is delayed by 540°, which is 180° + 360°. In contrast, when we reverse the polarity of a complex waveform, the phase of every single frequency component is changed by 180°.

1 Like

What? No.
A phase reverse switch just flips the waveform (reverses the polarity) and has absolutely nothing to do with time shifts.
Maybe the term phase switch is not the best in this case. Let’s call it polarity reverse switch.
But indeed it will affect the summing of signals.

Where do you see the time shift?

Sorry should quote the whole statement…

To be a time shift it would have to be something like
output_amplitude(time) = gain * input_amplitude (time + something) * phase-switch.
where something != 0.

I don’t see one - I see where you argue against a time shift for this use case. For me a switch to invert polarity would be fine, I quite like the idea of it being on a variable knob, but can’t see a use case for it (not that one might not exist)
Just a simple phase flip, or invert polarity would be fine on sends for me; seems like relatively simple maths and I know Steinberg can code it as they have successfully been able to on each of the channels in the mix console.

I think the confusion in the recent posts is because putting a sine wave out of phase by delaying it 1/2 a cycle does the same as inverting it’s polarity in terms of it nulling - we are of course talking about more complex waveforms here, hence my original request for an “invert phase” :slight_smile:

It do exist. It add a delay of course. It is usually something added to filter for compensate back the phase added by the filter. But it is costly adding delay and something that belongs in to a plugin if needed. Not for all sends in a daw.

If you want to make this an “official” feature request, you should probably tag it as one:

1 Like

From the same link:

Most DAWs and mixing consoles include a “phase” switch, which is actually a “Polarity Reversal” switch.

have done now - thanks - I didn’t realise that was possible