Help - Search - Members - Calendar
Full Version: Dynamics Compressor for FB2K
Hydrogenaudio Forums > Hosted Forums > foobar2000 > 3rd Party Plugins - (fb2k)
Pages: 1, 2
Garf
Download plugin here

Does as it says.

A lot of people wanted this, as if music isn't compressed enough already. Shame on you.

PS. By nature, it also works as an automatic gain control and it knows about clipping. On some very heavily compressed music, it will actually end up lowering the overall volume. Draw your own conclusions.
upNorth
Thx for making the plugin smile.gif
Not that I've missed it, but now that I've got it, I can use it to hear how compression affects the music.
Have read about compression lately, and how most new cd's today are victims of this.
The only thing I missed immediately was a slider scale to remember settings.
It would be nice if you could add it, if it isn't too much trouble.
/\/ephaestous
THANKS!
THANKS!
THANKS!
/\/ephaestous
Could you please add a label telling the actual value of each setting?
Garf
Uploaded new version.

There's a problem with the interface & rounding, will try to fix.
Garf
Fixed, yet another new version uploaded.
wagner reatto
excellent!

thank you, Garf.
sony666
this is a very interesting plugin. Thank you smile.gif
cyrano
Thank you very much !!

I really needed this plugin !

So - thx again !
PoisonDan
QUOTE(Garf @ Jun 10 2003 - 09:57 PM)
A lot of people wanted this, as if music isn't compressed enough already. Shame on you.

Absolutely. My first reaction when I saw this thread was: "A compressor for FB2K ?? Oh, the horror !!"

But then upNorth mentioned:
QUOTE
Not that I've missed it, but now that I've got it, I can use it to hear how compression affects the music.


OK, this seems to be a valid reason to use it.

But, to all the people who asked for it: please tell me this is the ONLY thing where you will use the plugin for... sad.gif
Curi0us_George
Why are some people so dead-set against compressors and the like? Why does it really matter if some people want to screw up the sound coming out of their speakers?
Garf
Actually, for some classical recordings, it has real use. Or for movie stuff or so.
neuroWerx
Face it: almost any piece of music you're listening to is already compressed. If you'd listen to uncompressed music most of you would find it very unnatural-sounding, believe me. :-)

Different instruments produce different levels. To make stuff equally loud (so that the bassline won't eat the lead riffs and such, volume-wise), music must be compressed. On album-level, this is a part of what "mastering" is all about.

These days, compression is often already applied in the production stage (especially on electronic music). Live recordings are compressed a lot, too - de-esser and plosive removal are essential compressor tasks to make vocals recordable and reproducable at a normal level via a PA (have you ever tried recording your voice into the PC via a mic? you noticed how sharp S, SH and CH sounds, and how loud P, K, T are - this is controlled with a compressor).

Further compression is often applied on the radio, to make the signal that is broadcast as loud and "even" as possible, utilizing the maximum of the frequency band (ever noticed how different records may sound when you compare the track as you heard it on the radio vs. the track from the CD on your home stereo?).

Summary: a plugin that is compressing your music is a nice gimmick and really not needed - unless you have loads of your own garage punk rock band. :-)
Curi0us_George
QUOTE(Garf @ Jun 12 2003 - 09:25 AM)
Actually, for some classical recordings, it has real use. Or for movie stuff or so.

Well, I'm not going to get into whether or not it has valid uses. That's beyond my area of expertise. biggrin.gif I just think it's odd that so many people feel they need to crusade and try to save everyone else's music.

