Jump to content

Upsampling before sending to DAC


Recommended Posts

I know it's been discussed before, but technology does change.  So, this morning, whilst listening to Natalie Cole doing her dad's songs,  I decided to retry a tweak I had tried some time ago.

 

I am running the latest version of moOde on an rPi4  and using a simple but enjoyable Topping D10 DAC.    The music is from a CD, and and is a 44.1kHz and 16bit flac file.      Looking deep in the config, I found the Sox resampler and  turned it on, set to 32 bit, 384 kHz,  multi-threaded.     Pressing "save"  the audio flipped mid-song, to the new settings, with barely a gap,   and with what seemed to be an obvious improvement.     I don't remember the improvement being as obvious last time I tried something like this.

 

Maybe the quality of the software has improved.   Maybe better speakers etc have allowed me to hear the improvement better.    Maybe I am still fooling myself, but I did not have any expectations, I  had no reason to expect it to be either better or the same  as last time it was hard to hear the difference. 

  • Like 2
Link to comment
Share on other sites

If you want any credibility on this topic you will need a arrange DBT to back up those subjective opinions my friend. … 😉 (joke)

 

I look forward to when you have the spare time to come down for a visit and a play with some of the (HiFi) gear I have.

 

cheers,

Terry

Edited by TerryO
Clarification
  • Like 1
Link to comment
Share on other sites
4 minutes ago, TerryO said:

If you want any credibility on this topic you will need a arrange DBT to back up those subjective opinions my friend. … 😉 (joke)

 

Doesn't hurt my objectivist engineer/scientist reputation to admit to these flights of fancy from time to time  :)   

Edited by aussievintage
Link to comment
Share on other sites

Yeah, I agree, sounds different, better 🙂. I use Jriver to upsample all 16 bit and 24 bit FLAC files to 352,800 kHZ  and 384 kHz respectively, before sending it to the DDC. The DAC then over samples the DDC data to 1536KHZ PCM .

 

I have the option for DSD or PCM up/oversampling., but prefer and mostly listen to PCM.

Link to comment
Share on other sites

8 minutes ago, Niktech said:

Yeah, I agree, sounds different, better 🙂. I use Jriver to upsample all 16 bit and 24 bit FLAC files to 352,800 kHZ  and 384 kHz respectively, before sending it to the DDC. The DAC then over samples the DDC data to 1536KHZ PCM .

 

I have the option for DSD or PCM up/oversampling., but prefer and mostly listen to PCM.

 

The notes on moOde/Sox say  Native DSD: If the audio device reports that it supports Native DSD then MPD will send the unaltered DSD bitstream to the device otherwose MPD will perform DSD to PCM on-the-fly conversion.

 

but I don't see any option to change it to DSD from PCM, so I can't try that.

 

The only other option I have chosen is "Very High" quality

 

 

Link to comment
Share on other sites
15 minutes ago, aussievintage said:

 

Yep,  I am happily mangling them into finer, artificially calculated, pieces. :)   I do acknowledge that the DAC was doing this anyway.


Wait till you get some flash aftermarket cables into your system, then you will really notice a difference. … 😉

 

Not to mention a SR fuse or two. … 🙂
 

cheers

Terry

Edited by TerryO
  • Like 1
Link to comment
Share on other sites

1 minute ago, TerryO said:


Wait till you get some flash aftermarket cables into your system, then you will really notice a difference. … 😉

 

cheers

Terry

 

Ha!   I know that's anothe dig at me :) , but I have gone a different way because the main issue early on was to keep digital noise out of my low level phono stuff.    Anyway,  I have a strange experimental combination of cable placement and bundling, and short analogue cables with ferrites on phono, and placing the rPi power supply well away from everything else.    

Link to comment
Share on other sites
1 hour ago, aussievintage said:

 

Yep,  I am happily mangling them into finer, artificially calculated, pieces. :)   I do acknowledge that the DAC was doing this anyway.

No, your DAC was oversampling. You are now upsampling. Different beasts.

Link to comment
Share on other sites
20 hours ago, Ittaku said:

No, your DAC was oversampling. You are now upsampling. Different beasts.

 

 

It was my understanding that most DACs also upsample any input to the max internal working frequency that they use.  This used to be one of the explanations given for doing it yourself before sending it to the DAC sounding better - i.e. that if you did it first  using a better algorithm , it might sound better.   A counter to that was that the internal freq. used in DAC might be even higher than the highest frequency it would accept at the input.     I need to do some more reading on this obviously.

Link to comment
Share on other sites
4 minutes ago, aussievintage said:

It was my understanding that most DACs also upsample any input to the max internal working frequency that they use.  This used to be one of the explanations given for doing it yourself before sending it to the DAC sounding better - i.e. that if you did it first  using a better algorithm , it might sound better.   A counter to that was that the internal freq. used in DAC might be even higher than the highest frequency it would accept at the input.     I need to do some more reading on this obviously.

No, it's very rare for DACs to include upsampling, and they usually advertise when they do, often offering the ability to turn it on and off. Oversampling is a simple "filling in the gaps" of every frame as it comes in, in order to play it back at a higher sample rate, thus making it possible to create steeper filters for the Nyquist frequency cut off. Upsampling has a variable "look ahead" buffer of variable distance which reconstructs the waveform at a higher sample rate and does the filtering at the same time, thus allowing the DAC to either not bother filtering at all, or to be at such a high frequency that it can't affect the audible range. Upsampling comes with a latency cost - the bigger the look ahead, the greater the latency. Oversampling can happen in real time.

  • Like 3
Link to comment
Share on other sites

15 minutes ago, Ittaku said:

No, it's very rare for DACs to include upsampling, and they usually advertise when they do, often offering the ability to turn it on and off. Oversampling is a simple "filling in the gaps" of every frame as it comes in, in order to play it back at a higher sample rate, thus making it possible to create steeper filters for the Nyquist frequency cut off. Upsampling has a variable "look ahead" buffer of variable distance which reconstructs the waveform at a higher sample rate and does the filtering at the same time, thus allowing the DAC to either not bother filtering at all, or to be at such a high frequency that it can't affect the audible range. Upsampling comes with a latency cost - the bigger the look ahead, the greater the latency. Oversampling can happen in real time.

 

 

Well,  that would explain why it can sound  better.  It sounds like the Sox upsampling is doing a better job of construction.  Thanks.  I will continue reading.

Link to comment
Share on other sites

Thanks. Bookmarked. Link to a previous useful thread here, "Extreme filtering upscaling"

 

 

which had this very near the end, so call it a topic of ongoing interest:
 

Quote

 

Case B

Select an album

player plays the upsampled files on the fly

Temporary files are deleted after playing.

 

Time has gone by. Is either use case achievable now here on SNA, please? and under what circumstances?

 

 

  • Like 2
Link to comment
Share on other sites
33 minutes ago, aussievintage said:

Well,  that would explain why it can sound  better.  It sounds like the Sox upsampling is doing a better job of construction.  Thanks.  I will continue reading.

Note that not all upsampling is created equal and the closest we have to a "mathematically perfect" upsampling is a sinc filter of infinite length which is impossible, but sox does a very good approximation at decent length without any fancy tricks like the M-Scaler from Chord does (arguably Sox is better for lacking these tricks.) I modify sox to make the filter much longer but the advantages are minuscule beyond the default sox settings.

  • Like 4
Link to comment
Share on other sites

On 28/11/2021 at 10:08 AM, Ittaku said:

Upsampling has a variable "look ahead" buffer of variable distance which reconstructs the waveform at a higher sample rate and does the filtering at the same time, thus allowing the DAC to either not bother filtering at all, or to be at such a high frequency that it can't affect the audible range. Upsampling comes with a latency cost - the bigger the look ahead, the greater the latency. Oversampling can happen in real time.

 

On 28/11/2021 at 11:03 AM, Ittaku said:

 I modify sox to make the filter much longer but the advantages are minuscule beyond the default sox settings.

 

 

The resampling filter in his DAC is 256 taps long.

 

You can turn it off, and mess with it, etc.... but those capabilities aren't exposed to the user on this DAC.

Edited by davewantsmoore
Link to comment
Share on other sites
On 28/11/21 at 8:03 AM, Ittaku said:

Note that not all upsampling is created equal and the closest we have to a "mathematically perfect" upsampling is a sinc filter of infinite length which is impossible, but sox does a very good approximation at decent length without any fancy tricks like the M-Scaler from Chord does (arguably Sox is better for lacking these tricks.) I modify sox to make the filter much longer but the advantages are minuscule beyond the default sox settings.

HQplayer also has a number of sinc and poly-sinc filters which might be worth exploring to anyone interested in this. TBH though, some of the differences between filters is very subtle and hard to discern, and the sheer number of filters and modulators in the settings have led some users to paralysis by analysis. 

  • Like 1
Link to comment
Share on other sites
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.




×
×
  • Create New...
To Top