[Req] Set volume leveling target

Report bugs & feature requests for MediaMonkey for Android and learn about the newest beta build.

Moderator: Gurus

dubious
Posts: 5
Joined: Wed May 21, 2014 2:11 pm

[Req] Set volume leveling target

Post by dubious »

Is there any way to control the volume level of the tracks when the "volume leveling" feature is turned on? I use volume leveling when using external speakers but it makes the volume too low compared to all other apps. Sure, I can turn up the external speakers or the media volume, but this causes loud, bad surprises when other apps generate audio. I could also level the tracks when syncing, but I don't want my mp3 files to be altered.

In MMW, there is the "Level playback volume to" setting in Options, Player, Volume Leveling. It would be great if that were a feature in MMA.
Last edited by dubious on Thu May 22, 2014 3:03 pm, edited 2 times in total.
Lowlander
Posts: 58421
Joined: Sat Sep 06, 2003 5:53 pm

Re: Set volume leveling target

Post by Lowlander »

No, there isn't.
dubious
Posts: 5
Joined: Wed May 21, 2014 2:11 pm

Re: Set volume leveling target

Post by dubious »

Lowlander wrote:No, there isn't.
Thanks for the confirmation.

In that case this thread should be considered a feature request. (I've updated the thread title.) It should be rather simple feature to implement too, assuming right now there's a constant db value being used for leveling calculations (most likely 89db, as that's the default value in MMW). We'd just need the ability to edit that value in the app settings, just like we can in MMW.
Everlast
Posts: 6
Joined: Mon Oct 01, 2012 4:33 pm

Re: [Req] Set volume leveling target

Post by Everlast »

Bump....I was about to post something similar.

I find PowerAmp to have a strong and high volume over MMA. I have played with the MMA equalizer but no luck. To get the volume I want from MMA, which is not deafening by any means, I have to turn it up to almost 3/4 on the phone volume compared to 2/3 with PowerAmp.
creativconfusion
Posts: 123
Joined: Tue Dec 18, 2012 9:49 pm

Re: [Req] Set volume leveling target

Post by creativconfusion »

Poweramp employs a suite of many tools which are unique and not present in the standard Android programming.

In this case, I think you may be referring to Poweramp's direct volume control (can be toggled in the audio options).
Poweramp has advanced equalizer and dsp controls as well.
I think you will find that if you use any other vanilla android music player the volume will be similar to MMA.
In time I hope the MMA team develops its own library of advanced sound controls, but its not there yet...
dubious
Posts: 5
Joined: Wed May 21, 2014 2:11 pm

Re: [Req] Set volume leveling target

Post by dubious »

creativconfusion wrote:Poweramp employs a suite of many tools which are unique and not present in the standard Android programming.

In this case, I think you may be referring to Poweramp's direct volume control (can be toggled in the audio options).
Poweramp has advanced equalizer and dsp controls as well.
I think you will find that if you use any other vanilla android music player the volume will be similar to MMA.
In time I hope the MMA team develops its own library of advanced sound controls, but its not there yet...
This feature request has nothing to do with features unique to Poweramp. One of the listed features of MediaMonkey for Android is "Play with replay gain" aka volume leveling. That means the required functionality for this feature request is already built-in, and that it can already adjust playback volumes on the fly. The only issue is that when volume leveling is enabled, it levels volumes to a target that is too low, or in other words, to a level that makes all the audio quieter than every other app that produces audio on my phone. The missing feature is a simple setting to customize the leveling target to something a few db higher, just like in MediaMonkey for Windows. Then the volume can be set to match other apps.
Aff
Posts: 307
Joined: Sun Oct 05, 2008 4:46 pm
Location: Switzerland

Re: [Req] Set volume leveling target

Post by Aff »

There is a similar feature request already, see http://www.mediamonkey.com/forum/viewto ... 30#p386201 (and http://www.mediamonkey.com/forum/viewto ... 15#p385682 for some details).

MMA can't increase the volume above 100%. This is a limit of the Android audio architecture that MMA uses currently.
So if you have some very quiet tracks, MMA isn't able to make them much louder. But it can reduce the volume of loud tracks.

Please be aware that most of the tracks already have peak volumes at the digital limit (0dBFS). If you make them louder digitally, you'll get distortion because of clipping.
Practically there is no way to use ReplayGain without reducing the volume of contemporary tracks, otherwise you get bad sound quality.
dubious
Posts: 5
Joined: Wed May 21, 2014 2:11 pm

Re: [Req] Set volume leveling target

Post by dubious »

Aff wrote:There is a similar feature request already, see http://www.mediamonkey.com/forum/viewto ... 30#p386201 (and http://www.mediamonkey.com/forum/viewto ... 15#p385682 for some details).

MMA can't increase the volume above 100%. This is a limit of the Android audio architecture that MMA uses currently.
So if you have some very quiet tracks, MMA isn't able to make them much louder. But it can reduce the volume of loud tracks.

Please be aware that most of the tracks already have peak volumes at the digital limit (0dBFS). If you make them louder digitally, you'll get distortion because of clipping.
Practically there is no way to use ReplayGain without reducing the volume of contemporary tracks, otherwise you get bad sound quality.
This doesn't really make sense to me, as the volume leveling only seems to make tracks quieter. It doesn't even keep them at the same volume. All tracks seem to be prevented from reaching 100% if volume leveling is enabled. If, as you say, a track already contains peak volumes at the digital limit, that track should be able to be played at its original volume without introducing any clipping. So theoretically I should be able to achieve at least the original volume with my volume leveling target of choice, without incurring any distortion.

I read the information at the thread you linked and a link in the 2nd post indicates that 90% of volume comes into play somewhere. That seems to coincide with the quieter volumes I've experienced.

If the situation is as you describe, perhaps the solution is not a setting for the volume leveling target, but rather an option to "not reduce volumes when leveling". In other words, only quiet tracks would have their volumes boosted, but other tracks would not have their volumes decreased. That's what I use volume leveling for anyway.
Aff
Posts: 307
Joined: Sun Oct 05, 2008 4:46 pm
Location: Switzerland

Re: [Req] Set volume leveling target

Post by Aff »

dubious wrote:In other words, only quiet tracks would have their volumes boosted, but other tracks would not have their volumes decreased. That's what I use volume leveling for anyway.
This isn't possible with the current architecture. If the the preamp volume was set to 100%, quieter tracks could not be made louder at all. This is because they would need e.g. 110%, but the preamp volume currently is limited to 100% by Android.

Thus a preamp of e.g. 90% is needed in order to be able to increase the volume by max. 11% for quieter tracks. But 90% is only 1 dB headroom, in fact it should be e.g. 50% or 6dB.

Contemporary tracks are heavily compressed and have lots of peaks at around 0dBFS (often -0.5dBFS), so they are very loud.
If you have set the ReplayGain target/playback volume in MMW to 89 dB, these tracks will have a levelling of e.g. -10dB. Thus MMA reduces the volume by 11dB (10dB + 1dB headroom by the 90%).

If you want to hear loud tracks at the original volume, you would have to set the target/playback volume in MMW to e.g. 100dB.
Thus MMW would assign a levelling of +1dB. MMA would apply +1dB gain (which is the maximum at the moment) resulting in 100% volume.
But if another track is e.g. 6 dB quieter, MMA would not able to increase it's volume to match the loud track.

In fact, as most tracks (even the quiet ones) have peaks near 0dBFS, if you want to listen to loud tracks at the original volume, either you have clipping (currently not possible by MMA itself because of the 100% limit) or volume levelling won't have any effect (because quieter tracks can't be made louder than 0dBFS). This is true independently of the player.
Post Reply