Improve song select audio transitions#37022
Merged
bdach merged 3 commits intoppy:masterfrom Mar 18, 2026
Merged
Conversation
Based on feedback I've heard more than once, there's too much overlap compared to stable. And it can sound a bit "jumbled" as a result, especially when transitioning between two songs with loud and "complex" audio. Yes, I'm aware that the delay is not accounted for in the constant. This is intentional because it sounds better. I want this to be an internal adjustment which is not to be considered by any external usages of those constants. Just sounds better.
This causes audible artifacts in playback. The track is not set to zero volume early enough. Original change was made in [this ancient PR](ppy#9792) (see [commit](ppy@688e447)). The original failure does not occur. Tests still pass. I'd argue that if we encounter this again, it's an issue at the call site, not this code.
bdach
approved these changes
Mar 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Based on feedback I've heard more than once (most recently), there's too much overlap compared to stable. And it can sound a bit "jumbled" as a result, especially when transitioning between two songs with loud and "complex" audio.
This also fixes noticeable audio glitching that some users may have been experiencing when switching tracks.
Unless there's any very loud objections, I'd ask that review is on the code not the audible change. This is the kind of change that I tweak to my personal spec and then push out to hear the general reaction.
b8d0dfe Better default preview time based on global fade
This is an oversight. The preview point wasn't being offset to account for the fade in. This is something we do when generating web-side previews, which allows for the actual preview point to be audible, rather than mid-fade.
8de323b Adjust fade in and fade out during track transitions to reduce overlap
Yes, I'm aware that the delay is not accounted for in the constant. This is intentional because it sounds better. I want this to be an internal adjustment which is not to be considered by any external usages of those constants. Just sounds better.
aab01b0 Remove weird/dated schedule usage
This causes audible artifacts in playback. The track is not set to zero volume early enough. Original change was made in this ancient PR (see commit). The original failure does not occur. Tests still pass. I'd argue that if we encounter this again, it's an issue at the call site, not this code.
This is a drive-by fix, as I noticed this glitching while working on the main issue here. Arguably should be it's own PR 🤷 .