INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: How to downsample DSD to PCM  (Read 6194 times)

Ki Choi

  • Recent member
  • *
  • Posts: 18
How to downsample DSD to PCM
« on: February 09, 2018, 03:00:04 pm »

Hi
This question must have come up before but my search didn't come up with answers.

I have the latest MC23/64 and have many DSD, 2xDSD, and 4XDSD files on NAS.  My second system has a preamp with 24/96 built-in DAC that works well in upsampling all PCM files less than 24/96 rate and downsampling all the PCM files a higher sampling rate with the SoX checked in the setup.

Can someone show me the MC23 configuration steps that will enable me to downsample all the DSD files into 24/96 PCM?

If the answer was given elsewhere then my apologies but please point me to the thread.

Thanks,
Ki
Logged

dtc

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3115
Re: How to downsample DSD to PCM
« Reply #1 on: February 09, 2018, 04:01:20 pm »

In Audio, make sure Sox is checked.

See explanation below on the low pass filter. You may want to change that before actually converting.

Select the file(s) to convert  - try a few at first to test

Right click and select Library Tools and Convert Format

Select the output format - e.g. FLAC

Click on Options

Set Destination and Mode appropriately  : Note, if you add them to the library you are going to have 2 entries for each album, with different formats.

Check Apply DSP and click on dsp settings...

Check Output Format and click on it

Set >768K, 352K, 176KHz to 96 KHz  - explanation below

Make sure Output Channels is set to Source Number of Channels

Return to Audio Conversion Options

Set Bitdepth to Automatic or 24 bit

Hit OK

Hit Convert

There are a couple of things to note.


MC converts DSD files to PCM at 1/8 the original sample rate. So, 2.822 MHz goes to 352 Khz, 5.6 MHz goes to 705 KHz. Therefore, you need to put downsample rates (96 KHz in your case)  in the 352KHz, 705 KHz and >768 KHz conversion lines.


When converting to PCM a lot of high frequency noise is filtered out. MC has a default low pass filter that filters that noise out. It is a 24 Khz filter with a 48dB/octave slope. That is an effective but conservative filter. There are other options, but they have a lower slope which can let high frequency noise through.  If you want to use the default, then you do not have to do anything.

To change the filter go to Tools - Options - Audio - Advanced - configure input plugins  and select DSD

You will see the filter options. You can select the one you want or you can turn off the filter and set one in the dsp settings.

While there, you should probably check the box to increase the volume by +6dB. SACDs normally have a lower volume that PCM files.

To set your own filter, go back to the convert options and select dsp settings.

Select Parametric Equalizer, Add a New Low Pass Filter and add a starting point (say 50 Khz) and a slope (say 48dB/octave). Those correspond to the original Sony/Philips filters on SACD players.


I think I got everything, but that should get you pretty close. Any questions, just ask.











Logged

Fitzcaraldo215

  • World Citizen
  • ***
  • Posts: 217
Re: How to downsample DSD to PCM
« Reply #2 on: February 10, 2018, 12:12:27 pm »

I have many DSFs, mostly in DSD64, but also some 128 and 256.  I am perfectly happy with JRiver converting them on the fly rather than taking the time and space to convert to PCM files.  I find no sonic advantage to pre converting the files to PCM.  Computer resources used for the conversion are minimal and do not trouble my system.

On the fly conversion to PCM is automatic as long as the sampling rate conversion table in DSP Studio is set up correctly and you have not chosen bitstreaming for the output.  JR internally converts DSD64 to 352.8K PCM, 128 to twice that, 256 to 4x that.  Then, using SoX, the PCM conversion table downconverts 352.8k, or double or 4x that, to whatever resolution you specify in the table.

I use 176k PCM output, since my Dirac Live EQ's limit is 192k.  But, you can use 96k or 88k just as easily.

Note that if something changes in my system, I can just redo the conversion table for a different playback resolution without generating new files.  Or, since my DAC also supports up to DSD256, I can bitstream the output in native DSD from the same file.
Logged

