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]

Blue thestral with star symbol next to Hogwarts gender symbol Blue thestral with star symbol next to Hogwarts gender symbol

Posted On: June 8, 2023
So I was trying to catch some thestrals and was under the disillusionment charm waiting. The lonely thestral I was waiting on to come back finally showed up and brought a blue thestral back with it. I...[More]


Xbox One controller will not turn Xbox on Xbox One controller will not turn Xbox on

Posted On: February 8, 2023
I used to be able to turn my Xbox on with the wireless controller without fail but recently it will work for a while and then just suddenly stop turning on the Xbox. I hold the center X button and it ...[More]


This Just Distracts Me in Hogwarts Legacy This Just Distracts Me in Hogwarts Legacy

Posted On: April 22, 2023
Question from user Ravenclaw-Gamer at HogwartsLegacyGaming at reddit.com. Answer: Started playing God of War: Ragnorok after HL and I’m pressing the revelio everywhere and it’s not w...[More]


Will the Cursed Swords one-hit death effect apply in Dead Cells? Will the Cursed Swords one-hit death effect apply in Dead Cells?

Posted On: April 18, 2023
The description of the Cursed Sword says "One hit and you're dead", presumably meaning you will die in one hit while it is equipped. However, there's a mutation called Porcupack that...[More]


What does EA TRAX do? What does EA TRAX do?

Posted On: April 27, 2024
In the Audio settings of Need for Speed: Carbon for PS3, what does the "EA TRAX" option do?Question from user Stevoisiak at gaming.stackexchange.com.Answer:EA Trax is a branding used by Electronic Art...[More]


Do I need to completely finish Season 1 before starting Season 2 Walking Dead? Do I need to completely finish Season 1 before starting Season 2 Walking Dead?

Posted On: March 25, 2023
The second season of The Walking Dead episodic game has just been released. I've not yet finished all the episodes from season one. Is the second season a continuation of the same story ( so ma...[More]


What are your favorite spells? What are your favorite spells?

Posted On: March 25, 2026
I love the Shadow Blade + Booming Blade combination.Question from user ChrisKatrev at BaldursGate3 at reddit.com.Answer:Spirit guardians, hold person - monster, and fireball.Answer from user SpikySwit...[More]


Does Duplication Potion count towards the Velvet Chokers card limit? Does Duplication Potion count towards the Velvet Chokers card limit?

Posted On: January 4, 2024
The Velvet Choker relic effect states "You cannot play more than 6 cards per turn". The Duplication Potion's description says "This turn, your next two cards are played twice"....[More]


Hogwarts Legacy Recommendations? Hogwarts Legacy Recommendations?

Posted On: April 23, 2023
I finally got a PS5 and blew through Hogwarts Legacy. Can anyone recommend a similar story based open world game I can play before I go back for my next rerun? Question from user Elise2016 at Hogwa...[More]


Will PS4 game discs work on PS5 Console? Will PS4 game discs work on PS5 Console?

Posted On: May 4, 2023
I recently bought a PS5, after long wait. So, the first few games that I plan are - Bloodborne and Demon Souls. The only discs for PS4 available on Amazon India are that from PS4. So, will those di...[More]