• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Is it necessary to AUTOMATICALLY change the convolution filters in accordance with the changes in the sample rate of the reproduced material?

Is it important to have an AUTOMATIC change of the convolution file?

  • I don't listen to mixes or playlists - it's not tedious to change the filter when changing an album!

    Votes: 0 0.0%

  • Total voters
    11
For your opinion, is it necessary to have the AUTOMATICALLY changing of the convolution filters in accordance with the changes in the sample rate of the reproduced material?


@digitalfrost @Soniclife @somebodyelse @terryforsythe
Depends what's doing the convolution. I use roon, it adapts if it has to.

If you are using REW to create them it will generate a whole bunch of different sample rate files in a single zip.
 
It depends on the processing chain (sample rate conversion or not), and exactly what you mean by 'convolution filter' - frequency response, set of coefficients for one sample rate, or multiple sets covering different frequencies? Once we know enough detail to answer, it won't be an opinion.
 
At the nitty-gritty programming level the sample rate is a required part of the processing. Digitized audio is just a sequence of amplitude samples and if you don't know the sample rate you can't know the audio frequencies and a filtering algorithm is useless..

If you aren't writing the code yourself, I'd assume that's all taken care of and you just have to enter the desired filter parameters.
 
It depends on the processing chain (sample rate conversion or not), and exactly what you mean by 'convolution filter' - frequency response, set of coefficients for one sample rate, or multiple sets covering different frequencies? Once we know enough detail to answer, it won't be an opinion.

x2

IMO there are two acceptable options.

1) Resample all input sample rates to match the filter sample rate
2) Automatically switch to a filter designed for the input sample rate

Either way it should be automatic. Manually changing filters or restarting a DSP program to match the file sample rate isn't a good solution.

Michael
 
Filters only work for the sample rate they were designed for. This is true for both FIR filters and IIR filters. You can not take a 48kHz filter and run it at 96kHz, you would get frequency shifts. So it is as mdsimon says.
 
, or multiple sets covering different frequencies? Once we know enough detail to answer, it won't be an opinion.
I would be glad to solve all the problems related to frequency change with ONE (SET) of filters. Of the known and WORKING DSPs for Windows and Android (i.e. ONLY EAPO) cannot use one COMPREHENSIVE filter - and this is without mentioning that REW does not (?) create one (complex) filter.
 
I would be glad to solve all the problems related to frequency change with ONE (SET) of filters. Of the known and WORKING DSPs for Windows and Android (i.e. ONLY EAPO) cannot use one COMPREHENSIVE filter - and this is without mentioning that REW does not (?) create one (complex) filter.

I don't use EqAPO so I don't know what filters it needs. But REW can certainly create filters in any sampling rate that you want. Here is an example of me exporting a FIR filter:

1745552801184.png


Note that I have input the relevant settings:
- Mono .WAV
- "Export measured IR" = "don't mess with the curve I created!"
- Normalise sample to peak value. Because I haven't adjusted the volume in the filter yet, I want this filter to be normalised.
- Place t=0 at sample index 32768: You have to manually place the impulse peak in the middle of the filter length
- Export this sample count: 64k. I chose 65536 taps
- Sample rates: tick all the sample rates you want REW to create.
 
Filters needs to match the file being played back. In foobar2000 I resample everything ( up or down) to 96 Khz using a resampler plug in and then use 96 Khz filters for convolution. I have played around with JRiver and it has some automatic filter rate features as do some other players. One way or another you need to match the filter to the file you are playing back.
 
Filters needs to match the file being played back. In foobar2000 I resample everything ( up or down) to 96 Khz using a resampler plug in and then use 96 Khz filters for convolution. I have played around with JRiver and it has some automatic filter rate features as do some other players. One way or another you need to match the filter to the file you are playing back.
Unfortunately I streaming from TIDAL .
 
How much quality loss will I get by FIXING the frequency of the DAC to avoid having to change convolution filters with TIDAL streaming? What will I lose by fixing the frequency at 44 and listening to 192? Or vice versa - 192 for a 44 track?
What DAC frequency will be the least destructive when using a single convolution filter at that frequency for all audio track frequencies (44, 48, 88, 96, 176, 192)?
What is more efficient - running a single convolution filter for audio at all frequencies, or running a single PEQ providing +-1 dB deviation from target?
 
Usually processing all at 96 KHz for FIR is fine and you do it that high to get latency down. Do conversion in FP to avoid biasing and it will be fine.
 
FIR is fine ... Do conversion in FP
Thanks! Where can I read how to do FIR (and what is - FP)?
By the way, everyone is talking about the IIR - but I'm a Dummy and I can't choose...
Edit: if use of Hight is preferred, then 192 is better than 96?
EDIT: Do you need latency reduction for watching movies and playing games? Maybe for TIDAL (music only) it is better to use not 96 - and if so, which one?
 
