Any way to crossfade music?

[BACK]
Any way to crossfade music?
Posted On: April 2, 2024

I would like to be able to create a music crossfade in an adventure map that I'm creating. The idea is to overlap two versions of the same song, one the "chill" version, another the "fight" version, and when a player gets in a fight with enemies, crossfade over to the fight version, as well as being able to nicely fade out music in general.


My original idea was to have 2 invisible armor stands act as the source for each of the tracks, then move the armor stands away/towards the player, slowly fading in/out each track. This actually works pretty well, but when the crossfade is over, I make the armor stand emitting the now faded-in song ride the player, so it just sticks with them. This also works, and when the player is running straight ahead, it sounds correct, but when the player strafes, it does like a sawtooth effect on the panning, and is REALLY distracting sounding. Any other ideas for a way to make this kind of thing work?


I've also tried messing with setting the attenuation_distance very high in the resource pack, but that doesn't change anything, though I suspect that it's because it only affects certain entity types anyways.


I am writing a server plugin, so I can do anything available in bukkit/paper, and am even perfectly fine doing things with ProtocolLib or other version specific hacks, but I am not expecting players to have to download a client side mod for this map.


Question from user LadyCailin at gaming.stackexchange.com.


Answer:

So, I ended up with a situation that works good enough for my purposes, but still has some drawbacks. Essentially, I place 4 entities (item displays) at the cardinal directions of the player, 10 blocks out, 5 blocks above, and start the music with each of the 4 in the same tick. This seems to reliably sync up the music. Then, every so often (4 times a second) I move the entities into the correct location again, so they are again 10 blocks out, 5 blocks up. This has a strange effect when the player spins around quickly, but actually, that strange effect happens with the rain and other sounds too, so I can live with that.


For the crossfade, this is simple, and just does the same as , I have the other set of 4 entities far enough away from the player that they can't hear them, but then move the first song's "speakers" down, while moving the fade in song's speakers up. This has a very nice fade effect, and while it is a bit jumpy, I could fix that with a higher frame rate.


Speaking of frame rates, because my "adjust position" logic only runs every .20 seconds, this method is pretty bad with flight and falling from high distances. However, you can turn the volume up, and this works well enough, since this decreases the amount of attenuation per unit moved. However, this means that the distance of the "fade out" state needs to be higher before it drops to 0. If you set that too high, this introduces a new problem with the "stowed away" speakers, which is that if the player gets too far away, they stop playing music, presumably because the client unloads them, and so also forgets that they were playing music. Thus, I have settled on just living with the fact that if a player moves fast enough, this system gets a bit janky. I may continue to improve on this later.


All in all though, this works surprisingly well, though I am excited to see how it performs with load testing.


Answer from user LadyCailin at gaming.stackexchange.com.


[BACK]
Any way to crossfade music?
Posted On: April 2, 2024

I would like to be able to create a music crossfade in an adventure map that I'm creating. The idea is to overlap two versions of the same song, one the "chill" version, another the "fight" version, and when a player gets in a fight with enemies, crossfade over to the fight version, as well as being able to nicely fade out music in general.


My original idea was to have 2 invisible armor stands act as the source for each of the tracks, then move the armor stands away/towards the player, slowly fading in/out each track. This actually works pretty well, but when the crossfade is over, I make the armor stand emitting the now faded-in song ride the player, so it just sticks with them. This also works, and when the player is running straight ahead, it sounds correct, but when the player strafes, it does like a sawtooth effect on the panning, and is REALLY distracting sounding. Any other ideas for a way to make this kind of thing work?


I've also tried messing with setting the attenuation_distance very high in the resource pack, but that doesn't change anything, though I suspect that it's because it only affects certain entity types anyways.


I am writing a server plugin, so I can do anything available in bukkit/paper, and am even perfectly fine doing things with ProtocolLib or other version specific hacks, but I am not expecting players to have to download a client side mod for this map.


Question from user LadyCailin at gaming.stackexchange.com.


Answer:

So, I ended up with a situation that works good enough for my purposes, but still has some drawbacks. Essentially, I place 4 entities (item displays) at the cardinal directions of the player, 10 blocks out, 5 blocks above, and start the music with each of the 4 in the same tick. This seems to reliably sync up the music. Then, every so often (4 times a second) I move the entities into the correct location again, so they are again 10 blocks out, 5 blocks up. This has a strange effect when the player spins around quickly, but actually, that strange effect happens with the rain and other sounds too, so I can live with that.


For the crossfade, this is simple, and just does the same as , I have the other set of 4 entities far enough away from the player that they can't hear them, but then move the first song's "speakers" down, while moving the fade in song's speakers up. This has a very nice fade effect, and while it is a bit jumpy, I could fix that with a higher frame rate.


Speaking of frame rates, because my "adjust position" logic only runs every .20 seconds, this method is pretty bad with flight and falling from high distances. However, you can turn the volume up, and this works well enough, since this decreases the amount of attenuation per unit moved. However, this means that the distance of the "fade out" state needs to be higher before it drops to 0. If you set that too high, this introduces a new problem with the "stowed away" speakers, which is that if the player gets too far away, they stop playing music, presumably because the client unloads them, and so also forgets that they were playing music. Thus, I have settled on just living with the fact that if a player moves fast enough, this system gets a bit janky. I may continue to improve on this later.


All in all though, this works surprisingly well, though I am excited to see how it performs with load testing.


Answer from user LadyCailin at gaming.stackexchange.com.


[BACK]

Is Gale Stupid? Is Gale Stupid?

Posted On: July 2, 2024
Spoilers for illithid ending with romanced Gale below.Ok, I know (well, I've heard) that the tentacle 'experience' is pretty good. And they're newlyweds. So I get that Tav and Gale have been. distract...[More]


Can I tell if an enemy is out of range in Elden Ring? Can I tell if an enemy is out of range in Elden Ring?

Posted On: August 10, 2023
I'm playing as an Astrologer, so my main means of attack is to cast spells from a distance, as I barely do any physical damage. However, I noticed that my spells have a certain range, and firin...[More]


How do I get the ghillie suit? How do I get the ghillie suit?

Posted On: November 19, 2023
Sometimes while I play Call of Duty Modern Warfare 3 online, I see people with a ghillie suit to help them blend in to their surroundings. How do I get that costume? Question from user Scribblenaut...[More]


I dont want NPCs to get killed by Vampire Attacks in Dawnguard I dont want NPCs to get killed by Vampire Attacks in Dawnguard

Posted On: July 24, 2023
I bought Dawnguard before ending a questline from Skyrim. Because of that, I often visit main cities to do some quests. Every time I visit a city, I find dead bodies of NPCs that I talked to earlier. ...[More]


Is there any way to hide your Steam status from others? Is there any way to hide your Steam status from others?

Posted On: April 21, 2023
Is there any way to prevent others from seeing your Steam status without removing them as a friend? . Let's say I want to play Borderlands 2 without letting some friends know. Is there any way ...[More]


Whats the air intake parts air drag in Kerbal Space Program past 1.0? Whats the air intake parts air drag in Kerbal Space Program past 1.0?

Posted On: April 3, 2023
I've been considering increasing efficiency of my early launch stages by adding jet engines. I found an old thread discussing the idea, and one post struck me as "make-or-break" of my id...[More]


What devices can you play Sonic Mania on? What devices can you play Sonic Mania on?

Posted On: January 24, 2023
I asked this question because Sonic Mania can probably be played on a few devices.Question from user Dark sonic at gaming.stackexchange.com.Answer:From the Wikipedia article on Sonic Mania, the game i...[More]


How do I unlock the 6th world in EscapeVektor? How do I unlock the 6th world in EscapeVektor?

Posted On: June 26, 2023
In EscapeVektor (Wii), I've gotten a star in every level and all 5 worlds, but I am unable to unlock the path to the 6th world, which I believe is grayed out and directly above the first world. ...[More]


In Dantes Inferno, What gameplay differences are there between the Holy and Unholy tree? In Dantes Inferno, What gameplay differences are there between the Holy and Unholy tree?

Posted On: March 25, 2023
I just started playing this game, and I'm wondering what differences there are in gameplay between the Holy and Unholy trees. Does either tree have powers that are unique in functionality to each ...[More]


Is it possible to play Prop Hunt in GMod without CS:S? Is it possible to play Prop Hunt in GMod without CS:S?

Posted On: July 5, 2023
I've got GMod and just about every mainstream Valve game excepting CS:S. I'd like to play Prop Hunt, a GMod game mode. Is it possible to play Prop Hunt without CS:S, possibly by obtaining t...[More]