-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support SQ #70
Comments
Wrote a program to demonstrate phase differences in the rear channels. Output:
Basically:
Basically, -90 -> -180 pans from rear right to rear center, and 90 -> 180 pans from rear left to rear center. What I don't understand is how to handle phases -90 -> 0 -> 90. Do they pan from rear right to front right (or rear left to front left?) |
Experimented with pans from front to back:
What's strange is how the phase difference works. I suspect that my subtraction was backwards in right front to right rear |
Basically, the way that SQ works (with regard to phase) is that:
The fact that out-of-phase can go to the front is odd. Normal matrixing doesn't "care" about the sign of the phase; -90 and +90 are treated the same, as is -180 and +180. I still need to understand the amplitude changes. |
Re-did the phase chart: right front to right rear right rear to left rear left front to left rear Basically, the problem is that phase <0 or >1.7126932 is somehow steered. But, phases 1.7126932 <-> 3.0364265 have two different positions. At that point, whichever amplitude is higher determines how to steer. Weird |
Tried upmixing a sample SQ file that I found online. One thing I realized: When a sound is isolated in the right or left speaker, the noise in the other channel results in a random phase in the other channel, and thus random steering of the sound. This will especially be clear when upmixing recordings from noisy sources, like vinyl. What I've decided to do is add a sn setting as an option. When either channel is quieter than the quietest steered sound, the phase difference will be overridden to 0. To keep this simple, the option will merely be the "minimum steered amplitude," expressed as an amplitude. It will default to 1/100th: 0.01. Note: Sample formula to calculate loudness in SPL. |
Marked experimental: At the time I don't fully understand the issues with SQ. |
It appears that:
|
I suspect that the test tones that I've been working with are "mono compatible" instead of the default SQ test tones. (See how there are two different matrixes described at https://en.wikipedia.org/wiki/Stereo_Quadraphonic#Usage) I'm now going to generate my own test tones according to both matrixes, and then support both matrixes. |
I wrote my own test tone generator, but I'm not sure if the tones are generated correctly. Right-mid is played in both front speakers. Right rear comes out the front speaker. I will try an alternate approach to the test tone generator. |
Switched back to the phase-based technique. Currently I need to add some amplitude adjustments based on position. |
Currently left in an experimental state, if this is fixed, it will be in #87 |
For SQ: https://en.wikipedia.org/wiki/Stereo_Quadraphonic
https://en.wikipedia.org/wiki/Matrix_decoder#SQ_matrix,_%22Stereo_Quadraphonic%22,_CBS_SQ_(4:2:4)
Rear left: Right is (3/4)pi ahead
Rear center: 135 degrees difference between channels, right is 135 degrees forward relative to left
Rear right: Right is (1/4)pi behind
https://www.desmos.com/calculator/zimzev6yla
l: left back in left total
e: right back in right total
k: left back in right total
r: right back in right total
Bottom functions:
Rear center in left total
Rear center in right total
The text was updated successfully, but these errors were encountered: