Upsampling 44.1 -> 48 (or 96) - where to do it?

I'm quite taken by the flexibility of the minidsp Flex models, including the Flex HTx. However I note that the HT and HTx claim to run at 48kHz, and the Flex Eight at 96kHz.
My source material is primarily FLAC files ripped from CD, and is 44.1kHz.

I understand that minidsp products use an ASRC internally to fix sample rates.

I could send audio through HDMI, direct USB, or to the analogue input via a USB DAC.

Assuming I attempt to avoid the ADC in the minidsp (and prefer USB over HDMI for jitter), then:
- should I just send the raw bits and let it do its thing?
- or use a software upsampler in my PC?

Storage is pretty cheap so I guess I could batch convert the files if necessary - so I believe CPU load isn't really a concern.
 
My general, subjective experience has been that integer-n upsampling sounds better. So if your source material is 44.1 kHz I'd upsample to 88.2 kHz or 176.4 kHz. That'll also preserve the original samples as part of the upsampled signal. Are those sample rates options for you?

You could just try upsampling the files to various sample rates and see what you like the best. At least for me, the difference between, say, 88.4 and 96 kHz was pretty obvious with 44.1 kHz source files. As you say, storage is cheap.

Tom
 
  • Like
Reactions: altor
@tomchr:
Are those sample rates options for you?

No, the source material is CD and the internal DSP will run at 48 or 96, as I said.

@jherbert:
It will fiddle with your data anyway

I expect/require it to do DSP, the question is whether I can/should do the sample rate conversion before it goes to the minidsp, using an arbitrarily computationally costly algorithm, rather than the ASRC that is in the minidsp. It would be sad if the data went through the ASRC if I supply it through USB at the core frequency.
 
Unless the design has changed from previous miniDSPs, you can't avoid the ASRC. Even if you send 48 kHz it will still ASRC to 48 kHz based on the local miniDSP clock
That seems truly sad - I'd hoped that it could at least share the clock between the USB and core at that frequency. If its going to ASRC anyway then I guess its interesting (and handy) that the measured SNR is so good. It would be nice to know more about the way the performance is measured though.
 
I was thinking about this some more. Although the ASRC is engaged at all times, you will still get slightly better digital performance if using 96 kHz input. You can see in the AD1896 data sheet (ADSP21489 uses the same ASRC core as AD1896) that performance depends on input and output sample rate.

I don't have a Flex but I do have a 2x4HD which has the same ADSP21489. It also has I2S output so I can send inputs via USB at a variety sample rates and then record the output via I2S at 96 kHz.

96 kHz input, 133.4 dB SNR unweighted

miniDSP 2x4 HD - USB Input - I2S Output - 96 kHz input.png


44.1 kHz input, 126.8 dB SNR unweighted

miniDSP 2x4 HD - USB Input - I2S Output - 44.1 kHz input.png


48 kHz input, 133.1 dB SNR unweighted

miniDSP 2x4 HD - USB Input - I2S Output - 48 kHz input.png


Assuming similar performance on the Flex ASRC, using a 44.1 kHz input would very slightly impact the SNR at the analog output of Flex Eight / HT / HTx, probably 1-2 dB at most.

Michael
 
  • Like
Reactions: jmansion