But on a different note, the compressor sounds quite nice. It does its job well. (I don't normally run any DSPs except the attenuator and the advanced limiter, so it doesn't really matter to me, but it's nice nonetheless.)
Melomane
Very useful to listen music at low volume, night for example without disturbing wife or neighbors and without losing delicates passages.

In addition it is possible to make a plugin to increase dinamique? it is much less simple to make but that would be very useful!
man
QUOTE(Melomane @ Jun 13 2003 - 07:06 AM)
In addition it is possible to make a plugin to increase dinamique? it is much less simple to make but that would be very useful!

Yeah, considering terrible dynamic compression on most of the "modern" Cds, I think such a plug-in would be really great. However I suspect it should be more difficult to acheive.

Thanx Garf for your compressor. I will use it for sure on my next insomnia night, when I listen to music and try to relax a bit biggrin.gif
Garf
QUOTE
Very useful to listen music at low volume, night for example without disturbing wife or neighbors and without losing delicates passages.


This is why I have headphones smile.gif

QUOTE
In addition it is possible to make a plugin to increase dinamique? it is much less simple to make but that would be very useful!


Compression is a one way process, sorry. No way to recover the original stuff.
man
QUOTE(Garf @ Jun 13 2003 - 07:52 AM)
QUOTE

In addition it is possible to make a plugin to increase dinamique? it is much less simple to make but that would be very useful!


Compression is a one way process, sorry. No way to recover the original stuff.

I understand that "original" dynamic is lost after compression : the louder and the softer parts of the waveform are closer after compression, and it is not possible to dertermine what it was before, and so to go back.

However, don't you think it would it be possible to make an "expander", that would increase arbitrarily the dynamic range of the sound, making the slope that separates louder and softer noises steeper, rather than flatter like a compressor ?

EDIT : replaced "expender" by "expander"...
Curi0us_George
I can't see a way to do so. I'm not an expert by any means, but audio just doesn't lend itself to such operations. I suppose it would be possible to arbitrarily pick a point, move that point, and redistribute the waveform data accordingly, but it would almost certainly sound terrible.
Melomane
QUOTE(Garf @ Jun 13 2003 - 04:52 PM)
QUOTE

Very useful to listen music at low volume, night for example without disturbing wife or neighbors and without losing delicates passages.


This is why I have headphones smile.gif

But the night, during kamasutra's meeting

headphones aren't very useful laugh.gif

Thank you GARF!
Chun-Yu
Perhaps man means something like an expander?
man
QUOTE(Chun-Yu @ Jun 13 2003 - 09:46 AM)
Perhaps man means something like an expander?

Yes that's it, an expander, not expender as I said... dry.gif
I edited my previous post to correct.

Anyway I understand this sould not be easy to do, and even to use, especially because the arbitary point should be set at different specific values for different music files...

But I think the objective is great (to increase the dynamic). I can't see how this could be done...
Chun-Yu
The first thing I found on Google about expanders: http://www.oneonta.edu/academics/music/xla...or_expander.htm
xbenchman
I am not sure I understand...are you referring to a widener. M Pesch's 1by1 player has a compressor and widener as its sound enhancer. there is a plugin for winamp and of course you could download 1by1 as well. Sorry if this seems off topic but I thought that this was somthing that related.

http://www.rz.uni-frankfurt.de/~pesch/

you can take a look
Garf
QUOTE(Melomane)
QUOTE(Melomane @ Jun 13 2003 - 07:40 PM)

...at night for example without disturbing wife...


But the night, during kamasutra's meeting

headphones aren't very useful laugh.gif


BUSTED
_Shorty
QUOTE(Garf @ Jun 13 2003 - 08:52 AM)
Compression is a one way process, sorry. No way to recover the original stuff.

dbx?

<edit> not that dbx will be useful as an expander towards the goal desired here, but rather that it is an example of compression-expansion. And Dolby's similar methods for that matter.
Garf
QUOTE(_Shorty @ Jun 13 2003 - 08:41 PM)
QUOTE(Garf @ Jun 13 2003 - 08:52 AM)
Compression is a one way process, sorry. No way to recover the original stuff.

dbx?

What dbx? They have different maths than the rest of the world?
_Shorty
well, mind explaining yourself when Dolby and dbx both contradict what you're saying?
Garf
Please post the exact statements here, I'd love to see them explain how they work around the laws of information theory.
_Shorty
you're unfamiliar with their tape noise reduction systems? Both companies employ fixed-slope compression and expansion schemes to reduce tape hiss and increase dynamic range.
Curi0us_George
QUOTE(_Shorty @ Jun 13 2003 - 11:11 AM)
fixed-slope

When's the last time you bought a CD compressed with a standard fixed slope?
_Shorty
QUOTE(Curi0us_George @ Jun 13 2003 - 12:18 PM)
QUOTE(_Shorty @ Jun 13 2003 - 11:11 AM)
fixed-slope

When's the last time you bought a CD compressed with a standard fixed slope?

that's not the point, I don't think that what's being asked for here is something that will bring every single compressed CD back to the exact state it was in before it was compressed. Obviously such a thing would be impossible, because you have no way of knowing the exact way it was compressed. The point I'm trying to make is that it is possible to expand something, since the principle's been in use in the industry for years and years and years, when Garf seems to be pretty sure that it's impossible. Yes, it would be impossible to do what you're talking about, and Garf's right in stating that getting the original signal back when you don't know how it was compressed in the first place isn't possible. But it also sounds like he's saying it's impossible to expand anything at all, actually. When clearly it isn't impossible, or else dbx noise reduction would never have worked. And it did.
Melomane
they are 2 various typologies:

1) dbx or dolby ( a, b, c, s ) are compressor-expander systems to reduce hiss on analog tape.
original signal is compressed when recording and expanded when play and restore original dynamic.

