Jump to content

Sample Rate Converter for Foobar


Dreadhead

Recommended Posts

Just in case people are interested in having a sample rate converter for Foobar2000 I just found this:

A new resampler DSP for foobar2000 - Hydrogenaudio Forums

I don't think the SRC is going to make my audio sound any different but I have also learned that they can do a lot of damage too. If you don't believe me look at the comparisons here:

SRC Comparisons

The one above is based on the SoX resampler which looks excellent in the test results above and has lots of options about phasing of the impluse response if you buy what Ayre says in that other thread.

I went looking for something that had been measured to settle any misgivings I had about the PPHS resampler. I need to resample because my pro sound card has a physically fixed sample rate (by a switch on the back) and hence I need to resample to 96kHz period.

Link to comment
Share on other sites

Does your pro soundcard have the option for 44.1? Because if that's what most of your source material is in, you might want to leave it set at that except when you want to listen to 96.

Yeah it does. I have a couple high rez things so I just want to leave it so I don't have to change it (I guess I could leave it at 44.1 and I'd likely not hear the difference).

The SoX converter looks good enough that I can just trust it to do its job and leave it at that. The txt document that comes with the SRC is rather informative about the audibility of the SRC to do with phasing on impulse responses. I'll have to futz with that a bit and see if I can pick it out.

In the end my DAC 3 still does it's own thing and resamples the data anyway so this may all be moot :palm:

Link to comment
Share on other sites

Given what you're looking at spending for a source, it may be worth it to have 2 soundcards. One dedicated to 44.1 and one dedicated to 96khz. When you're going to listen to the 96khz source material, use the pro card, the rest of the time, use the other. Just change your input selection on the dac.

Link to comment
Share on other sites

Given what you're looking at spending for a source, it may be worth it to have 2 soundcards. One dedicated to 44.1 and one dedicated to 96khz. When you're going to listen to the 96khz source material, use the pro card, the rest of the time, use the other. Just change your input selection on the dac.

Not quite following why it's worth that trouble at all. For me this would actually be a fairly large PITA but doable since I already have an optical switch leading so I can switch between SACD/CD (through HDFury) or the computer.

My point is that the SoX resampler is good enough that I don't care about it upsampling anyway, downsample is where you have to worry and I'm not doing that.

Link to comment
Share on other sites

The reason I'd do it is to maximize quality while still being relatively simple to switch between. I'm not a big fan of SRC, and I'd want to minimize the number of times it was done.

Ah ok. I'll futz around and see if I can hear any difference with this SRC. If not I'll stick to what I'm doing but I see what you are saying.

Link to comment
Share on other sites

I don't understand the plots on the SRC comparison site, so... is it better than Secret Rabbit Code? I see a lot of lines and stuff with SRC 0.1.2 (the newest available to foobar) but SRC 0.1.3 has a cleaner looking plot than SoX

If you don't like that plot switch to the distortion (1 kHz plots) or any of the others.

SoX in VHQ (very high quality) hands even SRC 0.1.3 a beat down on all settings but in high quality it's not as good. I'm going to stick to linear phase for the SoX too but I will futz with the others.

Link to comment
Share on other sites

The one above is based on the SoX resampler which looks excellent in the test results above and has lots of options about phasing of the impluse response if you buy what Ayre says in that other thread.

Funny, the High Quality setting seems to have a better impulse response than VHQ (if I understand what I think I understand about "ringing").

Link to comment
Share on other sites

Funny, the High Quality setting seems to have a better impulse response than VHQ (if I understand what I think I understand about "ringing").

Yeah I can see what you're saying but my guess is that is because of the aliasing into higher frequencies above 22.05 kHz which is an option that is allowed but off on the VHQ setting runs. It says specifically that allowing the aliasing (i.e that little hook up at the top of sweep plot) will improve the ringing response.

I'm using it to upsample not downsample so I'm less concerned about that one since there is no data to alias.

Link to comment
Share on other sites

I'm using it to upsample not downsample so I'm less concerned about that one since there is no data to alias.

Unfortunately that website only shows the 96kHz to 44.1kHz downsampling, is there anyway to make it show other rates?

Does this plugin used in conjunction with a soundcard that supports the output sampling rate serve the same function as a upsampling chip/function?

Link to comment
Share on other sites

Unfortunately that website only shows the 96kHz to 44.1kHz downsampling, is there anyway to make it show other rates?

Does this plugin used in conjunction with a soundcard that supports the output sampling rate serve the same function as a upsampling chip/function?

I don't think there is any other data on that website because upsampling does not really effect the audible band unless it's done horribly. On the other hand the downsampling can make a big difference (eg look at SRC0.1.2 (linear)).

As far as being the same as the chip function I would in general say no but I'm not sure really it depends how the chip does their upsampling. eg Wadia has a couple special schemes for theirs. I don't really know. I know that my DAC3 currently is recieving 94 but upsamples everything to 192 at (or before) the DAC.

Link to comment
Share on other sites

As far as being the same as the chip function I would in general say no but I'm not sure really it depends how the chip does their upsampling. eg Wadia has a couple special schemes for theirs. I don't really know. I know that my DAC3 currently is recieving 94 but upsamples everything to 192 at (or before) the DAC.

I'm not too clear on this, but I read somewhere that the upsampling chip typically just adds in 8 extra bits of random data (for 16bit -> 24bit). Assuming this is true, this is why I thought it would be no different from using the DSP.

I guess Wadia has some better algorithm than random?

Link to comment
Share on other sites

I'm not sure it's a good idea to separate out sample rate and bit depth. Typically, there are two things that go on -- I call them oversampling and upsampling. Oversampling is what has been going on for years -- they increase the sample rate, put zeroes in for the soon-to-be interpolated sample slices that don't exist yet, then run it through a digital filter and let that hash it all out, usually at the DAC level. Upsampling (a word some people use to describe oversampling, but which I consider fundamentally different) is raising both the sample rate and the bit depth at the same time (E.G. from 16/44.1 to 24/96), and interpolating the values in between. There are a myriad ways to do this, and the higher end companies (E.G. Wadia, Pacific Microsonics, et al) have proprietary algorithms that are considered by some to be better than others.

If these "people", when they talk about the "chip", are referring to the DAC, then not only are they (the inbetweeny bits) not random, they're zero (which strikes me as counterintuitive)...that is, until they're run through a digital filter which does the interpolation indirectly (typically, the in-chip DSP algorithm is just a smoothing algorithm, not an explicit interpolation algorithm). But that's not upsampling (in the sense that I use it), that's oversampling.

Link to comment
Share on other sites

If these "people", when they talk about the "chip", are referring to the DAC, then not only are they (the inbetweeny bits) not random, they're zero (which strikes me as counterintuitive)...that is, until they're run through a digital filter which does the interpolation indirectly (typically, the in-chip DSP algorithm is just a smoothing algorithm, not an explicit interpolation algorithm). But that's not upsampling (in the sense that I use it), that's oversampling.

This is accurate. Usually zero is used. But you don't have to use zero, you can use any random number and you actually get the same result post-filter. One of the nifty counterintuitive results of digital signal processing.

The main reason DACs use ASRC these days though is not for the fancy filtering, but to control jitter. That's the asynchronous part of "ASRC". Foobar resampling doesn't do this (it's synchronous resampling), but it doesn't need to either. To be useful for jitter control, ASRC must be done by the receiver.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.