Phase issues

An area for people to discuss Scope related problems, issues, etc.

Moderators: valis, garyb

Post Reply
Music Manic
Posts: 1739
Joined: Wed May 15, 2002 4:00 pm
Contact:

Phase issues

Post by Music Manic »

After running my DAW and Scope for a while I’ve notice there’s a slight sample delay occurring.

I’ve put a mono software sine wave from the DAW passing through each of the L and R ASIO channels into scope with one going back to its ASIO in while the other passes through a scope mixer. It’s phase coherent for a while but introduces a sample or two of delay after a while?

What causes that? ASIO, RAM, software or DSP processing?

Thanks
User avatar
garyb
Moderator
Posts: 23248
Joined: Sun Apr 15, 2001 4:00 pm
Location: ghetto by the sea

Re: Phase issues

Post by garyb »

all of the above.
Music Manic
Posts: 1739
Joined: Wed May 15, 2002 4:00 pm
Contact:

Re: Phase issues

Post by Music Manic »

garyb wrote: Tue Feb 09, 2021 5:31 pm all of the above.
Haha thanks Gary. So it’s part of the party then? No such thing as being completely stable no?
User avatar
valis
Posts: 7306
Joined: Sun Sep 23, 2001 4:00 pm
Location: West Coast USA
Contact:

Re: Phase issues

Post by valis »

Phasefix-x
fra77x2
Posts: 412
Joined: Sun May 03, 2015 3:23 pm

Re: Phase issues

Post by fra77x2 »

Custom assigning of the DSP's. (is the solution)

It is caused because in the normal scope software the automatic management of the dsp load sucks...

----------------
"all of the above"

This is really not the case. In computers the signal is sample accurate.

-----------------------
"two of delay after a while?"

It is caused when a new device module causes reassignment of devices on the fly. Luckily most users are amateurs to notice and it keeps going for 20 years
-----------------------

"So it’s part of the party then"

No it is not part of the party. It is something that affects your sound negatively. Please ignore answers that find "phasy" sound cool. They are common idiots unwilling to learn.
Last edited by fra77x2 on Tue Feb 09, 2021 10:06 pm, edited 1 time in total.
fra77x2
Posts: 412
Joined: Sun May 03, 2015 3:23 pm

Re: Phase issues

Post by fra77x2 »

"Phasefix-x"

Phasefix-x sucks because you have to measure the latency (it is not constant it depends on which dsp the device gets loaded and the communication channels to reach the mixer) and then manualy set the delay time.

This gets in the way of working because you have to do it and re do it with new device loading.

The only solution is custom assigning of dsps' (in sdk) or in the Scope software for the Xite, or usage of some "load on one dsp" modular shells i have uploaded in the past. Otherwise crossing the fingers does not work
Music Manic
Posts: 1739
Joined: Wed May 15, 2002 4:00 pm
Contact:

Re: Phase issues

Post by Music Manic »

fra77x2 wrote: Tue Feb 09, 2021 9:50 pm Custom assigning of the DSP's. (is the solution)

It is caused when a new device module causes reassignment of devices on the fly. Luckily most users are amateurs to notice and it keeps going for 20 years
-----------------------

That’s exactly when it happens. I thought it might be the dsp. Is there a device to stop this from happening or aligns everything in place?
Music Manic
Posts: 1739
Joined: Wed May 15, 2002 4:00 pm
Contact:

Re: Phase issues

Post by Music Manic »

fra77x2 wrote: Tue Feb 09, 2021 10:00 pm "Phasefix-x"

Phasefix-x sucks because you have to measure the latency (it is not constant it depends on which dsp the device gets loaded and the communication channels to reach the mixer) and then manualy set the delay time.

This gets in the way of working because you have to do it and re do it with new device loading.

The only solution is custom assigning of dsps' (in sdk) or in the Scope software for the Xite, or usage of some "load on one dsp" modular shells i have uploaded in the past. Otherwise crossing the fingers does not work
Ah! could you show me how to do that. I have the SDK but I don’t know where to start.
User avatar
garyb
Moderator
Posts: 23248
Joined: Sun Apr 15, 2001 4:00 pm
Location: ghetto by the sea

Re: Phase issues

Post by garyb »

i'm not sure that everything in the computer is always sample accurate between tracks, a lot happens in a sequencer. but i suppose that there are cases where it always is. i think perfect accuracy is something related to offline processes not affected by data flow and issues of latency. definitely, dsp allocation is an issue as fra77 says. he certainly knows more about programming than i do.

in any caser, i learned on analog gear in studios with miles of wire. all of the music that was fundamental in shaping how we listen to music was done on such gear. phase has always been something important, but has never been perfect. i understand the value of phase coherence in electronic music, even though everything that has defined electronic music was done using gear that was less than perfect(before computers were the entire realm of creation). at the end of the day, i'm more concerned with the music, although nothing wrecks a recording of a piece of music like phase issues.

