Filter brewing for the Soekris R2R

Of course filters won't change harmonic spectrum - it's just what I noticed and could be one of the reasons why (to me) bada sounds smoother than dam. Although mp filters can influence H2 amount (raise it) thus making harmonics distribution a bit more "natural".
It's original Alpha; Alpha2 sounds a little bit darker. Indeed this is one of the best DAC's I've heard and that's why I borrowed it ;).
To my suprise, my sabre dac sounds even better (again, to my ears), and DAM is very, very close with a perspective to be even better- absolute "best buy" dac.
 
Disabled Account
Joined 2005
Of course filters won't change harmonic spectrum - it's just what I noticed and could be one of the reasons why (to me) bada sounds smoother than dam. Although mp filters can influence H2 amount (raise it) thus making harmonics distribution a bit more "natural".
It's original Alpha; Alpha2 sounds a little bit darker. Indeed this is one of the best DAC's I've heard and that's why I borrowed it ;).
To my suprise, my sabre dac sounds even better (again, to my ears), and DAM is very, very close with a perspective to be even better- absolute "best buy" dac.

I agree that the difference in harmonic distortion is probably at least part of the reason.

What puzzles me is that after claiming that transition band imaging was responsible for all kinds of evil in the PMD200 patent, the Alpha filter doesn't fully attenuated by 22.05kHz. Maybe things have moved on a bit since 2000.

It's worth having a listen to SoX or Izotope resampling to 352.8k via the DAM as a point of reference if you can do so. If nothing else it gives you an idea of whether the 44.1 filters are getting anywhere close to what the DAM is capable of.

I'm finding it impossible to get even remotely close to the steepness of the Izotope brick wall filters, and to keep the zero's. No idea how Izotope manage it but it's definitely not by using short filters.

I've attached another long/steep experiment. This one didn't suffer the HF flutter on sine sweeps I was hearing on the C960 filters, and seems to be pretty smooth. It needs more tweaking but it sounds ok to me.
 

Attachments

  • 1021filtNQ_C1008_100v8.skr.zip
    4 KB · Views: 69
Last edited:
Comparing some Steely Dan using the latest C1008 filter. While 44k is dynamic and airy, switch to up-sampled 353k and I'm hearing a greater sense of pace and timing. Symbols and drum beats seem faster and more natural, as I'd expect. Over to the Cisco album, and the up-sampled version is much closer. All recording are relatively flat back to front in the soundstage, although one can pretty much see the individual drums on analogue.44k on C1008 is good, I think however, has a little way to go. Not compared the others with analogue, but can do if it helps any?
 
Meant to say, the C1008 and C960 both sound nice, critical listening however, confirms (to me, at least) my analogue set up makes for a good reference. Good fun trying new ideas! Hope my main machine will come back to life tomorrow after a motherboard transplant. Only hope the processor is okay as the cooler managed a tiny leak, enough to get fluid behind the processor. I should be able to have a go at filters myself then, once I worked out how to use the various softwares :)
 
... whereas the bass is controlled with the Izotope SRC. Frustrating!!
Izotope, or computer based SRC in general, have more freedom in data processing and are not necessarily limited to upsampling and applying FIR or IIR filters. So it might not be a fair competition.

As someone mentioned splines, I gave a thought on how to implement them. It would be a short and easy program if you would be free to do what you want. For doing so with FIR/IIR filters I had eventually a look what was already done, and found only something on approximation of cubic splines with these means (in case you want it real time with streamed data).
 
Disabled Account
Joined 2005
Izotope, or computer based SRC in general, have more freedom in data processing and are not necessarily limited to upsampling and applying FIR or IIR filters. So it might not be a fair competition.

I agree it's not especially fair to expect the Dam filters to match what is being done in Izotope.

What I was suggesting is that because things like Izotope are free to optimise all the variables it provides an Ideal (in the Platonic sense) against which to judge. The other issue is that without adjust Izotope parameters it is a comparison of two different filters rather than how well the DAM emulates a particular filter in Izotope.

The splines approach sounds interesting.

FWIW I came across a paper which presented new methods for generating Nyquist filters. Unfortunately the demonstration code was written for Maple and this would mean a Symbolic Math toolbox purchase before I could even start to port the code across.
 
Disabled Account
Joined 2005
Out of interest I deconvolved chirp that had been processed with parameters suggested as a emulation of the Weiss Saracon SRC filter. The resulting impulse was just under 3000 coefficients long.

John Swenson talks about the 2000 coefficient long used in the Bottlehead as being "relatively short".

So we may be losing perspective when we discuss 1000 coefficient filters as being too long...

And does anyone have suggestions on how best to truncate a deconvolved filter?
 
The resulting impulse was just under 3000 coefficients long.

John Swenson talks about the 2000 coefficient long used in the Bottlehead as being "relatively short".

