Jump to content
Poweramp
Sign in to follow this  
Kingo64

Opus files playback too quiet

Recommended Posts

As I have posted in the other testing thread, I would like to see the super quiet Opus playback fixed as it appears to be the only file format that plays music at very low volume for some strange reason (sounds like a constant -20dB preamp but only on Opus files)

Share this post


Link to post
Share on other sites

Does this happen will all Opus files or just some? And probably a silly question, but are they all encoded at the same levels as your MP3s?

Andre

Share this post


Link to post
Share on other sites

This happens with all Opus files and yes they are all encoded at the same levels.

 

I did further testing last night and encoded AAC and Opus files from a FLAC source and Poweramp is playing the AAC files at the correct volume and Opus at the quiet volume. When playing both files from my desktop computer they are the same volume and when I am playing them on my phone using Neutron Player they are both the same volume.

 

I also tried playing with the audio settings in Poweramp such as the Output Plugin, turning on DVC and turning off my equaliser and none of them solve the problem. I have also tried turning replay gain on and off and that didn't solve it either.

 

Very anxious to see this get fixed as I have already replaced my entire music library on my phone with Opus files and it is difficult to listen to them right now without maxing out the preamp and cranking up the volume.

Share this post


Link to post
Share on other sites

I've just done the same (well, apart from trying AAC which is more of an Apple format) and I don't hear any difference in levels between the original WAV file and clean MP3, FLAC and OPUS versions created via foobar2000 (using the latest lame.exe, opusenc.exe and flac.exe encoders). I've uploaded all four test files to Dropbox so you can see if you find the same: https://www.dropbox.com/sh/87hzdqeabm8xj0m/AAAyCtGd0CyFp5wVfyM-yJTRa?dl=0 (I used something fairly high-level from the start to make comparisons quicker).

If my test files play OK for you, could you upload your own test files so I can try them also?

[Edit] Just out of curiosity, I checked the peak levels on each of the files, and applied ReplayGain to them (which are now in the added versions marked with 'RG' in the dropbox folder). The OPUS file was already showing as 102% peak level (?) while all the others were showing at the correct 95% from the original WAV file. Applying ReplayGain to the files caused the issue that you are describing with the OPUS file, and also to a slightly lesser extent the MP3 file (and the Opus file is doing it whether RG is turned on or off in Poweramp, while the MP3 seems to be recognising the RG on/off mode correctly). Those playback results were the same in my preferred PC audio player, ZoomPlayer, incidentally, so it looks like applying ReplayGain to Opus files might be giving odd results generally.

Andre

Share this post


Link to post
Share on other sites

Ok I tested your files and my findings are exactly the same as what you found. RG seems to be applying to Opus regardless of setting, and the MP3 with RG sounds slightly quieter than the FLAC but louder than the Opus. All of my Opus library was converted, RG analysed and lyrics added using foobar2000 and tags written using Picard.

 

It looks like most of my albums have around a -10dB RG after they have been analysed. So the solution for now is to remove all RG data from my Opus library until the ReplayGain toggle gets fixed since it seems to always be on for Opus files?

Share this post


Link to post
Share on other sites

You could try adjusting Poweramp's ReplayGain Preamp value, so as to add another +10dB back on if all of your tracks are for some reason flagged as -10dB. Might be an easier fix for now.

Andre

Share this post


Link to post
Share on other sites

I just batch stripped all the RG values from my library and copied it back onto my µSD card. Not an issue but hopefully this does get fixed or at least thrown onto the bug tracker. Thanks for the help though Andre!

Share this post


Link to post
Share on other sites

This is because opus format natively supports "gain" property. All the samples gets scaled by that gain (which is stored in the opus file headers). Ignoring that gain value results in the equal volume for both your opus test tracks (RG off), but this is something that is against opus standard.

This gain is applied always for opus tracks, regardless RG option in Poweramp.

 

I modified opus replay gain handling so it adjusts RG by 5dB to match other RG files level. This makes opus to be the same volume VS other replay gain enabled files in Poweramp (when RG is on)- that will be in alpha2.

 

Still, opus files with replay gain tag and header output gain are lower than non-rg opus files (due to the above mentioned header always applied again).

The possible option (that is not implemented) will be to ignore that as well for opus, when RG is OFF in Poweramp.

 

PS Here is a good discussion regarding opus and RG: https://hydrogenaud.io/index.php/topic,104878.0.html

 

Thanks!

Share this post


Link to post
Share on other sites

The possible option (that is not implemented) will be to ignore that as well for opus, when RG is OFF in Poweramp.

 

Yes, that would be a good long-term plan. It is counter-intuitive to have RG enabled for one codec only even when the user has requested to fully turn the feature off. Either that or make a note under the menu option to say that the feature is always-on for Opus (which would be much easier to code :) ).

Andre

Share this post


Link to post
Share on other sites

There are adjustments to opus replay gain and file gain processing in Poweramp alpha2 - the opus volume now should be inline with other replay gain enabled formats.

Thanks!

Share this post


Link to post
Share on other sites

This problem is probably due to legacy design decision:

https://wiki.xiph.org/OggOpus#Comment_Header

Quote

There is no comment field corresponding to Replaygain's ALBUM_GAIN; that information should instead be stored in the OpusHead 'output gain' field.

 

The superseding standard has such field now:

https://tools.ietf.org/html/rfc7845

Quote

   Second, an optional gain for album normalization:
   R128_ALBUM_GAIN=111

...


   If present, R128_TRACK_GAIN and R128_ALBUM_GAIN MUST correctly
   represent the R128 normalization gain relative to the 'output gain'
   field specified in the ID header.  If a player chooses to make use of
   the R128_TRACK_GAIN tag or the R128_ALBUM_GAIN tag, it MUST apply
   those gains _in addition_ to the 'output gain' value.  If a tool
   modifies the ID header's 'output gain' field, it MUST also update or

But I suppose it would work differently from file to file — old encoders will still produce files with the ALBUM_GAIN in the 'output gain' field.

 

Several solutions seem to be reasonable:

1. According to standard.

2. Complete ignoring of 'output gain' field.

3. Heuristic algorithm that decides which tagging scheme was used and whether to apply 'output gain' or not.

 

As an advanced user I would love to have a radiobutton in the 'advanced tweaks' options section to choose from the three options above.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...