Hi Brett! Hi Jorny!
Brett: It was just wishful thinking, that FMod Ex would support 5.1 audio playback (just like Miles 7 does), because it doesn’t work with the Bink-supported DSound or waveOut output. Since I’m totally NOT into low-level sound programming I can’t tell how to do that in practice and if I’m asking too much.
I’m not criticising FMod Ex here. I’m just confused that 5.1 audio playback is still such an issue on the Windows platform. As I mentioned above I want to stay with FMod Ex – thus the (admittedly technically uninformed) question about Bink-to-FMod 5.1 audio channel routing.
From a layman’s perspective it just sounds as if using Bink, Miles 7 and FMod Ex all together would be easier – and maybe less expensive – than trying to put an audio programmer to that 5.1 audio playback task.
Jorny: That 5.1 playback problem on the Windows platform is just what I wanted to state in my former posts and why I wondered if it would be hard to implement a custom 5.1 channel routing using DSound/FMod Ex that’s actually played back as 5.1 surround (and not somehow being mixed down to stereo).
[quote="PiLLe":3t4cr2cq]I’m not criticising FMod Ex here. I’m just confused that 5.1 audio playback is still such an issue on the Windows platform.[/quote:3t4cr2cq]
I don’t know the lowlevel answer to that, how 5.1 is done with DSound. But I do know that FMOD Ex works with 5.1 out of the box. If you want to have a 2D sound in just the center speaker, such as for vocals, or control the amount of LFE.. That is easy to do as well with Channel::setSpeakerMix()
So.. If Bink is able to play stereo, but not 5.1, I’d say the problem is with Bink. BUT.. [b:3t4cr2cq]I do not know that Bink cannot play 5.1 on it’s own.[/b:3t4cr2cq]
Usually on pc you just let bink do its own audio output and instead of initializing dsound just call System::getOutputHandle to get a handle to fmod’s dsound pointer.
FMOD ex buffers will support 5.1 no problems if you are feeding movie audio data into a custom audio stream.
Thanks so far!
But I’m not sure if I got that right (still talking on an abstract level since I don’t have the Bink API in my hands, yet):
[quote:32gjkdiy]Usually on pc you just let bink do its own audio output and instead of initializing dsound just call System::getOutputHandle to get a handle to fmod’s dsound pointer.[/quote:32gjkdiy]
So I would do that if I want to let Bink handle the audio 5.1 playback completely on its own (initializing and using DSound internally)? And if I need the dsound interface for any other reasons than just creating/playing sounds via Fmod Ex I’ll call System::getOutputHandle?
So in other words: Do you imply that Bink and Fmod ex can coexist if I let Bink initialize DSound (not calling System::Init) or do I have to somehow "plug the one into the other" (by handing over a handle or pointer in some way)?
[quote:32gjkdiy]FMOD ex buffers will support 5.1 no problems if you are feeding movie audio data into a custom audio stream.[/quote:32gjkdiy]
You mean as an alternative to the above solution (if I got that one right in the first place) I can put the 5.1 audio from (or instead of into) the movie stream to a separate 5.1 audio stream file and play it via Fmod Ex if I want audio only?
We fought with RAD about this very issue. According to them, the only (ONLY!) way to get 5.1 audio out of Bink is to use Miles. (Not that I’m bitter.) The only upside to this is that Miles and FMOD will live side-by-side without too much trouble. We ended up using Miles ONLY for the movies, and then FMOD for everything else.
There is some voodoo in their documentation that we never explored about creating your own sound output driver for Bink, but it’s one of those "This function exists – contact us for the documentation for it."
- Adiss answered 9 years ago
I just learned that Bink won’t playback 5.1 audio streams [u:qrx9v6y9]if you don’t use Miles 7[/u:qrx9v6y9] (nice marketing trick btw). So it would really be interesting for us if FMod Ex would support Bink output, too. :o)
We are more interested in using the FMod Ex middleware due to its advanced DSP, virtual voices and sound occlusion feature set. Unfortunately to enable 5.1 audio playback would mean to support a so-called "sound provider" and channel mixing setup for Bink audio output as far as I understand (which seems to be quite an effort).
[b:qrx9v6y9]Question:[/b:qrx9v6y9] Isn’t there an easy way to e.g. stream Bink to 6 channels (or 2 x stereo, 2 x mono channel) of PCM "raw data" and forward it into some custom FMod Ex "virtual/memory-buffered streams" or sound buffers?
Another method would be to encode the movie without audio, and seperately create a FMOD audio stream of the movie audio.
You could either stream it in (I believe both Bink/FMOD support hooking into the loading systems), or just play from RAM if you have enough memory.
- a1psx answered 11 years ago
Hm… it sounds like a bit of a challenge to keep them in synch. I think if you can pre-buffer both of the streams and start playing them at the same moment, you won’t have to care about synchronizing UNLESS there is a streaming buffer problem during playback. It gets quite complicated to re-synchronize them if there is e.g. a DVD access problem or such.
There is no such thing as fmod ‘supporting bink output’, it is not an output device.
I’m not sure why people don’t just let bink do its audio output as i said? You are just adding complexity by trying to run it through fmod – you could just start the movie in bink and if bink works as advertised it will just work.
[quote="PiLLe":1xbjlggc]I just learned that Bink won’t playback 5.1 audio streams [u:1xbjlggc]if you don’t use Miles 7[/u:1xbjlggc][/quote:1xbjlggc]
That’s odd. And a weird lock-in. Can anyone actually verify this? I found references dated back in 2005 to some example that showed how to use 5.1 with Bink, but that might have changed many times by now.
Anyway, I’m going to use the method Brett mentioned, just letting Bink do it’s thing. And if it needs a dsound handle from me, I can get the one made by FMOD Ex if I have to. And if that doesn’t work, maybe it’s time to replace bink. I’m not replacing fmod.
Please login first to submit.