2) expander is a signal processor what increases dynamic when play.
obviously it can't restore original dynamic but it can improved some recordings.
not to use all the time.

for exemple:

expander
Melomane
GARF , do you think add preset support, same for equaliser?
Garf
QUOTE(_Shorty @ Jun 13 2003 - 09:25 PM)
But it also sounds like he's saying it's impossible to expand anything at all, actually.

I _NEVER_ said that. I said it was impossible to get the original back. Note that even if you know the compressor, it will be impossible to get the exact original back, if there's a multiple-to-one mapping. And this happens in all compressors.

So you can do some expansion and get something reasonable, but never what was the original. Simple maths. You can't make anything out of nothing.

Expansion is a lot harder to make work well than a compressor, and I don't know of any ones that I consider good enough in general use to make it worth the hassle.
Garf
QUOTE(Melomane @ Jun 13 2003 - 10:47 PM)
GARF , do you think add preset support, same for equaliser?

Do you think it would be usefull?
Melomane
Yes, i think it would be usefull, same as preset support is usefull for equaliser.

But I think that what I think is less important than you think on this subject, because it is you who made work...
if you think that it is useful and not too complicated to make I would think that it is well.
if not, the wise would say: compressor without preset support is better that no compressor! wink.gif

EDIT: please , do you want explained how parameters act on signal, to educate ignorant people, me the first.
smile.gif
Garf
Someone posted a link to an explanation about compressors before in this thread, explains it better than I could probably.

I'll consider presets.
_Shorty
QUOTE(Garf @ Jun 14 2003 - 05:14 AM)
I _NEVER_ said that. I said it was impossible to get the original back. Note that even if you know the compressor, it will be impossible to get the exact original back, if there's a multiple-to-one mapping. And this happens in all compressors.

So you can do some expansion and get something reasonable, but never what was the original. Simple maths. You can't make anything out of nothing.

Expansion is a lot harder to make work well than a compressor, and I don't know of any ones that I consider good enough in general use to make it worth the hassle.

OK, explain this then:

Compress
1 amount over 5 is -4 so output 1
2 amount over 5 is -3 so output 2
3 amount over 5 is -2 so output 3
4 amount over 5 is -1 so output 4
5 amount over 5 is 0 so output 5
6 amount over 5 is 1 so output 5 + 1/2(1) is 5.5
7 amount over 5 is 2 so output 5 + 1/2(2) is 6
8 amount over 5 is 3 so output 5 + 1/2(3) is 6.5
9 amount over 5 is 4 so output 5 + 1/2(4) is 7
10 amount over 5 is 5 so output 5 + 1/2(5) is 7.5

Expand
1 amount over 5 is -4 so output 1
2 amount over 5 is -3 so output 2
3 amount over 5 is -2 so output 3
4 amount over 5 is -1 so output 4
5 amount over 5 is 0 so output 5
5.5 amount over 5 is 0.5 so output 5 + 2(0.5) is 6
6 amount over 5 is 1 so output 5 + 2(1) is 7
6.5 amount over 5 is 1.5 so output 5 + 2(1.5) is 8
7 amount over 5 is 2 so output 5 + 2(2) is 9
7.5 amount over 5 is 2.5 so output 5 + 2(2.5) is 10

Looks like the original was recreated to me. Explain how it wasn't, please.
ssamadhi97
QUOTE(_Shorty @ Jun 14 2003 - 07:36 PM)
Looks like the original was recreated to me. Explain how it wasn't, please.

Most audio formats (including CDDA) don't store floats, they store integer values.
_Shorty
QUOTE(ssamadhi97 @ Jun 14 2003 - 10:42 AM)
Most audio formats (including CDDA) don't store floats, they store integer values.

so? Got absolutely nothing to do with what I just said.

<edit> Happy?
512
1024
2048
4096-2048->2048(0.5)->3072
8192-2048->6144(0.5)->5120
16384-2048->14336(0.5)->9216

512
1024
2048
3072 1024(2)+2048=4096
5120 3072(2)+2048=8192
9216 7168(2)+2048=16384
Garf
4096 4097
_Shorty
ABX the rounding errors then.
Garf
I can't ABX MPC --insane either, that means I can get the original back via some procedure you will no doubt explain us?
_Shorty
you're using integer storage as an excuse to not admit you're wrong.

