Difference between revisions of "Pre echo"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(Additional reading:)
Line 13: Line 13:
 
''Note: MDCT behavior is not identical in either case.''  
 
''Note: MDCT behavior is not identical in either case.''  
  
 +
* http://www.math.drexel.edu/~pg/fb//java/la_applets/Gibbs/ - This is java applet of a visual representation of Gibbs Phenomenon were you can change the amount of terms used to approximate the function.
 
* http://www.jhu.edu/~signals/fourier2/ - With this java applet you can draw a sharp attack, and use it to calculate a large number of coefficients. Once you start to reduce the number of coefficients you will see the pre-echo appear.  
 
* http://www.jhu.edu/~signals/fourier2/ - With this java applet you can draw a sharp attack, and use it to calculate a large number of coefficients. Once you start to reduce the number of coefficients you will see the pre-echo appear.  
 
* http://www.gac.edu/~huber/fourier -  This java applet let's you approximate the series and listen to the noise created.
 
* http://www.gac.edu/~huber/fourier -  This java applet let's you approximate the series and listen to the noise created.

Revision as of 01:14, 24 December 2005

Pre-echo is just classical case of a gibbs oscillation that occurs in Physics, which can be seen any time you use a fourier-type series expansion to represent non-smooth data.

When one has something, similiar to a sharp attack (like a castanet), the MDCT representation of this data will (after quantization) create a lot of extra oscillations both before and after the attack.

A fourier representation of an attack consists of an (inifinitely) long series of slowly decaying coefficients. If you store any less then exact, you introduce extra oscillations. You are forced to quantize, however otherwise you don't have a lossy codec.

The problem is that you have to return nearly all MDCT coefficients of the attack to stop the pre/post-echo. The largest ones are no problem as they are usually kept by the quantization, but all others look very similar just a tiny bit smaller. At some point, you must make the decision to round to zero (or end up with 1:4 "compression") and you introduce the oscillation.

The oscillations in front of the attack are very bad, since they will be heard "before" the attack and tend to be very obvious to the human ear. Often times it sounds like a snare has been added to the original track. The simplest way to lessen this is by using pre/post-masking in the psychoacoustics model. This isn't always effective solution and better ones are utilized in practice.

Additional reading:

Note: MDCT behavior is not identical in either case.