I am a master student at Carnegie Mellon University Entertainment Technology Center and I am part of a team that is trying to create a virtual 3D environment that consists of a mixture of pre-processed binaural sounds as well as real-time DSP processed sounds that are experienced using headphones. We also want to make this experience interactive by using magnetic trackers, camera or a Wiimote to give the guest a sense of "touching sound". We heard a lot about FMOD and started using it to test out some prototypes. We have some questions that we hope the community here could point us in the right directions.
Firstly, we notice that it is hard to pick up the differences of front, back, up and down for the 3D sounds. Also the center image is not clear. What would be the best way to solve this? Would it be feasible to load VST plugins that do binaural spatialization like Wave Art’s Panorama on FMOD’s 3D sound? Or would be more feasible for us to try and improve the HRTF functions in FMOD?
Secondly, are all VST plugins supported? Like I mentioned earlier, we want to use Panorama but we get an access violation when trying to get information from the loaded plugin.
Lastly, does DSP::showConfigDialog show the GUI of the plugin? Do I have to create a window for it?
To learn more about our project, please do visit [url:101m7x9n]http://www.etc.cmu.edu/projects/sonology/index.html[/url:101m7x9n]. We appreciate any pointers, feedback or information you could give us on this subject.
- fadzuli asked 9 years ago
My understanding is that FMOD’s current HRTF is basically just a lowpass filter on sounds behind the listener. For what you’re going doing, it sounds like you’ll need something more sophisticated.
As for VST, I’m a console developer, so I can’t speak very much to the details of VST, but I’m a big fan of FMODs build in DSP facilities, both for wiring DSPs together and for writing and integrating custom DSPs.
Regarding stereo sounds, you might take a look at FMOD’s support for multiple listeners. That plus a bit of custom DSP/mixing sauce might be exactly what you need.
With all of this, be sure that you’re running FMOD in software mode. The quality will be much higher, it’ll still be very fast, and you’ll avoid a lot of random audio hardware related bugs.
BTW – CMU ETC, FTW.
- audiodev answered 9 years ago
[quote:3o3rx0k1]As for VST, I’m a console developer, so I can’t speak very much to the details of VST, but I’m a big fan of FMODs build in DSP facilities, both for wiring DSPs together and for writing and integrating custom DSPs.
Regarding stereo sounds, you might take a look at FMOD’s support for multiple listeners. That plus a bit of custom DSP/mixing sauce might be exactly what you need.[/quote:3o3rx0k1]
Does anyone know of any resource that describes how we can reproduce the human sound localization cues using a network of DSPs or HRTF?
[quote:3o3rx0k1]until the VST system is fixed, the Wave suites will not funtion. [/quote:3o3rx0k1]
I recently tried to use the dsp plugin viewer example to load the Panorama plugin and it works. Does anyone know how is that example different from the useplugins eample?
I implemented the FMOD Designer API in our project and I loaded the Panorama plugin first and than tried to use the event system to load the .fev. FMOD returns a file not found error code when trying to load the .fev. But when I removed the code to load the plugin, the .fev loads normally. Anybody has any idea what is going wrong?
I am using relative path and yes I am using the event system. I did not call setMediaPath or setPluginPath.
, &pluginType, &pluginIndex);
mEventSystem->load ("../resource/Sonology.fev", NULL, &mProject);[/code:30bfob1t]
Putting whichever loads second in the folder where the executable is running from allows that file to be found but than Ogre file system throws an error. Am I supposed to be using the the setMediaPath/setPluginPath. It seems that they dont make a difference when I use them for I still have to specify the paths.
Ok I figured it out. I used the window functions GetCurrentDirectory
before and after I load the plugin and found that the path changed to
the path where I installed Panorama. So I used SetCurrentDirectoty to
change the path back.
Now my next question is how do I best use this plugin in my program to generate the correct binaural sounds. Is it possible to remove the default DSPs used for 3D sound and replace it with the Panorama DSP? How can I do this so that calling set3DAttributes on the event and set3DListenerAttributes will update the Panorama DSP with the needed information?
Would I be able to do this and still implement the Geometry api? How does the Geometry api work in the DSP sense?
Please login first to submit.