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: Audible pre-echo in fb2k equalizer (Read 6092 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Audible pre-echo in fb2k equalizer

I'm not posting this under Support because I'm not exactly sure if this is a bug or not.

While I'm quite happy with the power the built-in equalizer provides, I've never really been happy with how it sounds. When doing any sort of higher-frequency correction, even with boosts/cuts as low as 1-22db, a very clear HF "smearing" sound is present. Up until now I simply chalked it up to "pre-echo" somehow without looking into it too closely - in theory, a 1db cut ought to be audible in and of itself, so it's not like I can ABX the supposed distortion without also ABXing the equalization (which is obviously supposed to succeed).

... or can I? If the sound really is a pre-echo, then it ought to be nonreversible: if I cut and then boost by the same amount, the smeared response resulting from the first equalization should not be canceled out by the second equalization, assuming the pre-echo in both operations is of the same phase (which admittedly may be too much to assume).

To test this I took a 20-second clip from Tosca's "Suzuki", cut it -5db at 3500 Hz, then boosted it +5db at 3500 Hz, then ABXed this against the original 20 second sample. original sample and cut/boosted sample. The first time I tested this I got 10/10, but I wasn't pleased with how I generated the samples so I scrapped those results. The second time I got 13/17. Hint: listen very closely to the drums and percussion in general, especially during and immediately after simultaneous drum hits.

foo_abx v1.2 report
foobar2000 v0.8.3
2004/08/19 01:58:07

File A: file://C:\music\suzuki-orig.ape
File B: file://C:\music\suzuki-cut-boost-3.5k-5db.ape

01:58:10 : Test started.
02:00:36 : 01/01  50.0%
02:01:04 : 02/02  25.0%
02:01:42 : 03/03  12.5%
02:02:30 : 03/04  31.3%
02:03:02 : 04/05  18.8%
02:04:21 : 05/06  10.9%
02:04:55 : 05/07  22.7%
02:05:04 : 06/08  14.5%
02:05:17 : 06/09  25.4%
02:06:55 : 07/10  17.2%
02:07:03 : 08/11  11.3%
02:09:57 : 09/12  7.3%
02:11:15 : 10/13  4.6%
02:12:14 : 11/14  2.9%
02:12:43 : 11/15  5.9%
02:12:56 : 12/16  3.8%
02:13:33 : 13/17  2.5%
02:17:36 : Test finished.

----------
Total: 13/17 (2.5%)

This effect was definitely on the edge of audibility the second time, so I'm not even sure if it's the same patently obvious change that exists in a single equalizer operation.

It's also conceivable that this difference is really due to an asymmetry in boosts vs cuts, rather than pre-echo. In the time domain, the difference between original and processed samples clearly shows a smeared waveform around the percussion, extending 20ms before the transient and about -55-60 dbFS peak coinciding with the transient peak, with spectrum peaks roughly at 3000 and 4000hz. A boost/cut mismatch would explain the 3k/4k peaks, but not them extending 20ms beforehand.

The exact process for generating these samples is as follows: The original track APE was converted to WAV with no DSP/replaygain/format change. I clipped it down to 20 seconds, added fade in/out and saved it to WAV in Samplitude, then converted it back to APE in foobar. I then put -5db at 3.5k in foobar and saved this to a different APE, then put +5db at 3.5k on that new APE and saved the results in the final APE. All files are 16 bit@44.1 and dither was selected to be "only lossy sources".

My understanding of equalizers is that pre-echo is a function of the filter's Q factor, and if the equalizer's bandstop steepnesses were reduced somehow (perhaps by adding a controllable parametric mode) the preecho response would improve. Am I correct in this diagnosis? And is what I'm hearing really pre-echo, even though it objectively looks like it?

Audible pre-echo in fb2k equalizer

Reply #1
A +5 db boost in one of the bands may have produced clipping. Did you check for that?

You can try using 32-bit floating-point wavs for the intermediate file if this was indeed the case.

Audible pre-echo in fb2k equalizer

Reply #2
foobar's equalizer is based Naoki Shibata's SuperEQ. You can find some discussions on Hydrogenaudio regarding the performance of it and similar filters.

Audible pre-echo in fb2k equalizer

Reply #3
OK, I just ran through the processing again with clipping warnings enabled and clipping does appear to be present on the -5 cut. I'll run the tests through tonight with 32-bit samples from start to finish. I'm also going to raise the boost/cut levels to 10db to try to make it a little easier to ABX.

EDIT: What discussion has been made about pre-ringing in the equalizer on the forums has been, in my opinion, pretty thin - there isn't any serious conclusion made about the equalizer's quality, just lots of crickets. A lot of people seem to think that supereq is a perfect or nearly-perfect equalizer, and this may be true strictly in signal-processing terms, yet there is considerable theoretical (steepness of bandstops) and practical (me, KikeG, Pio2001) evidence that this is definitely not the case in AQ terms.

Audible pre-echo in fb2k equalizer

Reply #4
New ABX results with new samples (original vs equalized:

foo_abx v1.2 report
foobar2000 v0.8.3
2004/08/20 22:26:34

File A: file://C:\music\suzuki-0.ape
File B: file://C:\music\suzuki-2.ape

22:26:37 : Test started.
22:26:58 : 01/01  50.0%
22:27:15 : 02/02  25.0%
22:27:21 : 03/03  12.5%
22:27:26 : 04/04  6.3%
22:27:30 : 05/05  3.1%
22:27:34 : 06/06  1.6%
22:27:38 : 07/07  0.8%
22:27:42 : 08/08  0.4%
22:27:46 : 09/09  0.2%
22:27:50 : 10/10  0.1%
22:27:54 : 11/11  0.0%
22:27:57 : 12/12  0.0%
22:28:01 : 13/13  0.0%
22:28:04 : 14/14  0.0%
22:28:08 : 15/15  0.0%
22:28:12 : 16/16  0.0%
22:28:13 : Test finished.

----------
Total: 16/16 (0.0%)

Note that these results were done with a +-10db boost/cut while the last ones were +-5 db.

The effect is very, very audible now, and it's definitely not some incorrect equalization - looking at the spectrum of the residual in Audacity there are really only two frequencies that differ between the two files, corresponding exactly to the two transition bands for the 3.5k point. In fact, the effect is so audible that I'm wondering if what I'm really hearing is boost/cut asymmetry rather than preringing. The residual is inconclusive in identifying one or the other.

The processing path was as follows: source APE -> -10db volume -> soft ATH dither (probably not necessary but does not affect results -> suzuki-0.wav; suzuki-0.wav -> -10db@3.5khz -> suzuki-1.wav (no dither); suzuki-1.wav -> +10db@3.5khz -> suzuki-2.wav (no dither); conversion to APE for suzuki-0 and suzuki-2, replaygain, ABX. All WAVs were stored in 32-bit floating point and converted to 24 bits without dither for APE transcode. I had to transcode the APEs to MP3 to upload them in the fb2k upload forum.

Audible pre-echo in fb2k equalizer

Reply #5
I suggest that you try asking Naoki Shibata, the maker of the equalizer used in f2k, about this issue.

His website is at http://shibatch.sourceforge.net/