Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Plugin Idea: foo_redistributor (Read 2640 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Plugin Idea: foo_redistributor

I came up with an interesting idea for fixing overcompression that should be pretty simple to implement. It's got the same basic idea as ReplayGain, only it's taken to the next level.

Take an audio file, and analyze the distribution of the PCM data. Then, using that analysis, change the distribution to some standardized distribution.

So, for example, you take a file and analyze it. You find that it has a uniform distribution; that is, every single PCM value is equally likely to occur within a range of two values. Then, using that information, you rescale the PCM values so that the distribution approximates, say, the normal distribution. Thus, the highest peaks will remain high, while the lesser peaks will be diminished.

Any comments?

Plugin Idea: foo_redistributor

Reply #1
I'm not sure if I understand correctly...

Example (8bit for simplicity, 44.1kHz, 256 seconds): Let's say the "standardized distribution" is equal, this would mean for each of the possible 256 sample values in 8 bit audio there must be 44100 samples after processing. Correct? Now let's say in the source file the distribution is equal with one exception: There are only 30000 samples with a sample value of 150, but 58200 "151" saples. Now how do you (or the algorithm) decide which 14100 of the 58200 "151" samples must be converted to "150"samples?
Let's suppose that rain washes out a picnic. Who is feeling negative? The rain? Or YOU? What's causing the negative feeling? The rain or your reaction? - Anthony De Mello