Filter brewing for the Soekris R2R

Impulse .wav attached.

1. The blue line is the impulse waveform as plotted by RX. The spectrogram is at the same zoom level and position.
2. FIR1+FIR2
3. ok had a second to do... after all.
C128 and NOS with rectangle window and 176.4kHz, but a bit like walking back 25m and saying "It's OK, I can't see your wrinkles in the photo now..."

The easiest to understand ist NOS with rectangular window.
You slide your rectangular window in direction to the NOS impulse response (which is a 64 sample rectangle) As long they do not overlap you have the zero signal analyzed (all black vertical line at this time).

First contact: under your window you see all zeros and one sample FS. That is an rectangular pulse of duration 1/(64*44100), the frequency response is the sinc function for fs=64*44100. Which is next to FS flat in he 172 kHz range, you get a bright line.

Next step: under your window you see all zeros and two sample FS, you get the sinc function for fs=32*44100, still a bright line.

And so on.. your rectangular pulse under the window gets wider you start to se sinc effects in the 172 range until finally the whole 64-pulse is under the window and you get as vertical line at that is the sinc function for 44.1kHz with its zeros at multiples of that frequency.


With the Kaiser window you see first, that the spectrogram is much wider than the NOS pulse, meaning that the Kaiser Window is chosen much broader than the NOS.
If you imagine now sliding the Kaiser window over NOS, you see first the foot of the Kaiser window, then some (64 sample) part of the window next to the foot until you reach the center of the Kaiser window. These all are, in first approximation, rectangular 64-sample pulses, attenuated. You will see in the spectrogram, more or less, the sinc function for 44.1kHz with some attenuation (which is the correct thing). Except for the very beginning or end, which however is massively attenuated by the Kaiser window.
The width of the beam is from the width of the Window and not a property of NOS.

In general the with is with of the impulse + width of the window-1.
 
Disabled Account
Joined 2005
All very good. What I was getting at was if the windowing process does not cause a spread at say 15kHz with the NOS filter and rectangle windowing, but does with an impulse with pre/post ringing then the spread/smear must be related in someway to the ringing. In other words I'm assuming the distortions in the cheb128 spectrogram around the filter corner frequency for example are not simply anomalies from windowing process.
 
Last edited:
All very good. What I was getting at was if the windowing process does not cause a spread at say 15kHz with the NOS filter and rectangle windowing, but does with an impulse with pre/post ringing then the spread/smear must be related in someway to the ringing. In other words I'm assuming the distortions in the cheb128 spectrogram around the filter corner frequency for example are not simply anomalies from windowing process.

I would say you can put it like that.
You should always compare to NOS with the same window (cheb128 with rectangular, NOS with rectangular or cheb128 with Kaiser and NOS with Kaiser).
The NOS graph shows normal effect the entering (and exiting) of the windowing process. The only thing that is NOS specific ist the slight attenuation of the upper frequencies (if you restrict to the audio band).

With windows having a wide main lobe you average a lot, thus you get only information when entering or exiting to something new and somehow smear in-between. But for your shape determining purpose this is probably OK.

A problem could be if Izotope tries to be too inteligent, and does differnt things for different impulses.
 
Disabled Account
Joined 2005
I would say you can put it like that.
You should always compare to NOS with the same window (cheb128 with rectangular, NOS with rectangular or cheb128 with Kaiser and NOS with Kaiser).
The NOS graph shows normal effect the entering (and exiting) of the windowing process. The only thing that is NOS specific ist the slight attenuation of the upper frequencies (if you restrict to the audio band).

With windows having a wide main lobe you average a lot, thus you get only information when entering or exiting to something new and somehow smear in-between. But for your shape determining purpose this is probably OK.

A problem could be if Izotope tries to be too inteligent, and does differnt things for different impulses.

After having a play around with the conventional STFT settings it looks like the smear as per the diagrams is happening at specific settings with relatively large FFT sizes. Given the impulse is around 1000 samples long, even the minimum FFT size of 32 is fairly wide.

Using rectangle window at 32 (31 slices) the ripples of the impulse are distinct and separate. Going to 64 (15 slices) causes them to blur and the spectrogram is displayed as an even gradation from -80dB to 0dB at the central peak. Increasing the FFT size to 124 (8 slices), 256 (4 slices), 512 (2 slices) just speaks the window over wider blocks of the impulse and blurs the spectrogram further.

It seems those spread in the Auto STFT is similar (but no identical) in nature to a Hann, Hamming, or Bartlett window at FFT size of 256 with a time overlap of x4.

I suspect it might be an interaction between the smoothing of the window and the slight reduction in amplitude of the roll off of the frequency response or something similar. Have to do some more work on this, but at the moment it would seem at best this reflects very low levels of filter roll-off.
 