Last edited:
Floating Point precision all DSP-ing and then back to 24 bit 96 KHz for output. IIR are PEQ's. You want to do convolution in what? There are a lot of convolver VTS plugins including good free one's. In order for FIR to work you need to have good menagable room response in uper mids and highs and you use it for impulse alignment and full range correction, it's tap based so it won't be pin point accurate in lows but for future focusing highs better dosent exist. You can combine both and min/pass phase and mess with the phase later as much as you wish. Will work with any player supporting multiple simultaneous VTS. On Windowsa use of WDM is hack to get everything to go trough processing chain (EQ-APO, JRiver...).
Edit: I use MConvolutionEZ (free in big pack along with rephase) which uses flac (bake WAV and convert it to flac) as JRiver build in one isn't great regarding latency.
 
Unfortunately I streaming from TIDAL .

Same same ... I use Tidal desktop app, configure Tidal to High format (16b 44.1ksps), pump the Tidal stream via VB-Cable into foobar2000 (foo_record).

Inside foobar2000, I resample everything to 88.2ksps, then pump it through convolution engine (foo_dsp_convolver) running my self designed FIR filter (for room correction + crossover + time alignment).

ps: Designing your own FIR filter is not easy, but worth learning how to do it.

pps: Why I chose 88.2ksps? Because 95% of my local content is 44.1ksps, therefore I prefer to resample to an integer multiple of it.

.
 
In order for FIR to work you need to have good menagable room response in uper mids and highs


I use TIDAL (streaming service). Yesterday I deleted JRiver because it doesn't support 192, which is a lot in Tidal's classic albums. I don't watch movies - in this case, do I need to take care of reducing latency?

I'm not sure if I understood what I quoted correctly, but I have a PEQ*39 bands, which gives a 1 dB deviation from the target from 20 to 16k. Is this enough to do something that I completely misunderstood from what is written in the continuation of the quoted words?

If you fix the frequency of the DAC, then what frequency should you choose to ensure the least harm due to resampling (judging by everything I've heard in different places, I'm not interested in latency)?
 
configure Tidal to High format (16b 44.1ksps)
So, you have not access to 192/96 albums?

Inside foobar2000, I resample everything to 88.2ksps
If you weren't "tied" to your local 88kHz files, what frequency would you choose to reduce the harm of music resampling? How great is this harm?

Designing your own FIR filter is not easy, but worth learning how to do it.
Where can I learn this?
PS. I made a PEQ of 39 bands, which gives a deviation of less than 1 dB from the target from 20 to 16k - can such a PEQ be used without other improvements?

EDIT: why foobar2000 and not the Equalizer APO (EAPO)?
 
I use TIDAL (streaming service). Yesterday I deleted JRiver because it doesn't support 192, which is a lot in Tidal's classic albums. I don't watch movies - in this case, do I need to take care of reducing latency?

1745583209720.png


Who says it does not support 192kHz? This is an old version of JRiver (MC31).

Also, why is 192kHz so important?
 
So, you have not access to 192/96 albums?

My subscription has access to MAX format (192/96) but I don't use it because to pump a stream from Tidal into foobar, the format must be fixed.
For Tidal, the lowest common denominator I could find is 16b/44ksps.

If you weren't "tied" to your local 88kHz files, what frequency would you choose to reduce the harm of music resampling?

It'll be 44.1ksps because
  1. 95% of my local content is 44.1ksps, and
  2. majority of Tidal content is also 44.1ksps.

How great is this harm?

Whatever "harm" comes from resampling is inaudible to me.

Where can I learn this?

Oof ... I don't have a list.
Generally search Youtube, ASR forum, Google, ask ChatGPT/DeepSeek.
For example, Youtube video 5YcH7j2-L1Y
One of the easiest way to generate a PEQ only FIR filter is to use REW or rePhase to generate it.


PS. I made a PEQ of 39 bands, which gives a deviation of less than 1 dB from the target from 20 to 16k - can such a PEQ be used without other improvements?

Erm ... this one I cannot help. 39 bands is so many. I just checked REW is limited to only 20 PEQ.

EDIT: why foobar2000 and not the Equalizer APO (EAPO)?

Because I do not need to EQ all the Windows stuff like youtube videos, browser audio. My Windows desktop audio is connected to a lousy speaker.

For HiFi, I have foobar talking direct to my DAC/HiFi speakers using ASIO/WASAPI.
Therefore, I only need to EQ/DSP what foobar is playing ... that is why I use foobar components instead of APO.


.
 
Same same ... I use Tidal desktop app, configure Tidal to High format (16b 44.1ksps), pump the Tidal stream via VB-Cable into foobar2000 (foo_record).

Inside foobar2000, I resample everything to 88.2ksps, then pump it through convolution engine (foo_dsp_convolver) running my self designed FIR filter (for room correction + crossover + time alignment).

ps: Designing your own FIR filter is not easy, but worth learning how to do it.

pps: Why I chose 88.2ksps? Because 95% of my local content is 44.1ksps, therefore I prefer to resample to an integer multiple of it.

.
Flipping impulse response ain't hard, what you would or could consider as convolution is another thing. You can sum (literally) all up to one convolution in the end. Integer doesn't pay the role when you use FP, it's rounded back up to what integer word DAC understands and 32 bit can be useful regarding volume controls.
It's a bit dizzy one... Don't do deeps more than -2 dB (same as PEQ's)!
 
Back
Top Bottom