Hoi,
ik ben bezig met een aantal klanken die ik in MAX-MSP in een surround sound omgeving wil laten bewegen. ik heb MAX-MSP 4.5 waarin nog geen surround zit, zo ver ik weet, dus moet ik het zelf even programmeren. nu wil ik dit doen door en equal-power panning algoritme in een MAX-object te programmeren. ik heb op internetgezocht naar de formules voor Equal power panning, en degene die ik vind zijn:
Left Channel Gain [dB] = 20*log (cos (Pi/2* max(0,CC#10 – 1)/126)
Right Channel Gain [dB] = 20*log (sin (Pi /2* max(0,CC#10 – 1)/126)
waarbij ' 0,CC#10 ' staat voor de midi-input parameter. in mijn implementatie wordt dit een waarde tussen 0.0 en 1.0
ik heb ze in een object van max geimplementeerd als,
leftvalue = 20 * log (cos (3.14159265 / 2 * n));
rightvalue = 20 * log (sin (3.14159265 / 2 * n));
waarbij de left en rightvalues een waarde moeten geven tussen 0 en 1 (afhankelijk of je links of rechts wilt pannen).
dit werkt echter niet. ik krijg er verkeerde waardes uit. weet iemand hoe je een equalpower algortime moet implementeren. kloppen deze formules? of ziet iemand wat ik fout doe?
bedankt alvast.
als ik dit heb werken kan ik het makkelijk omzetten in een surround versie.
ik ben bezig met een aantal klanken die ik in MAX-MSP in een surround sound omgeving wil laten bewegen. ik heb MAX-MSP 4.5 waarin nog geen surround zit, zo ver ik weet, dus moet ik het zelf even programmeren. nu wil ik dit doen door en equal-power panning algoritme in een MAX-object te programmeren. ik heb op internetgezocht naar de formules voor Equal power panning, en degene die ik vind zijn:
Left Channel Gain [dB] = 20*log (cos (Pi/2* max(0,CC#10 – 1)/126)
Right Channel Gain [dB] = 20*log (sin (Pi /2* max(0,CC#10 – 1)/126)
waarbij ' 0,CC#10 ' staat voor de midi-input parameter. in mijn implementatie wordt dit een waarde tussen 0.0 en 1.0
ik heb ze in een object van max geimplementeerd als,
leftvalue = 20 * log (cos (3.14159265 / 2 * n));
rightvalue = 20 * log (sin (3.14159265 / 2 * n));
waarbij de left en rightvalues een waarde moeten geven tussen 0 en 1 (afhankelijk of je links of rechts wilt pannen).
dit werkt echter niet. ik krijg er verkeerde waardes uit. weet iemand hoe je een equalpower algortime moet implementeren. kloppen deze formules? of ziet iemand wat ik fout doe?
bedankt alvast.
als ik dit heb werken kan ik het makkelijk omzetten in een surround versie.