Hello.
Le 11/09/2019 à 00:26, Andrew Lyons a écrit :
Sounds like you want spatialization on a plane through 8 speakers positioned on a circle?
So you need to convert any cartesian locations to polar coords first. For an approximate 3D sound effect you really only need a function to create distance (and Doppler?) effects, and then feed that output, and the angle into the planner.
The Doppler effects are the trickiest obviously. Last time I checked, real time pitch shifting as a function of change in distance was best done in the Fourier domain. Not sure how real time that is these days.
Distance effects are just inverse square of distance (or 1/ d^1.5 according to some). Then add filters for high and low frequencies. Constant power panning and variants popular and easy for speakers on a circle.
When soundwaves are propagating through a medium, there are several effects happening, like dispersion and reflexion, and they may travel at different speeds with same frequency following it's shear modulus (see https://en.m.wikipedia.org/wiki/Speed_of_sound). That's how ambisonic tools might be usefull...
Doppler effect is involved when the source of a sound and the listener are moving relative to each other.
There's pseudo code in this book from memory: Dodge, Charles; Jerse, Thomas A. 1997 Computer music : synthesis, composition, and performance. 2nd ed. New York : Schirmer Books ; London : Prentice Hall International.