mr. Manic, fra77 was offering lessons...
fra77x2
Posts: 412
Joined: Sun May 03, 2015 3:23 pm

Re: Phase issues

Post by fra77x2 »

it is different when the signals are analog. You 'd never "add" electron per electron. But in digital addition or subtraction is very important. Lets say we have 2 signals each one 3 samples long

sample a
2,5,3

sample b
4,-4,-1

if we "mix" these i.e. add them we get

6,1,2

but if i have one sample delay on the second signal i get

-2, 4 etc...

This appears immidiately on a spectrum analyzer as comb filtering artifacts and after 2-3 samples it is very obvious on the sound.
Anyway only sample accurate mixing permits all the nice tricks with parallel processing. The sample should completely cancel with inverted phase.
And inverted phase is the most important way to use dynamic processing

of course it matters when the signals mixed have something in common i.e. mixing a signal with an effected version of it. Mixing unrelated signals together does not matter.

--------------------------

Music manic.
In the sdk if you right click on a device you can open some parameters that each module has its own.
One of these is the "dsp", i don't remember right now. you can manualy change the number the module is assigned to (select the field and press f2 to edit it).
If you make the tests you are doing you will find that the latency is constant with manual assignment and stays that way whatever happens.
You can trust on it. I am using this facility for >15 years now.
Last edited by fra77x2 on Wed Feb 10, 2021 12:20 am, edited 2 times in total.
fra77x2
Posts: 412
Joined: Sun May 03, 2015 3:23 pm

Re: Phase issues

Post by fra77x2 »

"i'm not sure that everything in the computer is always sample accurate between tracks"

Unless something goes wrong (which is unlikely) everything is sample accurate with plug in delay compensation activated.

In general testing the system and the plugins used to have an idea if this is true in the particular case is always a good thing but
most of the time it is.

Now that I think about it if you use look ahead on a plug in tests should be made if the latency is reported right (for vsts)
For scope with look ahead used on devices of course manual fix of the latencies is required for parallel processing.
User avatar
valis
Posts: 7306
Joined: Sun Sep 23, 2001 4:00 pm
Location: West Coast USA
Contact:

Re: Phase issues

Post by valis »

I'm happy fra77x2 had the time to go into a long explanation..Busy week here.

Phasefix-x is a good tool to verify when this is occuring imho. What I do is simply use the invert button to verify that there is indeed a phase shift. This only works with a mono signal of course, where there's no "side channel" difference, but to verify this for stereo ASIO connections & the like it's easy to send a mono signal down the same signal path. Invert, if it cancels 100% then it's phase accurate. If not...

The first thing to cover however is locking the ASIO driver, which I believe has typically been done to dsp2 (fra77x2 or dawman confirm)? Then you proceed with devices down the chain after that. And these assignments should be kept when reloading the project (correct again?), as this is where the largest variable occurs in relation to phase (dsp assignments are shifted on the fly based on resources and a project may reload things in a different order than you originally added them).

Lastly, it's probably a good idea to load and assign heavy devices first, if possible.
fra77x2
Posts: 412
Joined: Sun May 03, 2015 3:23 pm

Re: Phase issues

Post by fra77x2 »

yes assigning the asio modules is useful. in Xite asio can be loaded at dsp 10 which is a new dsp. this means that with devices loaded also at dsp 10 there can be any number of connections that do not use communication channels at all i.e. not sat errors for any number of connections...

the order that the custom assigning happens does not matter neither when the project loads. it is comp!etely deterministic. if the devices fit once they will always fit.
User avatar
dante
Posts: 5043
Joined: Sat Nov 24, 2001 4:00 pm
Location: Melbourne Australia
Contact:

Re: Phase issues

Post by dante »

Having only the 'D' I don't get to try the ASIO on DSP 10 trick. But below is what I got from Eric re manual DSP assignment. From what I gather manual placement is more for the old (non Xite optimised) devices. XITE optimised devices are automatically placed on DSP to minimize phase issues.

https://www.scopeusers.com/ScopeRise/is ... temast.htm
fra77x2
Posts: 412
Joined: Sun May 03, 2015 3:23 pm

Re: Phase issues

Post by fra77x2 »

"From what I gather manual placement is more for the old (non Xite optimised) devices"

You don't sound to understand what are these phase issues at the end.

-------

"XITE optimised devices are automatically placed on DSP to minimize phase issues."

XITE optimised devices do not exist. Loading on a single dsp can be considered an "optimization" it allows a stereo device for an example to be sure that both channels have the same latency.