dtc

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3115
Re: How to downsample DSD to PCM
« Reply #3 on: February 10, 2018, 12:43:27 pm »

Agree. If you can down sample on the fly, that is a good way to go. The issues becomes accessibility of the files, network speed and computer speed.  If the second system does not have access to the NAS, then converting to new files is the way to go.

If you convert on the fly, the dsp studio steps I described are basically the same. You just do them in Audio rather than in the convert dialog.
Logged

Mark_Chat

  • Recent member
  • *
  • Posts: 43
Re: How to downsample DSD to PCM
« Reply #4 on: February 14, 2018, 08:51:13 am »

I use 176k PCM output, since my Dirac Live EQ's limit is 192k.  But, you can use 96k or 88k just as easily.
In this case you should definitely use Media Center to down-convert DSD directly to 192kHz!

If you use MC to convert to 176.4kHz (Which mathematically is the more correct conversion as a direct multiple of 0.5x352.8kHz and better for those without ARC or Dirac or other auto room correction as long as their Processor/DAC handles 176.4kHz natively), then the Dirac processor will re-sample this by interpolation back up to 192kHz as this is the single and sole rate it works at. (Or, in my case, with an Emotiva XMC-1 processor, my Dirac Live only works at 96kHz  :( )

This will mean you have two sequential lossy conversions and provide a worse approximation of the DSD than a single conversion to 192kHz by MC.

Irrespective of whether you have an Emotiva or Arcam processor, HTPC with Dirac software or a miniDSP as your Dirac Live device, Dirac Live does not work at multiple internal rates depending on whether the source is 44.1, 48, 88.2, 96kHz etc. It requires a 192kHz (or 96!) ADC / resampler for all inputs so that internally it will always function at 192kHz (Or 96kHz!)
Logged

kr4

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 740
Re: How to downsample DSD to PCM
« Reply #5 on: February 14, 2018, 03:07:08 pm »

In this case you should definitely use Media Center to down-convert DSD directly to 192kHz!

If you use MC to convert to 176.4kHz (Which mathematically is the more correct conversion as a direct multiple of 0.5x352.8kHz and better for those without ARC or Dirac or other auto room correction as long as their Processor/DAC handles 176.4kHz natively), then the Dirac processor will re-sample this by interpolation back up to 192kHz as this is the single and sole rate it works at. (Or, in my case, with an Emotiva XMC-1 processor, my Dirac Live only works at 96kHz  :( )
That may be for the implementation in the Emotiva but more than likely not in the case of the full DL Suite.  It generates filters/plug-ins for as many sample rates as you choose.

Quote
This will mean you have two sequential lossy conversions and provide a worse approximation of the DSD than a single conversion to 192kHz by MC.
If what you say is true, you should say that there are three "sequential lossy conversions" since each of the filters/plugins also outputs the same sample rate that it receives.

Quote
Irrespective of whether you have an Emotiva or Arcam processor, HTPC with Dirac software or a miniDSP as your Dirac Live device, Dirac Live does not work at multiple internal rates depending on whether the source is 44.1, 48, 88.2, 96kHz etc. It requires a 192kHz (or 96!) ADC / resampler for all inputs so that internally it will always function at 192kHz (Or 96kHz!)
Where did you find the info you offered?
Logged
Kal Rubinson
"Music in the Round"
Senior Contributing Editor, Stereophile

Mark_Chat

  • Recent member
  • *
  • Posts: 43
Re: How to downsample DSD to PCM
« Reply #6 on: February 15, 2018, 12:46:28 am »

Where did you find the info you offered?

The Emotiva forums - they are usually invaluable because the developers and lead designer (Keith) frequents calls in to post, and in the case of Dirac Live, when it was first released for the XMC-1, one of the Dirac Live engineers (Flavio) was on hand and repeatedly posted to clarify parts of how it works.

I'll see if I can find the relevant posts, but I'm certain I'm right: When you calibrate Dirac live, part of the deal is that your room measurements are sent to the Dirac servers where they calculate the required filters for your system and they are sent back to you and uploaded into your processor for you.  There is just one set of filters that will digitally shape any audio you input, but it is resampled first to the correct frequency.

Even the Dirac website is quite specific (and quite clever in it's use of grammar(!) for the PC software suite that costs 650 Euro for one license:
Dirac’s digital room correction software supports up to 24-bit resolution at 192 kHz sample rate

Up to 24 bit means 8, 10, 16, 20 24 and other bit depths (which can easily be padded losslessly up to 24) but at 192 kHz is exactly that.

And you are correct about a higher number of digital manipulations than the two I specified - even the final digital volume control has to approximate the 0's and 1's when it attenuates. However, resampling is the most error prone of these as down-sampling throws away information and upsampling interpolates to make up new approximate information, and both of these are worse with "messy" calculations such as 352.8 down to 192kHz or 176 back up to 192kHz for example where almost 10% of the bits have to be generated by interpolation
Logged

kr4

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 740
Re: How to downsample DSD to PCM
« Reply #7 on: February 15, 2018, 09:04:07 am »

Dirac’s digital room correction software supports up to 24-bit resolution at 192 kHz sample rate

Up to 24 bit means 8, 10, 16, 20 24 and other bit depths (which can easily be padded losslessly up to 24) but at 192 kHz is exactly that.
You can parse the phrase as you do but it can be parsed, just as likely, as meaning up to "24bit @ 192kHz" which is the more common usage.  I do not see that the word "only" before "at 192" is implied.  Is there some place where this is explicitely defined?
Logged
Kal Rubinson
"Music in the Round"
Senior Contributing Editor, Stereophile

Fitzcaraldo215

  • World Citizen
  • ***
  • Posts: 217
Re: How to downsample DSD to PCM
« Reply #8 on: February 16, 2018, 01:15:46 pm »

The Emotiva forums - they are usually invaluable because the developers and lead designer (Keith) frequents calls in to post, and in the case of Dirac Live, when it was first released for the XMC-1, one of the Dirac Live engineers (Flavio) was on hand and repeatedly posted to clarify parts of how it works.

I'll see if I can find the relevant posts, but I'm certain I'm right: When you calibrate Dirac live, part of the deal is that your room measurements are sent to the Dirac servers where they calculate the required filters for your system and they are sent back to you and uploaded into your processor for you.  There is just one set of filters that will digitally shape any audio you input, but it is resampled first to the correct frequency.

Even the Dirac website is quite specific (and quite clever in it's use of grammar(!) for the PC software suite that costs 650 Euro for one license:
Dirac’s digital room correction software supports up to 24-bit resolution at 192 kHz sample rate

Up to 24 bit means 8, 10, 16, 20 24 and other bit depths (which can easily be padded losslessly up to 24) but at 192 kHz is exactly that.

And you are correct about a higher number of digital manipulations than the two I specified - even the final digital volume control has to approximate the 0's and 1's when it attenuates. However, resampling is the most error prone of these as down-sampling throws away information and upsampling interpolates to make up new approximate information, and both of these are worse with "messy" calculations such as 352.8 down to 192kHz or 176 back up to 192kHz for example where almost 10% of the bits have to be generated by interpolation

As a long term user of PC Dirac Live, I share Kal's skepticism on this.  First, I believe there are likely significant sampling rate differences between PC Dirac and other versions running on more limited hardware platforms, such as Mch processors.  I thought, for example, that Emotiva was limited to 48k, whereas Arcam used a 96k limit.  Datasat's upper limit may be higher.  The issues you describe may pertain to Emotiva, but not necessarily to PC Dirac.

I was not aware that PC Dirac needed to "phone home" for anything other than authentication.  I believe the filters are computed internally by the PC with the PC version, not by Dirac's servers.  Use of their servers involves a fair bit of data back and forth.  But, I could be wrong about all this.

Also, I do not see why PC software, unlike more limited processor hardware, should possibly need to be constrained to operate at only one internal sampling rate, involving extra input/output rate conversions in the process. It is possible, but I think it unlikely.

I think further confirmation would be in order for those interested, but in the mean time PC Dirac works excellently for me.



Logged

Mark_Chat

  • Recent member
  • *
  • Posts: 43
Re: How to downsample DSD to PCM
« Reply #9 on: February 16, 2018, 02:54:49 pm »

Hmm... it's good and bad news I'm afraid - good in that it seems that the PC version of Dirac Live can calculate filters for any frequency rate up to 192kHz

The not so convenient news is that you have to have a different filter set for each frequency that you pass to it to avoid up / down-sampling.

The bottom post from Flavio, confirmed to work for Dirac, points this out.
One of the advantages of the PC based Dirac is that you can have multiple filter sets and swap them in or out - e.g. a specific one for stereo, one for surround movies, one for surround movies with a larger "sweet spot" etc depending how you measure the in-room audio response and what target curve you select.

I downloaded the trial version of Dirac live and there is no way to have an "auto-select" that will link in to JRiver MC so the the 176.4kHz filters are selected when you play 176.4kHz audio

http://emotivalounge.proboards.com/thread/45548/xmc-1-dirac-pc-version

Logged

Fitzcaraldo215

  • World Citizen
  • ***
  • Posts: 217
Re: How to downsample DSD to PCM
« Reply #10 on: February 16, 2018, 03:47:49 pm »

Hmm... it's good and bad news I'm afraid - good in that it seems that the PC version of Dirac Live can calculate filters for any frequency rate up to 192kHz

The not so convenient news is that you have to have a different filter set for each frequency that you pass to it to avoid up / down-sampling.

The bottom post from Flavio, confirmed to work for Dirac, points this out.
One of the advantages of the PC based Dirac is that you can have multiple filter sets and swap them in or out - e.g. a specific one for stereo, one for surround movies, one for surround movies with a larger "sweet spot" etc depending how you measure the in-room audio response and what target curve you select.

I downloaded the trial version of Dirac live and there is no way to have an "auto-select" that will link in to JRiver MC so the the 176.4kHz filters are selected when you play 176.4kHz audio

http://emotivalounge.proboards.com/thread/45548/xmc-1-dirac-pc-version

Ok, Mark, and thanks for doing the leg work.

Auto-select as to sample rates is already automatic from among the precalculated filter sets.  It can sense the input sample rate and choose the filter sampling and output sampling to use accordingly.  If that were not true, and if there were no means to select the filter set sampling to use, then why precalculate them, since not all could possibly be used?

And, just for verification, when I send 176K from JRiver to PC Dirac, my DAC's display indicates it is receiving 176k after Dirac processing.  Ditto for other sampling rate choices up to 192k.

But, Flávio is also referring the the choice of up to four alternative filter sets you may have created and which are manually selectable from the Dirac dashboard display.  Each of those retains sampling rate integrity- input to filters to output - automatically.  But, they can be used for things like comparing an older to a newer calibration, different target curves, drapes open/closed, screen up/down, etc.

Logged

Fitzcaraldo215

  • World Citizen
  • ***
  • Posts: 217
Re: How to downsample DSD to PCM
« Reply #11 on: February 16, 2018, 04:23:26 pm »

Mark, BTW, as I said earlier, I do not believe Dirac calculates the filters on their servers on any version, PC, Emotiva or otherwise.  I believe filters are always calculated on the local platform, PC or DSP audio processor.  PC, of course, has a huge advantage in the resources, flexibility and options it can provide over more restricted DSPs in various audio devices.

Remember, there is also a large volume of automotive applications of Dirac by Volvo, Jaguar, BMW, etc., Internet tethered only by Wifi or cellular connections.  And, the notion that Dirac would build and maintain a server farm or supercomputer to serve all these users globally is very far fetched and likely economically infeasible.

Logged

kr4

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 740
Re: How to downsample DSD to PCM
« Reply #12 on: February 16, 2018, 04:31:38 pm »

Auto-select as to sample rates is already automatic from among the precalculated filter sets.  It can sense the input sample rate and choose the filter sampling and output sampling to use accordingly.  If that were not true, and if there were no means to select the filter set sampling to use, then why precalculate them, since not all could possibly be used?
In addition, Mark, the user chooses which and how many filter set sampling frequencies at the time of calibration and each of these is displayed in the playback control window.  MC shows 44.1, 48, 88.2, 96, 176.4 and 192 as available in DSP Studio and JRiver uses the one that matches the sampling frequency of the playback.

Logged
Kal Rubinson
"Music in the Round"
Senior Contributing Editor, Stereophile

minhleevn

  • Recent member
  • *
  • Posts: 5
Re: How to downsample DSD to PCM
« Reply #13 on: February 25, 2018, 09:44:27 pm »

I have many DSFs, mostly in DSD64, but also some 128 and 256.  I am perfectly happy with JRiver converting them on the fly rather than taking the time and space to convert to PCM files.  I find no sonic advantage to pre converting the files to PCM.  Computer resources used for the conversion are minimal and do not trouble my system.

On the fly conversion to PCM is automatic as long as the sampling rate conversion table in DSP Studio is set up correctly and you have not chosen bitstreaming for the output.  JR internally converts DSD64 to 352.8K PCM, 128 to twice that, 256 to 4x that.  Then, using SoX, the PCM conversion table downconverts 352.8k, or double or 4x that, to whatever resolution you specify in the table.

I use 176k PCM output, since my Dirac Live EQ's limit is 192k.  But, you can use 96k or 88k just as easily.

Note that if something changes in my system, I can just redo the conversion table for a different playback resolution without generating new files.  Or, since my DAC also supports up to DSD256, I can bitstream the output in native DSD from the same file.
Hi,
I have been looking for this because I have a similar question. Hope you can share some experience.
Currently I am playing DSD64, 128 through MC23 sending natively to my DAC without any problems. My DAC supports up to DSD128 native.
When I try to play DSD256, if I convert down to DSD128, no problems also.
However, when I try to convert on the fly DSD256 to PCM, what is the correct settings? My DAC supports 24/192.
I tried DSP sample rate conversion to 176 for all sample rate > 352, uncheck bitstreaming, using ASIO, but I always get error my hardware does not support the input sample rate.
Would it because of my CPU is not strong enough? I use my old Sony Vaio laptop with SSD, 6GB of RAM, SSD. It is not strong because it is 8 years old. But I see threads of others having weaker laptop still can do the conversion on the fly quite decent.
Much appreciate your help.
Logged

RD James

  • Citizen of the Universe
  • *****
  • Posts: 1871
Re: How to downsample DSD to PCM
« Reply #14 on: February 26, 2018, 02:33:45 am »

Hi,
I have been looking for this because I have a similar question. Hope you can share some experience.
Currently I am playing DSD64, 128 through MC23 sending natively to my DAC without any problems. My DAC supports up to DSD128 native.
When I try to play DSD256, if I convert down to DSD128, no problems also.
However, when I try to convert on the fly DSD256 to PCM, what is the correct settings? My DAC supports 24/192.
I tried DSP sample rate conversion to 176 for all sample rate > 352, uncheck bitstreaming, using ASIO, but I always get error my hardware does not support the input sample rate.
Would it because of my CPU is not strong enough? I use my old Sony Vaio laptop with SSD, 6GB of RAM, SSD. It is not strong because it is 8 years old. But I see threads of others having weaker laptop still can do the conversion on the fly quite decent.
Much appreciate your help.
Many devices do not support multiples of 44.1kHz, only 48kHz. Try setting the output to 192kHz rather than 176.4kHz.
With modern resampling techniques, there's no need to stick to a divisor of 352.8kHz.
Logged

minhleevn

  • Recent member
  • *
  • Posts: 5
Re: How to downsample DSD to PCM
« Reply #15 on: February 26, 2018, 04:15:48 am »

Many devices do not support multiples of 44.1kHz, only 48kHz. Try setting the output to 192kHz rather than 176.4kHz.
With modern resampling techniques, there's no need to stick to a divisor of 352.8kHz.
Thank you. I have read about this but never thought of it. Will give it a try.
Update: Thanks RD James. Changing sample rate output to 192kHz did work.
Logged
Pages: [1]   Go Up