"Fix" CD3000's treble wierdness?
May 4, 2004 at 9:25 PM Post #46 of 58
First off, you can probably reduce the audible distortion (that's what the treble harshness is, mostly) by not upsampling the signal to 192kHz. There's no reason to do this with your card. The software upsamplers I've seen are not ideal and could be introducing distortion.

Next, while the description of the Shibatch equalizer on their website sounds quite good, it's possible that the implementation is poor. It's very odd that there be any sound change if the equalizer is activated but flat. You may want to try another equalizer.

It's also possible that the Winamp pipeline may be imperfect. Does Winamp 5 use a floating point pipeline or an integer one? If you're going to be EQing and looking for better accuracy/sound quality, it may be worth switching to Foobar just for that reason. According to the Shibatch website, their EQ uses a 16383th order FIR filter and yet only uses 10% CPU time on an old Celeron. That strongly leads me to believe that the Winamp pipeline is just integer based. One of the advantages of having a computer-based source is you can easily do floating point (rather than just fixed point) arithmetic. Take advantage of that.
 
May 4, 2004 at 9:44 PM Post #47 of 58
Interesting... on another forum they stated that Foobar uses 64-bit floating point, whereas Winamp is 16-bit fixed point by default.

It also said that certain plugins allow Winamp to break the restraints of that 16-bit fixed, BUT when you start to add DSPs you negatively affect the transparency of the sound. (Perhaps because the plugins themselves do their computations in higher-bit floating, but then the Winamp pipeline has to truncate the data to 16-bit fixed in order to handle it, and in so doing cuts off some data, adds artifacts, etc)

So maybe that's all i'm hearing with supereq. The sound quality is being affected by the inherent way Winamp processes sound. Looks like i'll have to take some time adjusting myself to Foobar2k then
biggrin.gif


It's too bad, I prefer the interface of Winamp much over Foobar. Plus my current skin rocks face. Oh well, I guess i'll just search for some cool Foobar skins and set on figuring out hwo to use this new program, heh.
 
May 4, 2004 at 11:28 PM Post #48 of 58
One of the things people complain about with the use of so-called "no-noise" processing in the mastering of CDs is that in order to cut out the frequencies at which tape his occurs, you are also cutting out everything else that is contained within the same frequency range as the tape hiss and that obviously includes musical information. I think the reason you hear less tape hiss with EQ engaged is because you are clipping off the highs. Tape hiss is perfectly normal natural part of any recording.
 
May 5, 2004 at 1:17 AM Post #49 of 58
Quote:

Originally Posted by Sduibek
Interesting... on another forum they stated that Foobar uses 64-bit floating point, whereas Winamp is 16-bit fixed point by default.


If that's correct, Winamp is absolutely not suitable for anything but a straight music output tool. (No equalizers, no DSP plugins, nothing.) 16-bit fixed point is just plain inadequate. I was assuming they were using at least 24-bit fixed point, which would have been somewhat acceptable. Even then, most fixed-point DSP units operate at 28 bits or more internally, so that there is minimal loss of resolution at 24 bits.

Sorry if I sound like I'm being harsh about Winamp, but there really is no excuse for that kind of programming these days.
 
May 5, 2004 at 1:56 AM Post #50 of 58
I thought Winamp was floating point. I tried searching but it's hard since the keywords are "generic". Where did you find such thing that says Winamp was 16bit? I don't think that's the case because then you couldn't even decode/oupt to 24bit which is false.
 
May 5, 2004 at 2:25 AM Post #51 of 58
Well, I was curious so I downloaded the SDK for Winamp as well as the source for the Shibatch equalizer. As it turns out, the Winamp pipeline is integer-based and DSP plugins run at the resolution of the incoming signal for input and output. But the plugins themselves can use floating point math internally. It turns out that the Shibatch equalizer plugin does use floating point math.

However, this also means that to get the best performance out of Winamp DSP plugins, you should also run a plugin that converts your source data from 16 bit to 24 bit first, so the equalizer can be more precise.
 
May 5, 2004 at 4:51 PM Post #53 of 58
Yes it's been stated that foobar is 64bit processing.

Wodgy, so what is the output of the shibatch equalizer? If 16 bits goes in, what goes out?
 
May 5, 2004 at 8:37 PM Post #54 of 58
I don't see how the input has to match the output... if that's so, why does my WaveOut SSRC plugin have a "target bitrate" field that I can set at 16 or 24? Just doesn't make sense to me.
 
May 5, 2004 at 8:38 PM Post #55 of 58
Quote:

Originally Posted by Sduibek
Just out of curiousity, was the information I read about Foobar doing things in 64bit floating correct? If so, that's pretty cool.
cool.gif



Yes, the Foobar pipeline is 64-bit floating point from start to finish. It's very nice.
 
May 5, 2004 at 8:42 PM Post #56 of 58
Quote:

Originally Posted by lan
Yes it's been stated that foobar is 64bit processing.

Wodgy, so what is the output of the shibatch equalizer? If 16 bits goes in, what goes out?



If 16 bits goes in, 16 bits goes out. This is true of every Winamp DSP plugin. The plugin interface does not support anything else. This is why you'd better be feeding 24 bit data to your DSP plugins if you want to keep distortion reasonable.
 
May 5, 2004 at 8:48 PM Post #58 of 58
Quote:

Originally Posted by Sduibek
I don't see how the input has to match the output... if that's so, why does my WaveOut SSRC plugin have a "target bitrate" field that I can set at 16 or 24? Just doesn't make sense to me.


I'm was talking about DSP plugins. Output plugins take data from Winamp but don't return it to Winamp, so they're not restricted in the output data they generate. If you don't think it makes sense, ask yourself why SSRC is not implemented in Winamp as a DSP plugin, as would make the most sense (and as it is in Foobar)? It's because it couldn't be implemented as a DSP plugin in Winamp. The interface doesn't support it.

If you want to use an equalizer with Winamp and get reasonable quality, you need an input plugin that generates 24-bit data even if the song is 16-bit. If you don't do this, the equalizer will take 16-bit data, process it, stuff it back into 16-bits with dither, then this will go to WaveOut SSRC which will resample it. That's just not an optimal scenario; I doubt the distortion numbers are better than 90dB (poor) under that scenario. Imagine how bad it gets if you chain multiple DSP plugins together, one after the other! Inexcusable, really.

It's unfortunate that Winamp is designed this way, because it is so popular and like Creative's terrible soundcards undoubtedly contributes to the bad reputation that PC audio has. Foobar is simply a better choice if you're going to be doing any kind of DSP.
 

Users who are viewing this thread

Back
Top