After having a play around with the conventional STFT settings it looks like the smear as per the diagrams is happening at specific settings with relatively large FFT sizes. Given the impulse is around 1000 samples long, even the minimum FFT size of 32 is fairly wide.

Using rectangle window at 32 (31 slices) the ripples of the impulse are distinct and separate. Going to 64 (15 slices) causes them to blur and the spectrogram is displayed as an even gradation from -80dB to 0dB at the central peak. Increasing the FFT size to 124 (8 slices), 256 (4 slices), 512 (2 slices) just speaks the window over wider blocks of the impulse and blurs the spectrogram further.

It seems those spread in the Auto STFT is similar (but no identical) in nature to a Hann, Hamming, or Bartlett window at FFT size of 256 with a time overlap of x4.

I suspect it might be an interaction between the smoothing of the window and the slight reduction in amplitude of the roll off of the frequency response or something similar. Have to do some more work on this, but at the moment it would seem at best this reflects very low levels of filter roll-off.

It should not harm if the slices overlap. Is this not available as optional stting?
 
Disabled Account
Joined 2005
Yes it is optional. Not saying it is harmful to use overlap as I know this can help - rect window and fft size 128 with overlap x64 has same level of blurring as rect window with fft size 32 and no overlap.

More that the effect only occurs at a narrow range of settings.
 
Disabled Account
Joined 2005
Less flippantly...

There are two things that are called "time smear". The common one is related to phase distortion or group delay which alters the arrival time of the sound based on frequency. Linear Phase fir filters do not have phase distortion in the pass band.

The other type is Pflaumers concept of time smear which as far as I can work out is a time distortion caused by the filter kernel. This is not phase distortion because his discussion is related to time smear which is literally as smearing of the signal in the digital domain. I'd point out that all the discussion thus far on time distortion has been looking at Time/Frequency Domain representations, not phase plots.

TBH I can't actually work out if his method can be done in a single step. The patent talks about applying a filter to 1xFs data then another filter during upsampling and a possibly a third post upsampling to achieve the result.

I did a test filter based on the patent to try and see if I could get close, but it rings to infinity and sounds overly bright.

Anyway it's probably a good idea if links to this thread are not posted in the vendor thread unless someone specifically asks about filters for the dam.
 
Last edited:
Disabled Account
Joined 2005
Is anyone having issues with the C128 filters on quiet recordings?

I stuck on a rip that is fairly quite and the bass was completely out of proportion with the rest of track. It might be the production because other tracks sound ok, but they aren't as bass oriented...

The track in question is "Message Important" from Cypher 7's Security

Other stuff on the CD is lighter and sounds fine for e.g...
https://www.youtube.com/watch?v=Gh5HXaMgBb0

Might just be the recording?
 
Yes it is optional. Not saying it is harmful to use overlap as I know this can help - rect window and fft size 128 with overlap x64 has same level of blurring as rect window with fft size 32 and no overlap.

More that the effect only occurs at a narrow range of settings.

As far as I understand it (I am not yet 100% sure about it):
Short fft size gives you poor resolution frequency wise.
e.g. 32 gives you 16 (exact) samples in the frequency domain spread in the range up to fs/2 . Everything you see more than that on your graph is just a interpolated value, e.g. if something happens there in real you will not see it.
On the other hand short fft size gives you more accurate information at which time something happens. Overlapping slices might help a bit, but not really as the real problem is that the location in times is averaged out in longer ffts.
You have to decide what is more important you can not have both perfect.
 
Short update on how I hear the new filter.
128_100 sounds most natural to my ears so far. The IPv4 _30 sounds a little plastic in the treble compared to the new one and the bass seems to gel with the other frequencies a little better, too.
Heard while listening to some Enrico Rava (ECM records). What a nice dac we have here and I am still with the AC power supply.
 
I agree. For me, the top two filters are 128_100 and NewNOS. they are quite similar to each other. NewNOS seems to sound a little thicker. 128_100 cleaner. But I am just not sure which one is more accurate. Is the thicker sound from NewNOS an artifact of the aliases? Wish there's a way to figure out.
 
Disabled Account
Joined 2005
Youtube not only compresses the audio bitrate, also processes and compresses audio dynamics. Especially bad in treble and bass. Don´t use Youtube music to evaluate a DAC.

https://productforums.google.com/forum/?hl=en#!category-topic/youtube/archive/JzPf2jw9wQg

Best quality you are likely to get is 192kbs AAC if you chose 720HD "videos".
At the default resolution it's more likely to be 128kbs AAC.

see:
YouTube Audio Quality Bitrate Used For 360p, 480p, 720p, 1080p, 1440p, & Up : H3XED