Unlinking Stereo Channels III |
January 15th, 2013 |
experiment, math, music, sound, tech, vsl1818 |
Success! I can now display eight independent mono channels to the
user while internally representing that as four stereo channels.
Before I was struggling with how to extract
the underlying equations that VSL is using to turn gain/pan into
left/right, but I decided to give up and just brute-force it. I made
a giant table (csv):
pan, gain, left, right ... 34, 80, 0.783, 0.69 34, 81, 0.793, 0.701 34, 82, 0.804, 0.712 34, 83, 0.815, 0.717 34, 84, 0.821, 0.728 34, 85, 0.832, 0.739 34, 86, 0.842, 0.75 34, 87, 0.853, 0.761 34, 88, 0.859, 0.766 34, 89, 0.87, 0.777Then to implement
to_left_right(gain, pan)
and
to_gain_pan(left, right)
I just find the table row that best
corresponds to the desired conditions and use that. So if I call
to_gain_pan(left=0.83, right=0.74)
it will probably identify
the line 34, 85, 0.832, 0.739
as closest and so decide to set
gain to 85% and pan to 34%.
It bothers me a little to use something so inefficient (Index it! Figure out the equations!), but it's fast enough. And it works. So now I can use all eight channels for their own mixes.
Comment via: google plus, facebook