Audio Project, Part 2

I need to write a 3D placement algorithm, where defining the speakers' positions in space and the audio source's position in space will set the volume for that audio on each speaker. The framework is there, and everything else looks right, but I still need to plug in the 3D calculation.

I'm not sure at all about using 10-15 USB interfaces on the same machine, and this sounds (by all accounts) a recipe for disaster. I can try and adapt this for lag, but just manually listening and figuring out delay settings for that many separate interfaces may be a final-implementation disaster. It's been suggested by a audio professional or two that I plan on using Firewire.

That said, I looked into using 5.1 or 7.1 surround-sound interfaces to split into 6 or 8 mono channels, respectively. However, this requires setting a variable in DirectSound, WAVEFORMATEX, which is available in C++, but automated in the C# SDK. Whereas that automation makes it easier for the majority of projects, it makes this one problematic.

So, the next step appears to be relearn enough C++ to make this work over there, so that I can address more that two channels per interface. The structure I've built looks like it'll port over very quickly, so this might not take terribly long.

No comments: