advplyr / audiobookshelf-app

Mobile application for Audiobookshelf
https://audiobookshelf.org
GNU General Public License v3.0
1.24k stars 169 forks source link

Volume Boost Button #195

Open 77boaz opened 2 years ago

77boaz commented 2 years ago

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

It's not really a problem in the sense of working or not working, although I did notice that the volume is a bit low sometimes even when I'm maxed out on my phone's bluetooth. Volume going to the car bluetooth or headphone bluetooth speakers is a bit low sometimes.

Describe the solution you'd like

A boost toggle button.. Maybe 1-3 toggles with each toggle boosting the volume of the phone past phone system volume.

Additional context

I've seen this boost option on some standalone audio book apps. It's helpful. Of course, if boosted too much the volume will be distorted but this is kinda normal since it overrides system volume and it depends on each person's hardware experience. Phone to phone.. bluetooth to bluetooth. Thanks!

advplyr commented 2 years ago

Can you share a screenshot or 2 of what the apps you saw this in, or share more info on how you think this should look?

77boaz commented 2 years ago

smart audiobook player with boost

It's there in the upper left. if you look closely it has 3 little audio pushing out symbols.. The first one is highlighted representing a 1 of 3 boost. This is from Smart Audiobook Player for Android. It's of course a stand alone player, but probably the best I've found as a stand alone / local audiobook files on phone only. There are almost too many options though lol

Protarios commented 1 year ago

This would be such a great feature. Currently I am not using the audiobookshelf mobile app, but SmartAudiobookPlayer instead, because I have to crank up the volume such much on some audiobooks, that any other sound played by the mobile on headphone hurts the ears.

shafai commented 1 year ago

I would love to see this feature. I listen while riding my motorcycle and spoken words are hard to hear over the wind and engine noise.

raedkit commented 1 year ago

I would like to see this feature too.

agittins commented 8 months ago

There are two features here that would be great, and especially so for poorly produced books (and doubly so for early episodes of podcasts, which are invariably recorded on potatoes by people who haven't worked out how to audio yet) and also really handy for making the most of the limited gain on a given playback system (like bluetooth devices that are only just loud enough in optimal conditions) or for works which have wide dynamic range (like enthusiastic character acting) where it switches back and forth between inaudible and ear-tearing.

Solving this would be a huge quality-of-life improvement for my partner and myself, at least.

ReplayGain can probably be calculated and tagged server-side, leaving it to the client to apply the correction. Compression/dynamics will almost certainly need to be a function entirely in the client player library (unless the server transcodes the material) so it will depend on what ABS uses on the front-end or in the client software.

I haven't used it but the WebAudio API (which is allegedly supported in modern browsers?) has a GainNode and a DynamicsCompressorNode interface, which is exactly what would do what's needed here, if it is feasible to use.

I can help with the technical aspects of the audio engineering part (working out good presets, adjusting compression paramaters) if anyone is keen to take up implementing something like this. I don't think I'll have the bandwidth(!) to dive right into coding a solution any time soon, but if someone's got the time to hack on it I can help with the audio knowledge.

[^normalisation]: ReplayGain usually uses a psychoacoustic modelling method so that it actually measures "loudness" (which is a perceived quality) rather than "volume" which is an objective measurement.

advplyr commented 6 months ago

Did a quick look into this since it was brought up again in #1156. A potentially useful implementation was shared a few years ago that could be used: https://github.com/google/ExoPlayer/issues/9796

sydlexius commented 6 months ago

@advplyr It looks like the developer (OxygenCobalt), has migrated on to Media3 Exoplayer from v. 2.x. It looks like much of his efforts to implement it are centered around that framework (at least, following along the commits and issues in his own repo seems to indicate such).

advplyr commented 6 months ago

thanks, I haven't started the Media3 migration yet mainly because I had to customize the exoplayer chromecast player which makes the migration a lot more time consuming now

ahsee commented 5 months ago

Throwing in a comment to say I'd love for this to be implemented. I listen to terrible podcasts (both in production and content), and I'm struggling to hear their garbage. PocketCasts has an equivalent function which is basically a necessity for me.

rummyr commented 5 months ago

I would like something very similar, 'Car' mode.. I listen to audio plays and any whispering/off-stage talking is just lost. So some kind of dynamic range compression would be lovely.

drawlin-bol commented 1 month ago

Would love to see this implemented soon. It would greatly enhance audiobook playback. Thanks!

ninthbit commented 1 month ago

Another +1 for an audio boost setting. Mowing with headphones is still not loud enough sometimes.

ThatOldOne commented 1 week ago

Another +1 to at least have the playback respect ReplayGain settings if not create them. It wouldn't take much effort to look at the RG tag and add or subtract a few db to the playback setting. There are lots of (free) audio tools that can scan and tag the audio files as needed, which is the harder part that requires a process and knowledge to write it. Also, thanks for a great program.

sydlexius commented 1 week ago

Another +1 to at least have the playback respect ReplayGain settings if not create them. It wouldn't take much effort to look at the RG tag and add or subtract a few db to the playback setting. There are lots of (free) audio tools that can scan and tag the audio files as needed, which is the harder part that requires a process and knowledge to write it. Also, thanks for a great program.

I'm curious what the benefit to setting RG on audiobooks are, as longer books are going to have a tremendous swing in dynamic range.

ThatOldOne commented 1 week ago

It boosts or cuts the volume to a nominal value. I have no problem with dynamic range, it's the too-quiet-to-hear part that I have a problem with. Or so-loud-it-makes-you-grimmace bothers me too. The audiobooks have to compete with music, phone calls or videos at times and the non-book audio blasts my ears off because I had to turn up the book to an unreasonable level just to hear it and I wasn't expecting the other sound to assault my ears out of nowhere.