Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Page 2 of 2 < 1 2
Topic Options
#4074 - 10/07/2000 00:44 Re: Normalization, EASY (update) [Re: tfabris]
rob
carpal tunnel

Registered: 21/05/1999
Posts: 5335
Loc: Cambridge UK
There's not really a problem with the .upgrade files, as we have control over the MIME settings of our own web site. There was only a problem initially because we forgot to add this type of file.

Rob



Top
#4075 - 10/07/2000 06:51 Re: Normalization, EASY (update) [Re: rjlov]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31563
Loc: Seattle, WA
Yeah, that turned out to be the problem: The file didn't download properly for me from the web site. Rjlov sent me the file via e-mail and it worked fine after installation.

I'm going to post a review of this software in the "reviews" section of the BBS. Perhaps pushing the envelope of the appropriate subject matter for that thread, but hey, I'm green now, so that must mean I can do what I want.

___________
Tony Fabris
_________________________
Tony Fabris

Top
#366781 - 24/05/2016 02:41 Re: Normalization, EASY (long) [Re: rjlov]
rjlov
member

Registered: 16/12/1999
Posts: 188
Loc: Melbourne, Australia

Originally Posted By: rjlov
It also would be pretty easy to change voladj_check to calculate a desired multiplier based on the average power,


Turns out I was right, it was pretty easy. So what if it took 15 years of turning the idea round in my head to actually do anything about it? smile

New version

TL;DR:

Try these two settings in your config.ini to compare power to peak scaling:


[hijack]
voladjmed=0x2000,3000,0x1000,30,80
voladjhigh=0x2000,3000,0x8000,60,160


med is peak scaling, high is power scaling.

Details:

In this version the "headroom" parameter is overloaded - if it's less than or equal to 1 (0x1000) then the scaling is based on peak sample, as in the olden days.

If you set it greater than 1 (say 0x4000) then scaling based on RMS of sample size is used (as a full buffer of samples of that size give the same energy the actual buffer) and the headroom parameter is used as a multiplier to convert from the RMS value to the peak value.

Why even do this multiplier thing? The main reason is that I still want to avoid clipping, and if we just used the raw RMS value then the algorithm would always be in clipping avoidance mode. It also means that the silence values are a bit more comparable, and the venerable fixed point routines don't lose most of their resolution.

If you want to tweak the parameters, I suggest that you might try headroom between 0x3000 and 0x5000, and leave the silence parameters around 30,60. If you increase headroom higher than that, it's probably sensible to increase the silence values. A good rule of thumb would be to multiply them by headroom/0x4000. (My example above has headroom=0x8000, and the silence values both multiplied by two.)

I have tested this a little bit on the command line, and hardly at all on the player. But feel free to download and have a go.

Richard.

Top
#366784 - 24/05/2016 11:50 Re: Normalization, EASY (long) [Re: Nils]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14472
Loc: Canada
Hi Richard!

No problem for you if I incorporate the patch into a new Hijack?

And do you/Tony have opinions as to what the default settings should be for the various values, differences from the current defaults?

Thanks!

Top
#366788 - 24/05/2016 15:26 Re: Normalization, EASY (long) [Re: mlord]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31563
Loc: Seattle, WA
I'd need to experiment with the new version before forming an opinion about the settings. It might be quite some time before I get to that, so don't wait on me. :-)
_________________________
Tony Fabris

Top
#366795 - 24/05/2016 23:17 Re: Normalization, EASY (long) [Re: mlord]
rjlov
member

Registered: 16/12/1999
Posts: 188
Loc: Melbourne, Australia
It would be great if you could add it to hijack, Mark.

However, there was a bug if you set headroom to 8 or above (0x8000) as in my example parameters! Should be fixed now. If headroom is unsigned in struct voladj_state then you have the good version.

My feeling is that 0x2000,3000,0x4000,30,80 will be a good replacement for the "high" setting. That may have too many sudden adjustments to avoid clipping. The low setting probably doesn't care too much if you use power or peak.

These are all just guesses, though, they could be wrong. I'm keen to do some more of my own testing too, but I'm not driving much lately.

Richard.

Top
#366814 - 27/05/2016 13:05 Hijack v520 is released [Re: rjlov]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14472
Loc: Canada
Hijack v520 is now available.

The only changes are the new VolAdj code from this thread, plus the new (experimental) default settings for the VolAdj "High" setting.

Cheers

Top
Page 2 of 2 < 1 2