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]

Can you move around Heart Containers in The Legend of Zelda: Tears of the Kingdom? Can you move around Heart Containers in The Legend of Zelda: Tears of the Kingdom?

Posted On: June 11, 2023
In The Legend of Zelda: Tears of the Kingdom, defeating the boss of one of the four regional Temples causes a Heart Container to drop. Is it possible to force one of these heart containers to move, th...[More]


What are the chances of each music disc drop from creepers in Minecraft? What are the chances of each music disc drop from creepers in Minecraft?

Posted On: February 19, 2023
i play version 1.19.3 with some friends and we use music disks as our currency, i was wondering out of all the discs that creepers can drop what are the chances / percentages for each? we want to use ...[More]


I can load games, but starting a new game results in a black screen I can load games, but starting a new game results in a black screen

Posted On: March 15, 2024
I bought a brand new pc and decided to revisit this piece of art.I could load my previous saves normally, however I would like to start story mode from scratch.The game loads up but just when the cuts...[More]


I spent 2 minutes laughing. So messed up. I spent 2 minutes laughing. So messed up.

Posted On: September 11, 2024
Question from user napalmblaziken at BaldursGate3 at reddit.com.Answer:Batman approves.Answer from user GabyFermi at BaldursGate3 at reddit.com....[More]


Regarding the You didnt need it anyway achievement Regarding the You didnt need it anyway achievement

Posted On: July 28, 2023
In the game Antimatter Dimensions, there is an achievement called "You didn't need it anyway", which is achievable when you: Infinity without having any 8th Antimatter Dimensions. Acc...[More]


I turned Karlach into a hell hound by accident. I turned Karlach into a hell hound by accident.

Posted On: November 24, 2024
Question from user Annepackrat at BaldursGate3 at reddit.com.Answer:Hope youre doing well, soldier.Answer from user Cambyses-II at BaldursGate3 at reddit.com....[More]


What does the orange part of my health bar mean in Like A Dragon? What does the orange part of my health bar mean in Like A Dragon?

Posted On: April 12, 2023
My health bar in Like A Dragon: Ishin is divided into two sections: one red and one orange. What is the orange section of my health bar for? Is it some kind of bonus HP? Question from user Stevoisi...[More]


New player here - does shadowheart suck early game? New player here - does shadowheart suck early game?

Posted On: November 15, 2024
I’m playing on Tactician. I thought healing would be nice to have but because it’s limited by having to long rest (and I’m trying to save camp supplies) I am very conservative with it. I feel li...[More]


How can I earn dungeon achievements in the regular version of Cookie Clicker? How can I earn dungeon achievements in the regular version of Cookie Clicker?

Posted On: September 13, 2023
There are four shadow achievements in Cookie Clicker which involve dungeons:. Getting even with the oven: Defeat the Sentient Furnace in the factory dungeons. Now this is pod-smashing: Defeat th...[More]


Why is the default dark urge a storm sorcerer? Why is the default dark urge a storm sorcerer?

Posted On: November 7, 2025
Just seems the least likely for a big ass dragon born murderer to be a barbarian or even rogue would have made alot more sense so im just wondering whats the logic behind here.Question from user 24cma...[More]