So we may be losing perspective when we discuss 1000 coefficient filters as being too long...

Schiit's closed-form filter has 18000+ taps. Chord claimed 26000 taps in their Hugo.

What are the advantages of long filters? Aren't they losing some of the fidelity of the original signal by gaining rounding errors while processing each successive tap?
 
Disabled Account
Joined 2005
Should have tested this ages ago...

I've been using co-effecients quantised to 28 bits fixed-point in the recent filters mainly so I could get an idea of how the filter would behave in the DAC.

I decided to make two versions of the same filter one quantised in MATLAB, the other quantised using MKROM.exe, and sure enough the 2 .skr had different md5 checksums. The difference between the two was not subtle - the MKROM.exe quantised coefficients sound far more open in the top end and less clouded.

Moral is let the mkrom.exe do the quantisation.

attached is a corrected version of C960_140 for comparative purposes...
 

Attachments

  • 1021filtNQ_C960_140dp.skr.zip
    3.7 KB · Views: 134
Last edited:
Should have tested this ages ago...

I've been using co-effecients quantised to 28 bits fixed-point in the recent filters mainly so I could get an idea of how the filter would behave in the DAC.

I decided to make two versions of the same filter one quantised in MATLAB, the other quantised using MKROM.exe, and sure enough the 2 .skr had different md5 checksums. The difference between the two was not subtle - the MKROM.exe quantised coefficients sound far more open in the top end and less clouded.

MKROM uses 30 bits for the fractional part. And, just in case ... you have to apply the multiplyer before quantising .
 
Disabled Account
Joined 2005
MKROM uses 30 bits for the fractional part. And, just in case ... you have to apply the multiplyer before quantising .

Thanks. Silly mistake on my part.

I'll adjust to 30bits for previewing in MATLAB because that seems to OK. Matlab filter design tool applies the quantisation to the unscaled coefficients at export so I think it's easiest to just let MKROM deal with the scaling and quantisation.

Anyway at least I now know why those filters have been sounding wrong. I should have clicked earlier!!!
I've checked back and it seems the issue only effects the C128 filters onwards. Everything before that is OK.

I'll try to post up a corrected version of the c128_100 at least.
 
corrected C128_100 attached.
Thank you very much, I try to prove today.

How it sounds compared to Izotope? Is near?

TXT and MKROM: pulse normalized to 1 and gain 1, or pulse 0.125 and gain 8.

Have you tried if there is difference? It could be almost one more decimal precision digit (3 bit).

If you put TXT files, I really appreciate it a lot. I make graphics with Excel to see the impulse and help me learn and understand.
 
Like the latest C128_100, although for me the latest C960_140 has the slight edge. It sounds a touch more open and dynamic on my set up. I can see those prefeerring the _100 a little more relaxed and rounded, personal taste. There is so little to chose in the latest batch, your progress Paul has been remarkable! I am now starting to listen for soundstaging as I'm worried the dac is a little less precise than my analogue set up. Will listen and report back.

Am keen to have a go building filters myself, any tips using Matlab for example, much appreciated. Thanks to everyone for your input and guidance!!
 
Disabled Account
Joined 2005
Thank you very much, I try to prove today.

How it sounds compared to Izotope? Is near?

TXT and MKROM: pulse normalized to 1 and gain 1, or pulse 0.125 and gain 8.

Have you tried if there is difference? It could be almost one more decimal precision digit (3 bit).

If you put TXT files, I really appreciate it a lot. I make graphics with Excel to see the impulse and help me learn and understand.

The difference in the TXT file is really just corrected 44.1/48 filters, which are attached. Gain etc is the same.

Haven't done much listening to these corrected filters. Basically just verified that using full precision coefficients made an audible improvement.
 

Attachments

  • C128_100dp.txt
    4.7 KB · Views: 95
  • C960_140dp.txt
    40.9 KB · Views: 102
Disabled Account
Joined 2005
I agree, you could add 3 more bits for previewing in MATLAB due to the multiplier (for the 8-oversampled case).

Actually I just realised that there is an option in the fixed point conversion to scale to use full dynamic range. This seems to normalise the highest value to 1.0 so would make it viable to use quantised coefficients from MATLAB but I'll verify there is anything gained by doing so.
 
Disabled Account
Joined 2005
Attached is my current listening filter.

I've compared it to a set of A+ Izotope settings Superdad posted to computer audiophile in mid-2013. To my ear there isn't much between them, the NQB3 is possibly a little more open in the mid-range, and slightly more "spacious".

Superdad's settings are intermediate phase, so tends to have a very slight "reverb" effect that gives a impression of slightly more "room". Not sure it's necessarily more accurate.
 

Attachments

  • 1021filt_NQB3_bp.skr.zip
    3.7 KB · Views: 79