0
0

We have been discussing how to use music in upcoming titles and if and how we could use FMOD designer to maintain the content. One of the suggestions was to use "layered" music, that is to split up the music into a few tracks where each track can be modulated with respect to what is happening in the game. This isn’t a very new strategy and it has been used before in other games and as I see it would be pretty easy to set it all up in FMOD designer. BUT, there is one little detail that pretty much tears everything down and that is the issue of streaming. If we want to use layered music in the game it needs optimal streaming performance and the classical approach to this problem would be to use interleaved streaming. Now, my question is if FMOD designer already interleave all sounds used in an event transparent to the user. If not, is it something you would consider adding?

  • You must to post comments
0
0

That’s music to my ears! 😉

Great way to crossfade between mono- or stereoinstances in a multiwav file – a 6 channel mixer streamed from disk (I guess that’s the upper limit?)

Thanks!

  • You must to post comments
0
0

Is this any different to doing something like using a 6 channel wav. As interleaved data must always play simultaneously, this is all it would amount to.

  • You must to post comments
0
0

[quote="Ljudas":3wevfr9o]Would this mean that a non-streaming event in which every layer is a channel in a multichannel file gets perfect syncing? I know there is a technical issue in FMOD that can cause tiny latencies between the different layers and for events where this isn’t acceptable this would be a nice workaround.[/quote:3wevfr9o]

multichannel wavs are played as 1 multichannel sound within the mixer without being deinterleaved. They will be in perfect sync, as long as it is software mixed.

  • You must to post comments
0
0

In the case of using a setup with 3 stereo layers I guess a 6 channel wave would do just fine but how do I extract each pair of channels into a layers that can be parameter controlled?

  • You must to post comments
0
0

that was just what I wanted to hear :)

  • You must to post comments
0
0

That’s not possible right now and it also raises a few troublesome implications. I’m currently investigating if we can allow the user to specify that a wavebank should be interleaved in FMOD Designer. Again, that raises a few other implications internally but it may be the best way in the long run. We’re still sorting these details out so if you have any requests/suggestions then let us know.

Cheers,

  • You must to post comments
0
0

sounds good!

  • You must to post comments
0
0

My first question would be when we could expect this interleaved option. If it’s not a high priority task for you guys or if it’s something you think will take some time to fix then we might be better off looking at creating a system of our own that interface FMODex outside the FMOD designer api.

  • You must to post comments
0
0

I’m very interested in this topic too, as I need to stream several music layers in sync, and so want to avoid non-interleaved streams seeking back and forth constantly. Is there any update on the availability of functions to allow this?

  • You must to post comments
0
0

Depending on your schedule we may be able to adjust our priorities to fit this in. Shoot me an email.

  • You must to post comments
0
0

You can import multichannel waves into FMOD designer, as long as they are in an ADPCM bank and have 6 or fewer channels. However, to really independently control the channels, you have to use the C/C++ API. Designer doesn’t let you do much with them (yet).

  • You must to post comments
0
0

Hi,

been researching a bit on how to stream dialog for good distance/environmental effects and music for sync inbetween layers.

A good solution to this would be to use multichannel wavfiles (2 or more channels) and choose which channel/channels to use in the Sound Definition. This way a multichannel wavfile channel playback could be controlled from within the Event Editor, and also stay in sync inbetween channels. As long as it’s truly interleaved you get a 2-6 channel mixer streamed direct from disk, in sync.

Would this be possible/interesting?

  • You must to post comments
0
0

The aforementioned "channel mix" functionality is coming in the next couple of weeks.

  • You must to post comments
0
0

what do you guys say about this strategy? I think it could solve our interleaved issues and could also add some new fancy features.

  • You must to post comments
0
0

Six channels may not be enough for my purposes…

Is the forthcoming solution able to support arbitrary numbers of channels?

  • You must to post comments
0
0

What’s the status on interleaving strategies anyway? Would be nice indeed to hear from you go guys what you’re planning?

  • You must to post comments
0
0

Ok, I’m currently considering a solution that would require a new effect called "channel mix" (or something).

It would have an arbitrarily large number of curves available – one for each subchannel in a mutlichannel file. Each of these curves will control the volume of the associated channel. If I wanted to control the volume of channels 0 and 1, I would create a "channel mix" effect and make curves for just channel 0 and 1 and leave all other channels at 0 (and even hide them so they don’t show up in the event editor).

Then I could use the parameter to control where I am on those curves thereby controlling the volume. Then I could do the same thing for other groups of channels and control them with another parameter – this way I’d have one parameter controlling, say, channels 0 and 1 and another parameter controlling channels 2 and 3 – this would enable me to crossfade between arbitrary groups of subchannels within a multichannel file.

End result is that the programmer can play the "music" event, for instance, and then independently control the "idle", "battle", "victory" etc. parameters to dynamically mix the music depending on what’s happening in the game.

How does that sound?

  • You must to post comments
0
0

Would this mean that a non-streaming event in which every layer is a channel in a multichannel file gets perfect syncing? I know there is a technical issue in FMOD that can cause tiny latencies between the different layers and for events where this isn’t acceptable this would be a nice workaround.

  • You must to post comments
Showing 18 results
Your Answer

Please first to submit.