View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0008911 | MMA | General | public | 2011-12-28 16:36 | 2016-10-12 10:58 |
Reporter | jiri | Assigned To | |||
Priority | immediate | Severity | minor | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Product Version | 1.0.4 | ||||
Target Version | 1.0.4 | Fixed in Version | 1.0.4 | ||
Summary | 0008911: Implement volume leveling | ||||
Description | We should implement volume leveling in Android player. This will involve the following steps: 1. Synchronization of Track Leveling, Album Leveling and Max.Sample values from PC to Android. 2. Add '[x] Level Playback Volume' checkbox to Options. This only option should be enough, I don't think that anything else needs to be configurable (see below). 3. When enabled, our application will modify volume on per-track basis (MediaPlayer::setVolume() ). The multiplier will be calculated as: 3a. Leveling = Album Leveling if available, otherwise use Track Leveling. (Don't do anything if neither is available) 3b. Multiplier = exp( ln(10)*Leveling/20); 3c. if Multiplier * Max.Sample > 1.0 then Multiplier = 1.0 / Max.Sample | ||||
Tags | No tags attached. | ||||
Fixed in build | 232 | ||||
|
Reminder sent to: Ludek Ludek has to prepare the part 1. for Marek. |
|
Implemented volume leveling |
|
Verified 47 |
|
Peke, please confirm whether you've tested this with multiple audio formats as there's a report that this only works for MP3 (http://www.mediamonkey.com/forum/viewtopic.php?f=21&t=69221). |
|
I retested with LG phone and FLAC, AAC, OGG is confirmed to level correctly, but maybe there is a bug in MMW not recalculating Gain index on converted tracks. |
|
Re verified 108 4'th of March on all three devices and on all files that they support. |
|
A user reported ( http://www.mediamonkey.com/forum/viewtopic.php?f=21&t=74554 ) that volume leveling isn't working in build 185, and upon testing this out (by playing tracks at -13 and +13 in MMA, and playing the same tracks in MMW), it seems that tracks aren't being levelled, at least on a GS3. In particular, tracks at -13dB are obviously not reduced in volume. This can also be verified by enabling leveling for a track during playback, and observing no change in volume. Tested build 189. |
|
It works for me. The volume is set at the beginning of playback of track. So try play, enable/disable volume leveling and restart playback |
|
You're right--it does work on a fresh sync. The problem occurs when pairing tracks that already exist on the phone with others that exist within MMW, and the metadata from MMW fails to update to the MMA library during the pairing process. |
|
User reported at http://www.mediamonkey.com/forum/viewtopic.php?f=21&t=74554&start=15#p385587 that volume leveling does work if the leveling co-efficient is negative, but not when it's positive. I've been able to replicate this as well (i.e. track that is -13 is decreased in volume, but track that is +13 isn't increased in volume). |
|
Marek, I fixed 0011924 on MMW side (volume_leveling was not synced over USB), but I have a question, default value in mmstore.db is 1.0 for unleveled tracks, shouldn't it be rather 0.0 (i.e. +0.0 db) ?? I am writing 0.0 for unleveled tracks. |
|
Pre IM discussion, it's caused by fixed 90% volume for 0dB tracks. So, we can increase volume a little (if needed), but not much. I don't think it's a big issue, since it's rather rare for a track to need to increase volume significantly. Probably the only solution would be to add an option to choose the target ReplayGain playback volume, i.e. user could adjust it if needed. Btw, we shouldn't use the 90% volume level when leveling is disabled. We should play tracks at full (100%) volume in this case. |
|
Fixed in build 232 You are right. The default value was set to 1.0. They were remains of previous implementation. So I set it to 0.0. But it is set only for new DB. I don't think it is worth to copy whole media table to change this value. Playback volume without volume leveling enabled was set to 100%. |
|
Verified 249 |