Re: [Audacity-devel] Equalizer time-offsets audio
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: <Mar...@ao...> - 2007-02-26 23:05:59
|
Markus You are observing the expected behaviour. The Equalizer uses the curve drawn to work out the coefficients of an FIR (finite impulse response) filter, which it then applies. The shape of the impulse response is generally small, builds up as time goes by and then decays away again. Normally the peak is in the middle of the impulse response. Obviously the output cannot start before the signal starts and so this build-up and decay causes a delay in the peak of the output response of about half the filter length. Half of 4001 samples at 44100Hz sampling rate is about 45ms, as observed. Continuing your example: 7. Use the Selection Bar to select from 3s to 3s + 4001 samples and zoom in. 8. Notice that the signal appears to 'fade in' about half way through this period, as noted above. 9. Use the vertical zoom function to zoom in as far as possible - you can probably see the wiggles from about 3.02s. 10. Select from 3s to 3.02s and 'amplify' twice to see that those wiggles really do start at 3s. All real filters have this delay. The sharper you want to make the filter, the longer the impulse response you need and so the longer the delay. In this particular case (the amradio curve) the curve is not very hard to match and so you can shorten the filter length to about 1001 samples without significant loss (about 11ms delay). Also the 'flat' bit from 20Hz to 100Hz is probably unrealistic anyway, and the bit above 6kHz I think definitely is, wherever you live, but that's another story. HTH Martyn In a message dated 26/02/2007 10:08:36 GMT Standard Time, me...@me... writes: Hi, a user brought to my attention that the Equalizer seems to offset the audio in time. The offset apparently varies depending on the settings used but can be as high as 50 ms. To reproduce with current HEAD, do the following (Ubuntu Linux w/ GCC 4.1.2 here): 1. Generate tone (Sinus 440 hz, Amplitude 0.8, length=5 seconds) 2. Using selection bar, select everything from 0.000 to 3.000 seconds 3. Edit/Silence. You should now have silence from 0-3 seconds and a tone from 3 to 5 seconds 4. Select/All 5. Effect/Equalizer (Select curve: amradio, length of filter = 4001) 6. Notice that beginning of tone has shifted about 42 ms. Markus |