Vazkii created a mod called "Ambience", which was a forked and updated version of his older mod "RuneTune" (that was made for 1.7.10). The purpose of the mod was to add in-game music via events the Player is performing, such as being chased by a Hoard, walking to a new biome, etc. What's unfortunate however is that the mod has been discontinued for a few years now, (probably due to the developer being busy in real life or focusing on improving other mods).
A couple of months ago, another user called "azazelthedemonlord", forked the project to create a new mod built on top of Ambience which would provide better transitions between songs. It would provide a fade away effect between changes songs. However, there was a bug where a song would fade in, play for a second or two, then stop. After that, it would fade back in and play normally. In this mod, I've forked that mod, and I have tried to patch the bug the best I have could. There is a new feature that also includes a randomized pause in between (in the code). It pauses in between transitions randomly with the minimum pause to be 3 minutes, 20 seconds, and the maximum pause to be 5 minutes. This mod is experimental and only used for the modpack, King Mammoth, to help fix the transition issue.
I am not an experienced Forge Modder. In fact, I am still pretty new to Forge, so there are bound to be some bugs in here. You shouldn't be expecting me to update a ton, because this is just here to help fix the issue.
You can find information about the original project page here: https://www.curseforge.com/minecraft/mc-mods/ambience-music-mod
You can also find information about Azzy's Ambience, a project I forked which included the fading: https://www.curseforge.com/minecraft/mc-mods/azzys-ambience