But you have to understand that if the mixer is on one dsp and an effect device on another and i send my signal both to the mixer channel and at the same time to be processed by the device and then gets mixed these paths will have introduced latency. Perhaps the asio to mixer will have 4 samples but the asio through the device (on another dsp) and to the mixer 8 samples latency. This will create the problem we try to clarify.



signal ------> mixer channel 1 (loaded at some dsp -introduced latency x)
|----> effect (loaded on another dsp introduced latency y) -> mixer channel 2 (introduced latency x)
(same signal)


latency of path A = x samples
latency of path B = x+y samples

= phase issue
-------------------------------------------------------------------


signal A------> mixer channel 1 (loaded at some dsp -introduced latency x)
different signal B ----> effect (loaded on another dsp introduced latency y) -> mixer channel 2 (introduced latency x)


latency of path A = x samples
latency of path B = x+y samples

= not a phase issue (signals unrelated)

----------------


signal A------> mixer channel 1 (loaded at some dsp -introduced latency x)
|------> effect (loaded on the same dsp as the mixer - no extra latency) -> mixer channel 2 (introduced latency x)
(same signal)

latency of path A = x samples
latency of path B = x samples

= not a phase issue (sample accurate)






Let's say I mix my bass and my drums and i have an audio with both sounds mixed.
Now I send this audio to mixer channel A

And I have my drums alone and i send it to a second channel but via an effect.

If the path latency of mixer channel A is different than channel B I have problem adding again the drums to the drums + bass mixed audio

------

The solution is to understand what we are talking about and taking care of it - not "minimize" it.
fra77x2
Posts: 412
Joined: Sun May 03, 2015 3:23 pm

Re: Phase issues

Post by fra77x2 »

If you don't understand it perhaps working inside a daw with just vsts will have better result.



(1) bass audio sample
(2) drums audio sample

I mix the bass and drums together and i get

(3) bass+drums audio sample

now if i send

audio(3) -> mixer channel A
audio(2) -> compressor -> mixer channel B

and paths have different latencies (perhaps because the compressor is loaded on another dsp)

= phase issue.

The audio(2) and audio(3) have somthing in common, the drums audio sample
Music Manic
Posts: 1739
Joined: Wed May 15, 2002 4:00 pm
Contact:

Re: Phase issues

Post by Music Manic »

fra77x2 wrote: Wed Feb 10, 2021 1:06 pm If you don't understand it perhaps working inside a daw with just vsts will have better result.



(1) bass audio sample
(2) drums audio sample

I mix the bass and drums together and i get

(3) bass+drums audio sample

now if i send

audio(3) -> mixer channel A
audio(2) -> compressor -> mixer channel B

and paths have different latencies (perhaps because the compressor is loaded on another dsp)

= phase issue.

The audio(2) and audio(3) have somthing in common, the drums audio sample
Exactly my point in which why I tested phase with a sine wave. When I use to mix and add plugins in Scope I noticed the sound started to lose tightness and coherency.

I still love some of the Scope plugins and now I know you've confirmed what's happening, and I'm not going mad, I would like to set my mastering chain on Scope and for it to be phase less when it receives audio from my DAW.

I will try what you suggested by forcing the devices on one DSP in Scope using the SDK. Does it work for 3rd party devices too? I'm new to it so any help will be appreciated.

Thanks once again for addressing the problem and explaining.
Music Manic
Posts: 1739
Joined: Wed May 15, 2002 4:00 pm
Contact:

Re: Phase issues

Post by Music Manic »

valis wrote: Wed Feb 10, 2021 10:24 am I'm happy fra77x2 had the time to go into a long explanation..Busy week here.

Phasefix-x is a good tool to verify when this is occuring imho. What I do is simply use the invert button to verify that there is indeed a phase shift. This only works with a mono signal of course, where there's no "side channel" difference, but to verify this for stereo ASIO connections & the like it's easy to send a mono signal down the same signal path. Invert, if it cancels 100% then it's phase accurate. If not...

The first thing to cover however is locking the ASIO driver, which I believe has typically been done to dsp2 (fra77x2 or dawman confirm)? Then you proceed with devices down the chain after that. And these assignments should be kept when reloading the project (correct again?), as this is where the largest variable occurs in relation to phase (dsp assignments are shifted on the fly based on resources and a project may reload things in a different order than you originally added them).

Lastly, it's probably a good idea to load and assign heavy devices first, if possible.
I think I’ve worked out how to assign the ASIO driver in SDK Valis as fra77x2 pointed out which will make sure the audios stream isn’t wondering all over different DSPs so I will check the results there and get back. Some devices are obviously locked as Gary said but some keep asking me to install the key but don’t show up in the SDK when I import them. Any ideas?
Post Reply