Evaluating fmod for our app, I just wanted to ask if it can be used (and how) to process sounds and exports result in sound file (like a post-production process to pre-compute some audio parts). I guess we can accomplished it using NO_SOUND or WAF_WRITER drivers, but I don’t really understood how it works. Is there an easy way to do :
– Setup process (loading sources files, configuring effects, etc.);
– Run process
– get mixed result and exports it to file
Thanks in advance,
- sviannay asked 11 years ago
If you’re calling System::update to update the non realtime output, you’re making fmod process a buffer, so just add the dsp block size to a global integer every time you call it. This would be the number of output samples you are processing.
You would just load and play sounds as normal. If you use FMOD_OUTPUTTYPE_WAVEWRITER_NRT you then use System::update to drive the mixer in a non-realtime fashion.
All it does is dump an fmodoutput.wav in your executable directory, or you can rename it by passing a filename to extradriverdata parameter of System::init if you want.
Thanks for your quick reply, in fact it works well (as well as mixing several sounds, effects and so on).
I now have to control sync during playback (such as starting fades or effects at specific time, etc.). All works well if I do the sync using system time and RT playback , but it’s not really wished to play it in real time while I just want to render my ‘timeline’. So using channels::getPosition() combined to loop count and loop positions (yes, I’ve tried using a looping sample :)), I succeeded to manage it in NRT mode, but this control is done sound by sound, not for the whole timeline.
So first do I manage my problem in the best way ?
Is there a way to get some "position" on the global rendering process (through masterChannelGroup for example) ?
Please login first to submit.