In recent versions of CSOS Triode and JackOfAll have added upsampling
capabilities to Squeezelite (at my request). I wanted to start a thread
here for discussing sonic differences people hear between no upsampling
and different upsampling parameters.

I'm also going to give some history of my involvement with DAC
interpolation filters and why I wanted to do this in the first place.

First off this is NOT about bit perfectness, upsampling changes bits! It
is supposed to! There is a real measurable difference in the waveforms,
this is about how you think those changes affect the sound. 

First a quick refresher on what this is all about. When a DAC outputs a
signal there are "aliases" above the half Nyquist frequency, these
aliases can inter-modulate with the audio signals to produce spurious
signals in the audio band which ARE audible. The reconstruction filter
is there to get rid of these aliases. With redbook source this is
difficult, the half Nyquist freequency is just barely above the audio
band. In early days this was done with anolog filters, but they really
messed up the sound. Then chip makers came up with using digital filters
to do this. These are called "interpolation" filters because they add
samples in between the original samples. 

Every DAC chip manufacturer  has used a different approach to these
filters. The metric of filter quality has been "how much does it
attenuate the aliases". At first they could get -60db, then it was
-90db, then -120db, these days there is big contest between DAC
manufacturers to see how far down below -130 they can get. But do you
really need to get down that far? The further down you go the more
computations need to take place. It takes more silicon and faster clock
speeds to do it.

Early on in the process the chip manufacturers realized that
implementing the filters using straight forward simple filters such as
the infamous "windowed sinc" (I'm NOT going to go into details on that
here, look it up if you want the details) would take far too much
silicon real estate and drive up the costs of their chips. So some
massive investigations started looking into how to get these extremely
high alias attenuations without using a pile of silicon. The result has
been some very complex digital filters where multiple filter types are
cascaded together. These do their job, they attenuate the aliases but
they seem to have some side affects.

I first noticed this when I started building my own DACs many years ago,
NOS DACs were coming into vouge so I decided to make my own. I was
startled. They sounded way better in many ways than the traditional ones
with the builtin digital filters, BUT they had the aliases which caused
other problems, I like to call this "dirty sound". So there was a
choice, clean, flat univolved sound, or dirty, alive and exciting sound.
Many people that liked the the NOS sound were convinced that digital
filters were evil and should be expunged from all things audiophile. 

This then started one of my infamous journeys of exploration. I'm not
going to go into all the details here, but the upshot is that it's NOT
digital filers per se that are bad, it is those complex digital filters
used in the DAC chips that seem to be the culprit. If the filter
function is implemented by a simple filter (such as the infamous
windowed sinc) you can get the best of both worlds. Note that I really
don't have any idea exactly what it is about these complex digital
filters that humans don't like. I have built a DAC with DAC chips that
don't include digital filters (1704s) and have used an FPGA to implement
simple and complex filters that give roughly the same filter response,
and the simple filter sound vastly better. And I really do mean vastly,
it is NOT something barely distinguishable. Many people are not going to
believe this since they have spent their entire digital audio life
listening to music through these complex filters.  And NOS DACs don't
really count since you are trading off one set of sonic issues for
another. Even the DAC chips with several filter curves don't really help
to hear this since all their filters are done with the complex filters.


So what does upsampling have to do with all this? There are quite a few
programs out there that can implement the interpolation filter using
simple filters, you can either run these real time or upsample the
source files so you don't need to run anything at play time. If you have
a NOS DAC you can use these to really hear what a simple filter can do,
you don't have to choose between the above listed issues. But even if
you don't have a NOS DAC, properly done external upsampling can make a
big difference. Many DACs use simpler filters (or NONE!) for the higher
sample rates so using external upsampling can frequently give you better
sound than filters in the chip. Note this is NOT about the asynchronous
sample rate converter (ASRC) chips used in some boxes, these do their
job using multiple complex filters that are even worse sounding than the
ones in DAC chips. 

Above I talked about different filter curves, they do make a difference,
but the BIG difference is just getting rid of the complex filters, once
you do THAT then you can start playing with the other parameters.
Particularly if you are doing this with a DAC chip that already has a
digital filter (a non NOS DAC) the parameters that give the best sound
are going to be different than those for a different DAC. Since you are
overlaying the upsampling filter on top of the existing filter the
"best" one is going to be different depending on what that original
filter is.  

SoX is a program that does it's upsampling using simple filters AND it
supports many different parameters. SB systems have been including SoX
for quite some time so it seemed like a good choice for doing upsampling
in CSOS. Not only is it good at it, but it has a library that could be
embedded directly into Squeezelite which is what Triode has done.
JackOfAll has implemented a web interface for specifying these
parameters which makes it easy to explore different parameters. 

In the next post I'll cover what some of these parameters are and what I
have found sound good to me with my DACs (which of course may not be the
best for YOUR DAC).   

John S.


------------------------------------------------------------------------
JohnSwenson's Profile: http://forums.slimdevices.com/member.php?userid=5974
View this thread: http://forums.slimdevices.com/showthread.php?t=99088

_______________________________________________
audiophiles mailing list
audiophiles@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/audiophiles

Reply via email to