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]

What to know for first playthrough in Hogwarts Legacy? What to know for first playthrough in Hogwarts Legacy?

Posted On: August 18, 2023
Hey, just looking for some pointers that would help me for my first time playing - mostly what decisions have a later impact on gameplay, or quality of life tips :) no spoilers would be appreciated! T...[More]


Addicted to the game Addicted to the game

Posted On: September 14, 2023
Got the game and ps5 recently. I always try to limit my playtime but alwaysss end up playing for sooooo long! Its super addictive and fun!! Where’s my hufflepuffs?!. Question from user Fiery-...[More]


Difference between Yakuza 0 and Yakuza 6 Difference between Yakuza 0 and Yakuza 6

Posted On: March 15, 2023
Sometimes I see Asian lives of Ryu ga gotoku 6 (an opus of yakuza). Interested by the game I decided to see if I could order it, but the only one available is Yakuza 0. I quite don't underst...[More]


What is the max amount of rupees you can get in BoTW? What is the max amount of rupees you can get in BoTW?

Posted On: May 17, 2023
In BotW, they did away with the wallet sizes. You can always take in more and more rupees. But at some point, can you max the number of rupees you can get? Question from user Fredy31 at gaming.s...[More]


Can I go back for clues later if I confront Risky Boots now? Can I go back for clues later if I confront Risky Boots now?

Posted On: April 27, 2024
Near the end of Shantae: Half Genie Hero, Uncle Mimic tells Shantae that she can either confront Risky Boots head on or search for four clues first to formulate a plan. I've been told that searching f...[More]


Third Person Mode for Portal - Portal 2 Third Person Mode for Portal - Portal 2

Posted On: June 1, 2023
I picked up Portal and Portal 2 when they were on sale on Steam a few weeks back. I think these could be really good games, but I (for whatever reason) get vertigo when playing first person games. ...[More]


How Did My Terraria Silver Pickaxe Got Damaged? How Did My Terraria Silver Pickaxe Got Damaged?

Posted On: May 12, 2023
I crafted my first silver pickaxe in Terraria 1.1. I did not examine its stats until some time later. The name color is grey with -14% damage. I have no problem mining with it but killing monsters ...[More]


Most Frustrating Thing Ever in Hogwarts Legacy Most Frustrating Thing Ever in Hogwarts Legacy

Posted On: April 20, 2023
I have 139 out of 140 conjurations. Fairly certain I found all the butterflies and the chests in the Vivarium's so now I have to start all over again and recheck them all. Question from user...[More]


In Fallout New Vegas, I failed Render Unto Caesar. How can I recover and do the quest anyway? In Fallout New Vegas, I failed Render Unto Caesar. How can I recover and do the quest anyway?

Posted On: February 17, 2023
Shortly after I got the Mark Of Caesar at New Vegas and was told I was forgiven and the legion wouldn't attack me any more, a bunch of legion assassins appeared and attacked me. I shrugged and tho...[More]


Minecraft Powering a redstone torch on a block adjacent to a redstone lamp without powering the lamp Minecraft Powering a redstone torch on a block adjacent to a redstone lamp without powering the lamp

Posted On: April 1, 2023
Would it be possible to power the redstone torch in this configuration without powering the redstone lamp? Question from user Looky1173 at gaming.stackexchange.com. Answer: I assume by "...[More]