Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Implementation of Crossfade (It's easier than you think) #889

Open
3 tasks done
Kurasami opened this issue Jul 27, 2023 · 0 comments
Open
3 tasks done

New Implementation of Crossfade (It's easier than you think) #889

Kurasami opened this issue Jul 27, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@Kurasami
Copy link

Kurasami commented Jul 27, 2023

Checklist

  • I've checked that there is no other issue about this feature request.
  • This issue contains only one feature request.
  • The title of this issue accurately describes the feature request.

Feature description

Audio should allow for crossfading between tracks.

Despite Exoplayer limitations, this is easier than expected to implement. Please see the below comment:

google/ExoPlayer#3438 (comment)


In simple terms the easiest way to implement crossfade is as follows:

  1. Fade out track volume within the last 2-3 seconds of the song.
  2. Fade in the volume of the next song within the first 2-3 seconds.

Whilst this is not technically "cross" fade (a la' semantics) and should really just be called fade. It achieves almost all of the purpose of having crossfade in the first place. That is, a natural volume transition between tracks. Which personally I argue is far more desirable than typical noise normalisation across all tracks.

Giving the user an audio queue that a song is about to transition is highly beneficial to listening immersion. It allows for mental preparation of the next song for eg. skipping, muting, changing volume without a sudden abrupt need to potentially reverse the first few seconds of the song.

Please consider this feature. Even a simple fade would be greatly appreciated. The overall user experience of Innertune is incredible, however compared to mainstream services like Spotify, a lack of fade is one of the most noticeable missing features in Innertune.

If such a fade option was added, it'd also likely be accepted upstream, even if the source wasn't crossed/overlayed and the volume was simply faded between tracks.

Thanks for considering!

Why do you want this feature?

Crossfade allows for a much more immersing listening experience. It prevents sudden and sharp transitions in different songs by giving the user a passive subconscious notice of song transition.

Additional information

For a quick and painless way on how to do this, please see VolumeShaper: google/ExoPlayer#10702

https://developer.android.com/guide/topics/media/platform/volumeshaper

In short, it would require an extremely small refactor of the already existing gapless option in Innertune. 🎼

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant