Clipping sound in XMPlay

Started by Guan,

Guan

The sound is clipping in XMPlay when Auto Amp Reduction is in Dynamic mode  :'(

Guan

Is it possible to control Auto Amp Reduction in Dynamic mode in the XMPlay.ini file.

I mean like
Auto Amp Reduction Dynamic=1
all the way up to 10 or more so i can set the sensitivity more accurate :o wow that would be cool

Torkell

I've mentioned this before - for an example play "Organic.umx" (from Unreal Tournament) with auto-amp enabled and everything else disabled. There's a big example of clipping when it gets to the third order!

Ian @ un4seen

In "dynamic" mode, XMPlay tries to use the full dynamic range available. This means that it will clip slightly sometimes, as it tries to hover on the thin line of a "perfect" level. But a bit of slight clipping does no harm and is unnoticeable.

Of course, sometimes there may be a sudden "boom" increase in the sound level, in which case the clipping may be noticeable. But there's not really much that can be done about that, as XMPlay can't know in advance that a "boom" is coming... it can only respond by lowering the amp level, so that the heavy clipping is short lived.

Ralesk

... And such songs are meant to be soft and then have an impact, so why the AAR on them?

Guan

I think the Auto Amp is perfect when not all my mp3's are at the same sound level (i haven't normalized all my mp3's and i don't wan't to either) so i wonder Ian?

Is it possible to control the Auto Amp feature in XMPlay.ini?

tigre

QuoteOf course, sometimes there may be a sudden "boom" increase in the sound level, in which case the clipping may be noticeable. But there's not really much that can be done about that, as XMPlay can't know in advance that a "boom" is coming...

I think it would be possible. (Correct me if I'm wrong - You're the programmer of an audio player, not me ;) )
My Idea: XMPlay decodes/reads/whatever a short period of time (e.g. 1 second) in advance and buffers the information. If clipping is predicted, there's 1 second left to do kind of "fade out" to a level where clipping is gone. Afterwards "fade in" to original level.

Seems quite easy to me. Anyway, I've got no Idea if something like this would sound decent.

nierce

maybe i´m writting in bad topic but if i set 96kHz and
32 bit in device settings the time is running 4 times faster. i know it´s not necesary to set it so high :)

Zarggg

QuoteMy Idea: XMPlay decodes/reads/whatever a short period of time (e.g. 1 second) in advance and buffers the information. If clipping is predicted, there's 1 second left to do kind of "fade out" to a level where clipping is gone. Afterwards "fade in" to original level.
This seems to be like it would hog resources a little... I don't want a resource-hogging media player! :P

tigre

QuoteThis seems to be like it would hog resources a little... I don't want a resource-hogging media player! :P

I don't thinks so. There's already a buffer and auto-amp already calculates "how loud the signal is" and adjusts volume. This just needs to be done "looking into the future" using the data from the buffer.

Zarggg

#10
Right... this could potentially double (or more) the required memory usage...  You seem to be talking about extending the buffer...

tigre

No. I just thought of using the data that's stored in the buffer anyway. (OK - buffer size needs to be at least the same time as "look in the future".)

BTW: You said you don't want a "resource-hogging" mediaplayer? I suggest :evil: 1by1, foobar2000 or coolplayer. :P

Guan

Why are you guys making it so hard.
Use XMPlay.ini instead and set a value so the Auto Amp can be more accurate and responsive  :laugh:

tigre

I don't have a problem with clipping either, because I don't use dynamic mode at all. I believe that there's a reason why songs have loud and silent parts and that's the way I want to listen to them.

Obviously there are people who want equal volume for some reason - I suggested an improvement and now there's a discussion about this. That's fine IMO. Nothing hard about it. :)

Philidor11

Still experimenting with normalization.
Found a program (recommended by someone on the CDex site) which checks for clipping while normalizing, and uses a more complex method than just looking for the highest volume.  Makes 89.0 the default.  
I've been listening to a large number of mp3's after using the program, and it seems to do a better job, particularly at eliminating clicking, than my old favorite mp3trim.
I keep the Amp nailed to 100%, with all 5 equalizer columns set at 2.8.  Sometimes wish I could have been in the room while they played.

mp3gain:
http://www.geocities.com/mp3gain/

tigre

MP3Gain is great IMO. For those who need more/deeper information: See this tutorial/discussion on Hydrogenaudio.