<edit> in other words, the only reason you say it's impossible to get the original back is because only integers are stored in the one format you were thinking of. Even though it would more than likely be impossible to tell any difference if you actually did try compressing and then expanding some 16bit audio. Yes, I understood from the beginning that if you were dealing with 16 bit integers you would not be able to get exactly the same data back because of the margin of error when dealing with odd value samples. But with the actual results, I sincerely doubt you'd hear anything different, and I'm sure you do to.
Garf
Yes, I assume the music is not stored in floats after compression. This is true for any practical format I know of. Lossy audio can be floats but suffers from the same problem that the mapping is not invertible. Moreover, compressors have variable gain to attain a constant average loudness. You cannot figure out the original loudness levels either even if you use floats.

No, it does not only have to do with odd/even problems, the sharper the compression, the more values are mapped to the same output value.

It gets even more fun when the compressor causes hard limiting, nothing will save you in that case.
_Shorty
now you're mixing issues again. I'm not talking about guessing the compression method of any random CD in order to obtain exactly what was there before the compression occured, as my example clearly was a given scenario. In one instance we're talking about a compressor that does a straight 2:1 compression after a given point, and then you start talking about variable gain compressors as if they were even related to the process I'm talking about. Fine. You have problems admitting when you're wrong. Citing extreme and/or unrelated scenarios to try to prove you're right. Yes, you're right in your scenarios, I could not guess a random compression method from a random CD. I'll drop it. Fact remains, if you couldn't get out what was put in, dbx's product never would have worked. And it did. You're arguing that an expander would be worthless because I can't guess those values or have enough accuracy to get the original back even if I could. Well, it wouldn't be worthless because I don't need guess how it was compressed or have enough accuracy to get the original back after guessing, because I only need to make it sound better than its current state.

<edit> much like clipping restoration isn't useless just because it has no way of knowing whether or not the signal during the clipped portion would have been a smooth curve matching the slopes of the waveform before and after the clipped portion. Yes, there could have been more than a simple curve in that portion of the signal, but that doesn't make the clipping restoration process worthless. No, it doesn't necessarily give you what was originally there before it was clipped off, but it does give you an unclipped signal.
Garf
QUOTE
I'm not talking about guessing the compression method of any random CD in order to obtain exactly what was there before the compression occured, as my example clearly was a given scenario.


True. In such a case, you can do a reasonable reconstruction that would probably be audibly the same, though not identical to the original. Is this case typical? Not at all.

QUOTE
You have problems admitting when you're wrong. 


My original point still stands as strongly. You cannot invert a compressor for all practical purposes, you can't invert a one-way function, and you cannot invert something that maps multiple values into one.

You haven't come an inch closer to refuting this.

QUOTE
Fine. You have problems admitting when you're wrong. 


Is this another way of saying you have run out of arguments?

QUOTE
Citing extreme and/or unrelated scenarios to try to prove you're right. 


There is nothing extreme to the scenario I quoted, it's the typical one on most CD's. It's not unrelated either, since it's the one you actually have to deal with in practise.

I refuted your theorethical example, and you say my refutation doesn't matter in practise. Right. But your example wasn't practical, so that's not an argument.

QUOTE
Well, it wouldn't be worthless because I don't need guess how it was compressed or have enough accuracy to get the original back after guessing, because I only need to make it sound better than its current state.


This I wont argue, it might be possible to make something that reasonably guesses the used method and makes some additional dynamics out of it. Would it work well? So-so, depending on what the original is.

But you can't get it back.
Garf
QUOTE(_Shorty @ Jun 14 2003 - 09:19 PM)
<edit> much like clipping restoration isn't useless just because it has no way of knowing whether or not the signal during the clipped portion would have been a smooth curve matching the slopes of the waveform before and after the clipped portion.  Yes, there could have been more than a simple curve in that portion of the signal, but that doesn't make the clipping restoration process worthless.  No, it doesn't necessarily give you what was originally there before it was clipped off, but it does give you an unclipped signal.

Yes, you are apparrently agreeing exactly with what I already said:

QUOTE
...I _NEVER_ said that. I said it was impossible to get the original back...

...So you can do some expansion and get something reasonable, but never what was the original. ..


So, if you agree with me, why are you wasting my time?
_Shorty
QUOTE(Garf @ Jun 14 2003 - 12:32 PM)
My original point still stands as strongly. You cannot invert a compressor for all practical purposes, you can't invert a one-way function, and you cannot invert something that maps multiple values into one.

You haven't come an inch closer to refuting this.

QUOTE

Fine. You have problems admitting when you're wrong. 


Is this another way of saying you have run out of arguments?

Fine, I'll continue if you want, and I'll ask again, will you explain how dbx didn't work then? If you can't explain how dbx's noise reduction technique did not work then there is no point in you saying one more word about it, because you are stating that it could not work, yet, it does.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.