0
0

Hi all,

I want to implement a dynamic music system that changes dynamically dependent in which area of my game the player is in. So I have several segements of music that are e.g. 2 or 4 bars long where 1 bar is for transition. Because I don’t want to hear flanging and other artifacts when doing the crossover between two segments, is there a way to play a sound file EXACTLY when another soundfile is at a specific sample position?

Regards,

Nils

  • You must to post comments
0
0

wouldnt it be easier to fade one track out whilst fading the next in?

  • You must to post comments
0
0

[quote="birty":1c5a0sp3]wouldnt it be easier to fade one track out whilst fading the next in?[/quote:1c5a0sp3]

It would be easier, but it wouldn’t sound that good :). We want ONE track to change it’s style dependant on the environment. And because there can be a lot of different environment it’s not possible to create so many different tracks. Instead, we want to use little pieces of music, 2 or 4 bars to do it.

The whole thing is for a commercial game, a “cheap” solution is not acceptable.

Regards,

Nils

  • You must to post comments
0
0

Unfortunately it will be mp3 files.

  • You must to post comments
0
0

When i play a game a crossfade is nicer then a abrupt sound change.

But if you say all samples could seamless walk in eachother (same bpm, etc.) then you could set pointers inside the stream.
When a pointer is hit you switch to the other sample.

Just use: FSOUND_Stream_AddSyncPoint();

Oh and why not use OGG Vorbis ?

  • You must to post comments
0
0

plus if you use ogg you wont have to pay for a mp3 licence

  • You must to post comments
0
0

Well, mp3 was just an example for any type of streaming music, mp3, wav, ogg, whatever.

We will do it with crossfades. But we want to avoid flanging doing the crossfade if there are instruments that appear in both segments.

  • You must to post comments
0
0

Then you can still use FSOUND_Stream_AddSyncPoint(); to set points where a crossfade may start.

Ofcourse you can make a int[MAX] list or something where the different samples are allowed to cross.

  • You must to post comments
Showing 7 results
Your Answer

Please first to submit.