Phase shift

Do someone know a module able to rotate the phase of a wave (+/- 180) that comes out from a VCO?

If it’s no, do you know any else method?

You should be able to do this with oscillators that have a phase modulation input. Some may have phase modulation but call it fm. But there will be many fm inputs that are genuine frequency modulation which is not what you are after.

I’m not sure which oscillators have pm inputs. My PO-xxx oscillators do, but they are not good oscillators, full of aliasing.

1 Like

nothing that can be done after VCO? I can’t change vco, i must use the mine

You can do it with a delay, but you need to synchronise the delay length with the VCO frequency.

It’s not an easy problem to solve in the general case. If you could be more specific about your use case, then someone might have a more useful suggestion.

but delay is not bipolar unfortunatly and, as you said, delay lenght is not synchronised with vco frequency.

actually I don’t know how could I be more specific:

I need a way to generate the potentially bipolar rotation of a wave coming out from my vco.

Delay doesn’t need to be bipolar, because e.g. -90° is equivalent to +270°
But you’d still need to synchronise it.

Specifics:-

  • what kind of frequency range do you need for the oscillator
  • what wave shapes do you need
  • how accurate does this need to be
  • why do you need the phased wave

no, it’s not the same: -90 means that the wave begins 90 degrees before of the zero and +270 means that the wave begins 270 degrees after.

  • frequency range: all
  • wave shapes: the ones that my vco’s got
  • how accurate: a lot
  • why do i need this: to play with phase or phase modulation

however the important information are still theese: using my vco, I need to find a module that allows a bipolar fase rotation. I’m not looking for other vcos, I said what I’m looking for

So you want an effect module that spits audio out before it has entered it ? Are you working on a time machine ?

Joke aside, if you want to use your VCO, you have to code some kind of phase modulation in it, as stated before.

1 Like

Can’t you just do this, or am I missing something?

1 Like

That only works for some waveforms, it doesn’t phase shift ramps for example. And it is restricted to 180°.

You could read the original post as asking for that, but I believe Marco wants to be able to adjust the phase within the range of -180° to +180°

2 Likes

Don’t know if I understand the question correctly, but with something like AS::Signal Delay you can shift the phase of an audio signal arbitrarily. But yes, the phase angle will depend on the frequency, but I’m sure you could add the V/Oct with the CV for delay and attenuate it to come up with a constant angle:

1 Like

Practically speaking, no, you can’t. But you can solve the predict the future part if you use two delays and make the difference between the two be the desired phase shift. Will still be problematic to make it work. If it’s a VCO you made yourself, just add the desired output.

1 Like

This is one of those times where I ask “Tell me what your end goal is, instead of telling me how you’re trying to get there.”

I do this a lot: use 2 oscillators as a stereo pair and detune them very slightly. This causes phase cancellation and reinforcement, but usually sounds OK summed to mono.

But I can’t think what the phase modulation would do for you, without context for what you’re trying to achieve.

I’d use a vco that has phase built in like the

2 Likes

I know that apparently my question has got any sense, but the reason is mainly didactic. I’m studying a manual dedicated to sound design, replicating each patch proposed by the book. I would like to give a context for each function for which I ask you for help, but the truth is that a real context does not exist. What I’m trying to do is realize this feature on its own. For this reason I am not interested in the various alternatives: although they are all valid, in my case they are nothing more than palliatives.

Which one? I’m just curious really but others here might be familiar with it.

1 Like

it calls “Manuale di musica elettronica - Enrico Cosimi”

Can you scan and post the patch? That might help. The thing is that the two normal ways of implementing continuous phase rotation on arbitrary incoming signals are extremely small delays (discussed above) and all-pass filters, and those are necessarily going to have different effects at different frequencies.

So (as @carbon14, @LarsBjerregaard, and @Squinky have all suggested from slightly different angles), if you want to be able to rotate the phase of an arbitrary wave, you’re going to have to feed pitch information to the device that’s doing the rotating, re-calculated to match what the device needs to know. No way around that, I think, and making sure it doesn’t glitch when the pitch changes is going to be non-trivial.

This might clarify: imagine your VCO is generating a sine wave at 440Hz (A4) and you’ve set up a delay that shifts its phase by 45 degrees. Now the VCO pitch changes to 392Hz (G4). The phase rotation is no longer going to be 45 degrees; if you want it to be 45 degrees for 392Hz, you need a different delay length. For constant phase shift across multiple frequencies, you have to keep the VCO and the delay sync’d.

3 Likes

Yes the concept is very clear to me, but how can I synchronize the de vco frequency and the delay time of the delay to correspond to 180 degrees? My goal is to have a knob that can rotate the phase bipolarly and that can also be modulated. I repeat that I don’t have a patch. My patch are two vco’s of which one must be able to be phase rotated in the way I just described.

Here’s my recommendation. Start with a subsample delay:

  • Pick a frequency (440Hz is fine) and using math, a scope, and/or experimentation to determine what CV inputs to the Delay port achieve 0 to 180 degree phase rotation of a sine wave at that frequency. (Note that WDelay has a Delay Specification choice–you probably want Time, but see what works better for you). If the concept is, as you say, very clear to you, this should be extremely easy.
  • Now, wire together a set of control modules that scale a CV source via a modulable knob using the knob law that you want. Lots of ways to do this. Since the VCO pitch is (thus far) fixed, you won’t need to input it.
  • Now, solve the problem for another pitch (e.g. 392Hz), then another, then another, until you have a general solution that works for any frequency.
  • Now, pass the VCO pitch to your set of control modules, and add more modules and patches until you’ve implemented the function you just determined and put it on a knob.
  • Since you additionally require -180 to 180 degree phase rotation, you now need to add a second delay that affects both the “reference” signal and the signal under rotation equally. The double delay allows the “through-zero” motion of the phase rotation and stops you from having to be a time traveler (as several people posted above). If lag needs to be minimized, you can time this delay to the maximum amount of rotation you need to apply at any given frequency, which should be quite simple if you’ve solved the primary problem. Otherwise, make it longer than the maximum rotation you’d ever need to induce, and you’re fine.
3 Likes