audiobookshelf-app icon indicating copy to clipboard operation
audiobookshelf-app copied to clipboard

Add settings to configure Audio Fade-out when using a timer.

Open Fribb opened this issue 3 years ago • 6 comments

Is your feature request related to a problem? Please describe.

While using the timer, End of a Chapter in this case, reaching the end of the said chapter will fade out the audio. If the Audiobook has some Audio a couple of seconds before the end of that chapter whatever is said can be very hard or impossible to understand. I listen to this mostly before going to sleep at a low volume but still want to hear what that the narrator is saying without having to increase the volume.

Describe the solution you'd like

An option to either disable or configure the way the fade-out is happening (or even both?!).

For example, the user could configure if they want to use the fade-out or not. If they want to use the fade-out, the setting could offer the period of time the fade-out should happen (30s as it seems to be right now) and the lowest level it should stop.

Whenever the fade-out starts the volume should then be adjusted from the current volume level and gradually lowered to the volume level set as "min-value" over that period of time.

Fribb avatar Aug 17 '22 07:08 Fribb

This makes sense. When originally building this out it was my understanding that the audio fade out also helped to let you know that it was nearing the end of the timer. During the fade out is also when you gain the ability to shake the phone to reset the sleep timer. I set the fade out to go all the way to zero which was definitely a mistake as you highlighted. I wonder though if the fade out were to be disabled would we still allow for shaking the phone to reset when < 30s remain?

advplyr avatar Aug 25 '22 23:08 advplyr

That is an interesting question.

From my perspective, I would say no because the user has no indication of when the timer has been reached so adding some more time to it would either mean that the user keeps track of when it would stop or knows when the chapter ends.

On the other hand, I noticed that even when the timer ran out (at the end of a chapter, in my case) I could still pick up my phone and it continued playback because of the shake and extended timer (which led me to the feature request of disabling the shake). I don't know if that is/was intended but that could be a solution because it would allow the user to know that the timer has run out because the playback stopped but still shake the phone to continue.

Fribb avatar Aug 26 '22 04:08 Fribb

The sleep timer can be reset within 2 minutes of it expiring by shaking the phone. 2 minutes might be a bit long but waiting for feedback on that. I'm wondering if the problem you are having could be avoided by just changing what the volume is reduced down to. If that solved your problem then we wouldn't need to add an additional setting.

advplyr avatar Aug 26 '22 20:08 advplyr

I'm wondering if the problem you are having could be avoided by just changing what the volume is reduced down to. If that solved your problem then we wouldn't need to add an additional setting.

Possibly, but IMO this would require explaining the setting which might be unnecessary.

What I mean is that a "lowest" setting should definitely be available. However, what would happen if you set the lowest to be higher than what your current volume is? It definitely shouldn't increase your volume.

In my case, I wouldn't want to have a fade-out at all. I would then just have to set the "lowest" volume to 100% which would make that setting counter-productive or possibly misleading because it would require further description. That is why I thought it would be a good idea to have both. One setting that allows you to change if you want to use the fade-out and one that defines to what value it should lower it (that is only available if you want to use the fade-out).

Fribb avatar Aug 31 '22 08:08 Fribb

The fade out currently takes a percentage of what you currently have the volume set to, so it would never go higher then what you have set. I'm thinking that without having to add additional settings right now and still solving your issue we adjust the fade down to something much higher then 0%. Then for sleep timers set to end at the current chapter we can make the fade even more subtle since it isn't an arbitrary stopping point.

advplyr avatar Aug 31 '22 23:08 advplyr

Okay, I completely misunderstood of how the fade-out worked then. If it is just a percentage that is lowered based on the current volume level and I could adjust that by, 0% (so no changes) that would work for me as well.

Fribb avatar Sep 01 '22 04:09 Fribb

Related #260

advplyr avatar Jan 28 '23 21:01 advplyr

In another app I've used the end-of-chapter sleep timer is sort of persistent. When playback gets to the end of chapter it stops, (with no fade-out) and then I can press play on my headset to start the next chapter and it will then stop again when it gets to the end of that chapter. This way if I'm distracted (or asleep) then I won't miss any more than part of a chapter. It would be great if the app could support a usecase like this.

I was using the app today with the end-of-chapter sleep setting and was not expecting the fade out. I thought something was wrong with my book file. Since I had missed most of the last sentence I rewound a bit to hear it, and then it didn't stop at the end of chapter. It wasn't until the end of the next chapter that I finally figured out what was going on. So I would be in favor of an option to disable the fade-out, and if a persistent stop at end of chapter feature could also be added it would be extra sweet. If it doesn't make sense for a sleep timer to behave that way then maybe a separate "pause every chapter" option or a toggle in the player would be better.

RobinD42 avatar Jan 31 '23 04:01 RobinD42

I've made 2 updates for next release.

  1. A setting to disable the audio fade out.
  2. Audio fade out now only goes down to 10% volume.

@RobinD42 From your description of the end of chapter feature it seems like that is what I already implemented in the last release. See point 3 in my comment https://github.com/advplyr/audiobookshelf-app/issues/260#issuecomment-1407752168

advplyr avatar Feb 04 '23 23:02 advplyr

Yes, you are correct. The only thing missing was the ability to disable the fade-out. Thank you.

RobinD42 avatar Feb 04 '23 23:02 RobinD42

I know that this just had a release to help, but the external sleep app I use plays a short tone 60 seconds before the timer ends. That gives you audible feedback required while trying to fall asleep, and gives you time to reach over and shake it before it ends playback.

Im often not sure how close to the end it is with the current implementation and question if its fading out or just the audio file, but some sort of 'tone' setting to play a ping before playback end is the best way to handle it imo.

HStep20 avatar Feb 19 '23 23:02 HStep20

Added in v0.9.62-beta

@HStep20 You can open up a feature request for that, makes sense to me.

advplyr avatar Feb 23 '23 22:02 advplyr