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]

Who's your favorite NPC with very few lines in the game? Who's your favorite NPC with very few lines in the game?

Posted On: October 10, 2025
Lots to chose from and lots of weirdly memorable ones at that.Question from user ArachaIdliMaavu at BaldursGate3 at reddit.com.Answer:I got a giggle talking to his majesty at Last Light Inn.Answer fro...[More]


How to get VALORANT on 2021 M1 MacBook Air How to get VALORANT on 2021 M1 MacBook Air

Posted On: March 27, 2024
VALORANT, currently, is not on MacOS. It is also not on Steam. You cannot download VALORANT through the website because. well, there's no button to do so. So how do you get it on Mac?Originally, I tho...[More]


Wii controllers keep losing connection. What can I do? Wii controllers keep losing connection. What can I do?

Posted On: January 15, 2024
I have a Wii and two controllers. In the last few months the controllers lose the connection to the Wii rather often. It's bad enough that we cannot play Mario Kart any more (because one player ge...[More]


What is the rate of recharge for the Divine Blessing in Genshin Impact? What is the rate of recharge for the Divine Blessing in Genshin Impact?

Posted On: June 27, 2023
I've hit the limit of my divine blessing this week. I was next to the statue and it was empty. Didn't think I used it that much, and didn't hit the limit again after. Was weird. But ...[More]


What does glowing Mantis Blades mean? What does glowing Mantis Blades mean?

Posted On: December 31, 2023
I am playing with Mantis Blades and occasionally after eliminating an enemy the blades glow with a blue hue and have blue 'code' rising from them. I have no idea what this is telling me. Wh...[More]


In Hogwarts Legacy, How do I get it open ? In Hogwarts Legacy, How do I get it open ?

Posted On: April 15, 2023
I don't know what else to do, I’ve watched videos about the whole quest and for some reason mine isn’t open ://. Question from user Critical-Surprise-52 at HogwartsLegacyGaming at r...[More]


Can you cast Avada Kedavra on students and teachers? Can you cast Avada Kedavra on students and teachers?

Posted On: July 22, 2023
I haven't unlocked the killing curse (Avada Kedevra) yet, but I have seen and used it in one of the battle arenas. But now I am wondering: When you eventually unlock it later in the game as a n...[More]


How can I track how many mobs are alive? How can I track how many mobs are alive?

Posted On: June 2, 2023
I've been building a Minecraft map where you fight bees (yes I know, I'm a cold-hearted person) and I'm trying to figure out a way so it stops spawning more bees when there is a certain am...[More]


I bought Hogwarts Legacy and wow it’s a solid game but the nostalgia is crazy I bought Hogwarts Legacy and wow it’s a solid game but the nostalgia is crazy

Posted On: July 16, 2023
Honestly super fun and as soon as you buy a broom you could do that all day definitely worth buying. Question from user Gullible_Hand2393 at HogwartsLegacyGaming at reddit. Answer: It is wild...[More]


Hogwarts Legacy, Let's Go Boys Hogwarts Legacy, Let's Go Boys

Posted On: June 7, 2023
Question from user Critical_Mistake_315 at HogwartsLegacyGaming at reddit.com. Answer: This quest string was surprisingly dark and twisted. Also as others have said, dont give the wrong answers....[More]