Foobar 2000 for Dummies (Part 2) – Playing DSD – SACD plugin

(Last updated 23-02-2024)

For a guide on how to losslessly compress DSD file size by 50% very easily with Wavpack 5.x, BatchEncoder and SACD plugin 1.04 (or later) click –> HERE <–

This tutorial is divided in two sections, the first one is intended for those who have DACs that support DSD and want to configure Foobar to play and output DSD. The second section (scroll down) is  for those who either have PCM only DACs or for some reason want their DSD files to be converted to PCM.

SECTION I

Since version 0.9.8 the SACD plugin outputs DSD only in DoP format either through WASAPI or through ASIO. There are still some people who are confused by how DoP works and probably because “PCM” is involved they think there is some sort of intermediate format conversion involved but there is not. DSD stays DSD all the time. Let me try to explain as simply as I can the difference between native DSD and DoP.

Imagine you want to send a pair of shoes to some one. There are two courrier companies available, one will take them “as is”, the other requires them to be in a box in order to accept them. The former is clearly more efficient at managing space in the transport van and can transport more goods in each trip than  the latter which is not as efficient as the boxes takes more space. When the shoes arive at their destination, if the efficient courrier was used they can be used straight away as delivered, if the less efficient courrier was used it will be necessary to remove teh shoes from the box before they can be used but in both cases the shoes would be exactly the same pair. In this example DoP would be the shoe box, it is just a “wrapper” to trick non native DSD compatible USB chips into delivering DSD by making them believe they are transporting PCM. Another chip inside the DAC will strip this wraper and send the native DSD to the decoding chip. This process is less efficient as it requires much more USB bandwidth (van space in the example) thus lowering the maximum supported DSD sample rate. Most DoP only DACs tend to be limited to 384K PCM which means DSD128 will be the maximum DSD rate. DACs supporting native DSD  can easily achieve DSD256 or even DSD512. Thankfuly it is possible to output native DSD should one want to thanks to either through the old foo_asio_dsd proxy or through the newer DSDTranscoder which is easier to setup and performs just as well.

I will consider three different configuration objectives in the following sections ordered from simplest to most complex:

  1. Bit perfect with DoP output
  2. Bit perfect with native DSD output
  3. Bit perfect DSD plus  “PCM to DSD” upsampling

For the time being I will keep the two old foo_dsd_asio  modes (now renamed to mode 4 and 5) in case some one has trouble with the DSDTranscoder component but they will be eventually removed as they are now redundant.

last 10 SACD Plugin 1.x releases log:

02/23/24: Version 1.5.11 – WavPack tagging changed.

11/15/23: Version 1.5.10 – RapidXml metabase parser changed to pugixml.

10/31/23: Version 1.5.9 – Debug console output removed.

10/28/23: Version 1.5.8 – SACD Metabase XML parser replaced by RapidXml.

10/24/23: Version 1.5.7 – CUE playback fixed.

10/21/23: Version 1.5.6 – DSDIFF DSD seek operation fixed.

08/23/23: Version 1.5.5 – Ramp parameter for DSD to PCM converter added.

02/07/23: Version 1.5.4 – DSD512, DSD1024 playback fixed.

02/02/23: Version 1.5.3 – Excessive trace fixed.

11/01/23: Version 1.5.2 – DSD/PCM transition delay added.

  • Mode 1: Bitperfect

Using this configuration, all PCM and DSD formats will be sent “as is” (ie. unprocessed) to the DAC. 

Once the SACD plugin zip file is dowloaded from his Sourceforge site (https://sourceforge.net/projects/sacddecoder/files/foo_input_sacd/) the contents need to be extracted to a folder and installed (see Part 1 of the tutorial). For Bitperfect mode only “foo_input_sacd.fb2k-component” needs to be installed.

Important note:  Remember the plugin only supports standard DoP format for DSD. Some older DACs may no support this mode.

First step  would be configuring the plugin to use “DSD output” or “DSD+PCM” modes. Go to the menu “File” and click “Preferences”, in the left pane of the window that pops up look for Tools and, if closed, click the “+” sign to the left of the word to expand it and then click on SACD:

dsd_out_zpsys91x6yb

The difference between “DSD” and “DSD+PCM” is that the latter will send a converted to PCM stream to Foobar so graphic add-ons like VU-meters, spectrographs and so on will work as they do when playing regular PCM files

Other available items are:

  • Preferable Area: Options are: – None: it will show all available tracks on the SACD – Stereo: only stereo tracks are displayed – Multi channel: limits shown tracks to multi channel ones
  • Editable tags: Yes/No
  • Edited Master Playback: Yes/No
  • Store Tags With ISO: Yes/No (it actually doesn’t write to the ISO, it stores tag info in the plugin folder)
  • Linked 2CH/MCH Tags: When selected, tag editing of ISO files will apply to both stereo and multi channel versions of the track/tracks saving time.

Second step would be selecting to our preference or our DAC’s driver options in my case “ASIO: iFi USB Audio Device” as Foobar’s output device:

Foo

  • Mode 2:  Bitperfect outputting native DSD through DSDTranscoder

If your DAC has ASIO drivers compatible with native DSD it is possible to strip the DoP output from the SACD plugin of its PCM wrapper using the DSDTranscoder component and send native DSD instead.

To enable this, run the installer from the DSDTranscoder folder of the extracted SACD plugin location or download the component  from https://sourceforge.net/projects/sacddecoder/files/dsd_transcoder/ , extract the content from the zip and run  the DSDTranscode executable file, accept all default options until installation is complete.

Last 5 DSDTranscoder releases:

10/03/22: Version 1.2.0 – Experimental: Windows Light/Dark mode support added.

01/15/21: Version 1.1.5 – Driver reinitialization when switching between DSD and PCM modes.

01/04/21: Version 1.1.4 – Async mode option added.

12/01/20: Version 1.1.3 – Negative values for “Transition (ms)” option supported.

11/22/20: Version 1.1.2 – Control panel shows for detached devices.

Open Foobar, go to “File” in the menu and select “Preferences” then look for “Output” and select the component as the output device as shown here:

asiotrans_zpsj4uyckja

Next, to configure the DSDTranscoder double click it in the ASIO devices:

asio_zpsq2aijrtg

The following pop up window will appear:

4448_zpstyixs5sx

At this point you can set the desired output mode individually for each DSD input rate and sample rate family (44.1K or 48K) so it can accomodate every DAC’s supported formats.

My iFi iDSD micro supports native DSD through ASIO up to DSD512 but only for 44.1K based sample rates like SACD rips or upsampled CDs, for 48K based sample rates like those generated by upsampling 16/48, 24/96 or 24/192KHz to DSD it only supports up to DSD256 through DoP. With this component it takes very little time and effort to configure all 44.1K family to output native DSD and leave all 48K family in bypass (leaving the default dash, “-“).

  • Mode 3:  Upsampling with the new “DSD Processor” component (v. 1.1.1 or newer)

Version 1.0.0 of the plugin introduced an component named “DSD Processor” which provides a very simple way to upsample PCM and/or DSD to DSD (though purists be warned, DSD to DSD upsampling involves an intermediate PCM conversion step). As with the plugin by itself, “standard” DoP is the only available output so it may limit sample rate choice options for those using DACs that perform better with “native DSD” e.g.  Amanero adapter based DACs or the iFi iDSD micro (See Mode 2 for native or mixed DoP/native output).

Version 1.1.1 introduces two new user configurable fields (Window Length and Window Type) plus the possibility of performing sample rate conversion in the upsampling process, more on these a few paragraghs down.

In order to enable the DSD Processor it needs to be selected in the SACD plugin configuration pane:

processor2_zpseqnqkcjk

Then proceed to the “DSD Processor” pane and check the “Use DSD Processor” box:

DSDProcessor

Now you can configure the output you want for each input indepedently. In the capture above all PCM input formats are upsampled to DSD256 using “SDM type D” without resampling their fundamental frequency and with no “Sample & Hold” but all incomming DSD is left unprocessed.

a) The “Output” column sets the output sample rate and should not be configured to output rates beyond the maximum soported DoP rate of your DAC.

DSDoutput

When upsampling DSD Processor allows the user to choose whether to upsample using the same fundamental as the source or change to the alternative one.  If one doesn’t want resampling, output should be set to any of the rates that don’t have the “/48” at the end for 44.1KHz based sources (44.1, 88.2, 176.4 and 352.8KHz) and with it for 48KHz based music (48,96,192 and 384KHz). This can be a very useful option for those who own DACs that do not support 48KHz based DSD or those who want to experiment with the the different combinations de processor engine offers.

b) Windows Length: refers to Sample Rate Converter (Low frequency FIR, Fc is set to 0.5 Fs) Lentgh measured in samples. Value can range from 8 to 8,192 samples with the default being 27 (which is the recommended value). Increasing the lentgh value makes the filter steeper narrowing transition area (between passband and stopband), flatter passband and ading more suppression in stopband but it has the downside of increasing “ringing” (because of more fluctuation in transition area) and a heavier CPU load for longer windows.

c) Window Type:

The following values can be chosen:

WindowT

The dafult value is Hann (v. 1.1.2, in v. 1.1.1 default value is Rectangular and not recommended). For in depth information please  see here:  Window Function

d) The “Converter” coulmn sets the algorithm to be used for upsampling. Four different algorithms to convert PCM to DSD based on Philips ProTech tools are provided.:

SDM_Type

There are no details as to how each of them works and Philips only provides the following table:

102

It is up to you to test and decide which one you like best or works best in your system though types “B” and “D”are good starting points

c) The “Sample & Hold” column provides an alternative upsampling version for power limited computer processors. Turning on “Sample & Hold” just propagates one PCM sample several times in SDM. It is a “cheap” way of up-sampling “at no cost” to get 2.8 or 5.6 MHz PCM. It’s for PCM->DSD and DSD->DSD. Only suited to low performance systems. Available options are:

S&Hold

The number defines the times each sample is held. Default value is 8X which is recommended for the least powerful CPUs, if your computer can handle it NONE the prefered option

d) The “Precission” field refers to the type of number used to perform all upsampling calculations. Options are 32 bit floating point (32fp), 64 bit floating point (64fp) and integer (Int). Default value is 32fp.

OLD MODES (for those with DACs not compatible with the DSDTranscoder)
  • Mode 4: upsampling with the plugin and the “foo_dsd_asio” proxy

Note: In order to use this mode requires your DAC needs to have ASIO drivers

Since the plugin is not included any longer in the plugin zip file, it needs to be downloaded separately from here ( version 0.9.4 is strongly recommended), decompressed to a folder and installed separately as a any other program.

The advantages of using this Mode 3 over Mode 2 are:

  • Three selectable DoP modes instead of one: Standard DoP – 0x05/0xFA, dCS – 0xAA and eXD
  • Native DSD output available
  • Mixed output modes depending on input, useful in case your DAC supports different sampling rates depending on base frquency like most XMOS based DACs which do not support native DSD if it is 48K based but accept 48K based DoP
  • Selectable transition silence between formats
  • Trace file creation for error debugging

Proxy releases:

11/03/16: Version 0.9.4 – DoP to native DSD path fixed.

11/01/16: Version 0.9.3 – DoP256/DoP512 samplerates added. (Broken functionality. Do not use)

08/09/16: Version 0.9.2 – DSD256/DSD512 converter samplerates fixed.

08/05/16: Version 0.9.1 – DoP input handled.

09/04/15: Version 0.8.3 – Stereo playback for mono DSD sources added.

08/31/15: Version 0.8.2 – More detailed tracing, reset button added.

08/25/15: Version 0.8.1 – Floating point SDMs.

05/29/15: Version 0.7.3 – ASIO API tracing for downstream driver added.

04/06/15: Version 0.7.2 – Bypass for unsupported samplerates in PCM to DSD converter.

05/12/14: Version 0.7.1.2 – DSD/PCM switching fixed.

05/08/14: Version 0.7.1.1 – Experimental: PCM upsampler is removed from DSD to DSD converter.

05/05/14: Version 0.7.1 – Experimental: DSD to DSD converter, DSD path redesigned.

07/29/13: Version 0.6.5 – Optional delay when switching between DSD and PCM modes.

05/06/13: Version 0.6.4 – PCM to DSD multithreading, floating point SDMs.

04/24/13: Version 0.6.3 – PCM to DSD converter fixed.

04/22/13: Version 0.6.2 – Incompatibility with foo_input_sacd 0.6.4 fixed.

03/26/13: Version 0.6.1 – Experimental: PCM to DSD for x48000 samplerates (requires comatible DSD DAC).

10/31/12: Version 0.6.0 – Experimental: PCM to DSD converter added.

Once the plugin has been installed, the first step will be selecting it as Foobar’s output device:

proxy3_zpszxvvdvmd

Then go to ASIO and double click foo_dsd_asio:

proxy4_zpssfjamoor

A new independent window appears where the component can be configured to preference (make sure you select your DAC ASIO driver under “ASIO Device)”:

proxy2_zps2qys6r9g

As you can see this is almost identical to the “DSD Processor” configuration pane though it has an additional column for “DSD Mode” selection and the mentioned additional options for format to format transition “Transition (s)” and “Debug Output”.

Please see Mode #2 for details on how to configure columns a,b & c.

d) The “Output mode” column has the following options:

Out_mode

  • DSD -> Native DSD output, if supported by your DAC it is the most bandwidth efficient mode. This is a very convenient way to convert DoP from the SACD plugin to native DSD. Recommended whenever possible.
  • DoP -> standard DSD over PCM (0x05/0xFA) marker. If your DAC supports DoP only it is most likely you will need to select this one. Also very convenient for XMOS based DACs that don’t support 48KHz based DSD through native DSD like iFi DACs. Is the one I use to upsample 48, 96 or 192KHz PCM to DoP DSD256 for my iDSD micro as can be seen in the screen capture.
  • dCS AA-> DoP marker for dCS DACs (0xAA)
  • exD AA/BB -> DoP marker for exD DACs

Note: Since the SACD plugin outputs DSD in DoP format,  foo_asio_proxy will process incoming DSD as per the configuration set for the incomming PCM sample rate:

  • Incoming DSD64 in DoP format will use the upsampling configuration for 176400
  • Incoming DSD128 in DoP format will use the upsampling configuration for 352800
  • Incoming DSD256 in DoP format will use the upsampling configuration for 705600
  • Incoming DSD512 in DoP format will use the upsampling configuration for 1411200

So should you want to leave DSD unprocessed make sure you have all these PCM  rates with no up/downsampling configured like in the shown screen capture. This may be a little of a nuisance if you have plenty 176.4 or 352.8K PCM music you want to convert to DSD but  presently there is no alternative solution other than resampling these files with SOX to a 48KHz base, e.g. 176.4K->192K and 352.8->384K.

  • Mode 5: Hybrid upsampling with both DSD Processor and the “foo_dsd_asio” proxy

Note: In order to use this mode requires your DAC needs to have ASIO drivers

For the most demanding users Mode 4 provides a little extra tweaking possibilies the previous 3 modes can’t. On the other hand, tough the combination of both components provides the highest degree of flexibility though it may in some cases be less stable.

One example of what can be done with this mode is upsampling 176.4 or 352.8 KHz PM to DSD while being able to output true DSD without intermediate conversions. This cannot be done in any of the previous modes as this sample rates are shared by PCM and DSD64/128 in DoP mode output by the plugin.

Depending on the maximum DSD rate your DAC supports this means upsampling 176.4 and/or 352.8KHz PCM to DoP DSD256 or DSD512 in the DSD Processor component leaving those sample rates free in the foo_dsd_asio proxy for stripping DSD64/128 coming in 176.4/352.8 DoP from their PCM wrapper.

This is how the above would look like aiming to upsample all PCM to the maximum DSD rate supported by my iFi iDSD micro (native DSD512 for 44.1 based PCM and DSD256 DoP for 48K based PCM) while leaving DSD unmolested:

DSD Processor configuration:

dsdproc_zpsq86uorsy

Foo_dsd_asio configuration:

proxy_zpsweawzhtv

….and the missing DSD512 line (Proxy window is not resizeable):

dsd512_zpsbzec3yd4

In the table below you can see in red where PCM is upsampled to DSD and in blue where DoP to converted to native DSD.

Source SACD Plugin -> DSD Processor -> foo_dsd_asio Proxy
Output Input Output Input Output
44.1 PCM same as source same as source same as source same as source DSD512
48 PCM same as source same as source same as source same as source (DoP DSD256)
88.2 PCM same as source same as source same as source same as source DSD512
96 PCM same as source same as source same as source same as source (DoP DSD256)
176.4 PCM same as source same as source (DoP DSD512) (DoP DSD512) DSD512
192 PCM same as source same as source same as source same as source (DoP DSD256)
352.8 PCM same as source same as source (DoP DSD512) (DoP DSD512) DSD512
384 PCM same as source same as source same as source same as source (DoP DSD256)
DSD64 (DoP DSD64) (DoP DSD64) (DoP  DSD64) (DoP DSD64) DSD64
DSD128 (DoP DSD128) (DoP DSD128) (DoP DSD128) (DoP DSD128) DSD128
DSD256 (DoP DSD256) (DoP DSD256) (DoP DSD256) (DoP DSD256) DSD256
DSD512 (DoP DSD512) (DoP DSD512) (DoP DSD512) (DoP DSD512) DSD512
SECTION II

Using this configuration, all DSD formats will be sent as PCM to the DAC.

Once the SACD plugin zip file is dowloaded from his Sourceforge site (https://sourceforge.net/projects/sacddecoder/files/foo_input_sacd/) the contents need to be extracted to a folder and installed (see Part 1 of the tutorial). Only  the “foo_input_sacd.fb2k-component” needs to be installed.

First step  would be configuring the plugin to use “PCM” as output mode.

Go to the menu “File” and click “Preferences”, in the left pane of the window that pops up look for Tools and, if closed, click the “+” sign to the left of the word to expand it and then click on SACD:

dsd_out_zpsys91x6yb

Since Version 1.0.6 a LFE configuration option has been added:

lfe_zps9zwgaeqp

Once PCM is selected from the drop down list it will be possible to configure the desired PCM options such as:

  • PCM Volume: Compensates for the lower volume of most SACDs compared to PCM files. Can be configured to any desired value from +0 to +6dB. Choose by personal preference unless you get distortion, recommended value is +0dB because it leaves more headroom to avoid conversion overloads but it may make DSD tracks sound quieter and can be annoying in a mixed PCM/DSD playlist. If only SACD ISOs or SACD-R is used, there is a replay gain database file that can be used to normalize volume levels.
  • LFE: Allows to adjust the Low Frequency Effects channel (aka the .1 in 5.1 multi-channel recordings) output level when converting to PCM. This can be very useful when sending DSD converted to PCM to a multi-channel receiver which may apply a +10dB boost or a -10dB reduction to this channel. Possible values are -10dB, pass through or “As is” and +10dB.
  • Sample rate: 44.1KHz, 88.2KHz, 176.4KHz or 352.8KHz, ideally as high as our DAC allows.
  • Log Overloads: Registers in a file DSD-PCM over 0dB errors, interesting to know if PCM Volume sttings over deafult +0dB is producing errors even if not hearable.
  • DSD2PCM mode, avilable options are:
    • Multistage (32fp) and (64fp): Being SSE coded it doens’t demand much from the CPU, 32fp means 32 bit floting point and 64 well, you guessed it, the same but using 64 bit precission for calculations
    • Direct (32fp, 30KHz LF) and (64fp, 30KHz LF): The name says it so no extra description needed, this one is also SSE optimized. Being 30KHz low pass filtered means all DSD noise above that frequency is removed and does not reach the amp. A very good balance between SQ and CPU usage.
    • Installable FIR (32fp & 64fp): these allow custom filters to be used for the DSD->PCM conversion. Some sample FIR filters with different Freq cut points are provided along with the plugin inside the “Filters” folder created when extracting the plugin the zip. Those with the required knowledge can write their own filters using a program like Mathlab and use them here. If this option is selected the “Load” button will be enabled and when clicked it will open a window to point where the filter files we want to upload are located.

Included filter files in the plugin zip file are:

filters_zps6oqlpxlf

Other available items are:

  • Preferable Area: Options are: – None: it will show all available tracks on the SACD – Stereo: only stereo tracks are displayed – Multi channel: limits shown tracks to multi channel ones
  • Editable tags: Yes/No
  • Edited Master Playback: Yes/No
  • Store Tags With ISO: Yes/No (it actually doesn’t write to the ISO, it stores tag info in the plugin folder) Linked 2CH/MCH Tags: When selected, tag editing of ISO files will apply to both stereo and multi channel versions of the track/tracks saving time.
  • Linked 2CH/MCH Tags: Tags added to a SACD ISO will be shared between stereo and multichannel tracks
Comments
  1. So the big difference is in the output where you can manually choose the bitrate?
    Thank you

  2. It looks like the aim of this new version is simplicity at the cost of reduced functionality or it could be argued it brings more “bit perfectness” as processing is reduced by skipping the proxy (when configured not to use it).

    I’ve been using V 0.9.6 since it came out and I’m happy with it but there may be compatiblity issues with some DAC’s drivers like Schiit C-Media’s one.

  3. Your iDAC 2 will perform at its best when you set Foobar to output DSD256 when playing PCM stuff. I’d suggest using either B or D modes.
    If you prefer to upsample PCM to PCM then you may use 32bit.

  4. rkay5 says:

    I tried the new V 0.9.6 and I can not play any DSD file using Mytek 192 DSD DAC no madder what setup I try no DSD files will play.So back to 0.8.4 and ASIO proxy with PCM up sampling to DSD128 and DSD up sampling to 128 also.
    I guess I will have to wait for more software up grades for it to work with the Mytek 192 .

  5. It is possible to combine the new plugin with the old proxy if you select it as the output device, have you tried that?

  6. Herbert Eisenbeis says:

    > Version 0.9.3 has introduced the “ASIO Trace” checkbox but I haven’t been
    > able to find the trace log in any of Foobar’s folders.
    View->Console

  7. Herbert Eisenbeis says:

    Maxim has released 0.9.7 of foo_input_sacd:
    > 04/29/16: Version 0.9.7 – DoP for ASIO/WASAPI/DS, direct DSD for ASIO removed.

  8. I have exchanged some emails with Maxim about this latest version, personally I don’t think this (removing native DSD over ASIO) is the best move but it is his plugin so who knows if it’ll go in that direction from now on.

  9. rkay5 says:

    I have tried the the new 0.9.9 and as before it will not play any of my DSD/DSF files with or without the asio-proxy with Mytek 192 DSD/DAC. I tried using all of Dop ways that I can think of.
    So I’m back to 0.8.4 and asio-proxy 0.8.4.4 beta with native DSD output tht work prefect and sounds great.

    • That is strange, according to the Mytek’s manual it uses standard DoP markers so it should work no probs with or without the proxy. What configs have you tried?

      • Alexander Baranov says:

        Hi, I recently purchased the TEAC UN-503 DAC. I re-installed foobar and all required components, driver and plugins. I can playback my DSF files, however my DAC reports: DoP DF 50k DSD 2.8MHz. Both tables with input, output, converter and sample&hold are empty except for input. I understand something is wrong with my installation.
        By the way, when AIMP plays the same file DAC’s report is different: ORG DF OFF PCM 384kHz. Please advice. Thank you in advance, Alex

        • AIMP does not output DSD, it always converts any such format to PCM.

          If you are playing DFF or DSF files in Foobar without any upsampling then your DAC is reporting correctly what it is receiving, DoP (which is true DSD encapsultaed in a PCM package), 50KHz filter (at 50KHz which is very standard) and DSD 2.8MHZ which is regular DSD64. I don’t understand what your p`roblem is.

          • Alexander says:

            Hi, Many thanks for replying. I just compare with JRiver playing back the same DSF file. In this case, my DAC reports “DSD”, not “DoP”. Kind regards, Alex

            • In the proxy configuration try resampling 176.4K to DSD64 and select native DSD as output.
              More details in the Mode #3 of Section I above

              • Alexander Baranov says:

                Hi, I can do nothing in the proxy configuration – all columns (output, converter and sample&hold) are empty – only dashes. The same is under Tools/DSD Processor – just dashes. It just drives me crazy. Thanks, Alex
                P.S.
                I followed all installation instructions and installed: Foobar 1.3.12; ASIO Proxy 0.9.2; foo_input_sacd 1.0.0; foo_out_asio 2.1.2; DSD Processor 1.0.0.0 and TEAC-AudioHS64 1.0.8.0

                • Do you mean that when you click on the dashes (-) you are not getting a pop-up window wuth available options?
                  All values are “-” by default, you have to configure each one for every line.

                  • Alexander Baranov says:

                    Hi, yes I entered all recommended settings in asio proxy and dsd processor. As a result dsd64 is upsampled to dsd256, but all PCMs cannot be played: Unrecoverable playback error: Sample rate of 705600/768000 Hz not supported by this device. I have images of all my settings but do not know where to post them.

                    • Have you selected “DSD:ASIO:foo_dsd_asio” as Foobar output? (Components->Playback->Output) and then configured foo_dsd_asio to output to your DAC?

                    • Alexander says:

                      I did select DSD:ASIO:foo_dsd_asio as the output. As for configuration, I have tried all recommended settings. In the past, it was much easier and clear. Now it is very confusing.

                    • If you get a “705600/768000 Hz not supported by this device” message it means your outputting DSD in DoP format which your DAC does not support. You need to either drop to DSD128 or get the proxy to output native DSD (plain “DSD” in the proxy output column)

                    • Alexander Baranov says:

                      Hi,
                      Thank you for the reply. I get the proxy outputting DSD from the very beginning – all for nothing. I do not like the idea of dropping to DSD128. I bought TEAC UD-503 because it supports native DSD up to DSD256.
                      Can you please recommend the previous stable working version of foo_out_asio, asio proxy and foo_input_sacd. I want to reinstall foobar with old working components. For the last 1-2 months I’ve been playing with settings and configurations instead of playing back music.
                      Thank you, Alex

                    • If you wat to go to previous version, uninstall your curent plugin, DSD Processor and foo_dsd_asio (this one from Windows control panel not from Foobar) and install plugin 0.8.4 plus proxy 0.8.3 though 0.9.2 could work, I haven’t tested that combination. Form more details see Part 3 of the guide which deals with Old SACD plugin (0.8.x and 0.7.x series)

  10. Thanks Igor. Max notified me when he released it and I have been testing it since then.
    There are still a couple of issues pending fix that is why I haven’t updated it yet, I hope a new one will be released soon

    • I also have the iFi DSD Micro. I like the sound of PCM > DSD.
      ASIOProxyInstall-0.9.1 converts PCM 44100 > DSD256 and DSD512 in native DSD SDM type C, but both show what’s playing DSD512.
      DSD64 > DSD128, DSD256, DSD512 necessarily translate through the PCM?
      Thanks.

  11. You are correct, that is one of thre bugs I reported to Max, DSD256 is outputting DSD512 (purple/magenta LED in the Micro).

    Yes, DSD to DSD upsampliong involves one decitmation (PCM) step.

  12. Doesn’t work well with the Mytek lost of pops and crackles when a track starts that’s even with the 48KHZ upsampling to DSD off. Only the 6.0 Asio proxy works properly.

  13. Herbert Eisenbeis says:

    @diyaudioheaven:
    You write:
    > So should you want to leave DSD unprocessed make sure you have
    > all these PCM rates with no up/downsampling configured like in the
    > shown screen capture
    If I do so, DSD material will stay in DoP. But my intention to use “ASIO Proxy” is to have DSD native. If I configure instead
    176400 DSD64 SDM type D NONE DSD
    my DAC displays “DSD native”, but I can’t detect whether I go through a (superflous) decimation step (DSD->PCM->DSD) which I want to avoid. Maxim doesn’t provide source code for ASIO Proxy, so I have no chance to find out via source code diving.

  14. Herbert Eisenbeis says:

    > I’ve asked Maxim and he answered that using the proxy in such way will
    > just repackage DoP from the plugin or the DSD Processor to native DSD
    > without intermediate PCM conversion so… good news!
    Very good news.

    Let’s hope that “ASIO Proxy” will not be abandoned in the future in favor of the new “DSD Processor” where DoP being the only available output.

    • I was told by a VERY reliable source that there maybe a new proxy version with a straight DoP to native DSD “depacketing” option coming soon… 😉

      • Herbert Eisenbeis says:

        Once again: Very good news.
        So we retain choices to react on different resolutions of the source material and different DAC capabilities.

  15. Ty Knowles says:

    Thanks for your page. I used it to get my dsd256 files to play on my ifi nano dsd! Awesome….

  16. Hi there!

    I have an issue with the SACD plugin that maybe some of you guys can help me with.
    I have been using Foobar 2000 for many years on my desktop PC (i5 2500K + AMD 6950 GPU), and have quite a few SACD and DVD-Audio ISO files with stereo and 5.1 format. I have been playing them on the Windows 7 OS by connecting my AMD GPU 6950 model to my Onkyo AVR through HDMI, and never had an issue playing the 5.1.
    The case is that I gave my desktop to my mother and bought a Laptop for work and also for entertainment, an MSI with a i7-6700HQ and a Nvidia 960M GPU, and now my Foobar 2000 doesn’t even show the 5.1 track on SACD, and on DVD-A although it shows the 5.1 tracks on my library, they only pass stereo.
    I wonder if this is an issue with all Laptops as my wife’s Acer laptop (an older i7 with a AMD R7 265) also suffers from the same problem, or is it an issue with the Windows 10 OS?

    Do any of you guys play SACD/DVD-A 5.1 audio on your laptops though HDMI? If so do you use W7 or W10 OS?

    Thanks guys!
    And happy new year to you all!

  17. geppo says:

    The DSD out mode doesn’t work with Pioneer N-50A USB-DAC. I’ve tried all configurations.
    The Pioneer ASIO driver works with JRiver DSD native output on the same pc.

  18. stuckinthisroom says:

    So much good detailed info in this 3 part guide.
    Which “mode(s)” would you suggest for use with an ifi micro iDAC2?

    Thanks in advance

  19. Tiller says:

    I have been a great fan of Foobar2000 especially since the SACD playback plugin was introduced.
    I followed every step of evolution of the plugin and the latest version works for me almost perfectly with only one issue related to DSD playback.
    Playback is smooth and gapless if the player is let alone, but whenever a track is changed, stopped or started a very loud click/pop sound is audible.
    It does not depend on the nature of the tracklist ie. whether it was created from single tracks (DSD64, DSD128) or from an SACD.iso (DSD64). It is also independ of hardware!
    I tried 4 different PC’s, 3 different DSD capable DAC’s: cheap, middle range and high end, 4 different (2 channel) amlifiers in every possible combination. The result is always the same: loud click/pop at intervention by the listener.
    I tried every possible setup, every “fade-in-out” and “gapless” plugin with no avail.
    PCM playback is perfect!
    Is there any solution?

    • Unfortunately AFAIK there is no solution as it depends on the DAC and its drivers. I have no such problem with the iFi iDSD micro.

      • Tiller says:

        Thank you very much for the quick answer!
        Some more details:
        OS: Win10 64bit, CPU: i5, RAM: 16GB
        DAC ASIO diver: XMOS USB Audio 2.0 ST 3037 to ES9018 chip.
        Remarkable that DSD plays perfectly if Output Mode for DSD is PCM.

        Regards

        PS.: The click/pop sound does not come up with jRiver ie. it can be eliminated

        • It is quite logical that you don’t get the click/pop when converting DSD to PCM within the plugin.
          What is your exact configuration? which mode are you using?

          • Tiller says:

            Foobar2000 v1.3.14
            Mode1:

            ASIO Support 2.1.2
            SACD Decoder 1.0.7
            DSD Processor 1.0.1
            DAC driver: “DSD : ASIO : XMOS USB Audio 2.0 ST 3037

            Now I observed that at every intervention (pause/start, track change) in Foobar the DAC jumps out of DSD mode and back again as it is indicated by its display too and this jump (loss of synchronization?) is accompanied by the loud clicks.
            With jRiver the same DAC does not do this!

            Regards

  20. valfar says:

    Mode 4 works well on version 1.0.6 but doesn’t work on version 1.0.7. My DAC is UD-503 with latest driver installed.

  21. Szhan Chen says:

    Hi, My dac N-70A works with
    FB2k 1.3.16
    Asio proxy 0.9.4
    SACD 0.8.4
    And the dac display shows DSD 2.8 mHz.

    But when I go SACD 0.9.11 (other stay the same)
    I only got a bunch of noise and display shows PCM 176.4 kHz.

    I have messed with every config but can’t get it work.
    Is SACD 0.9.11 expect to work with any DAC work with DoP?
    Or there is some model only works on 0.8.4?

    http://imgur.com/5FphH8g

    Tried all DSD mode.
    Any advice would be grateful.

  22. Keith says:

    Hello, thanks for the guide. My DAC is the ifi iDSD micro BL. I installed SACD 1.0.10; DSDTranscoder 1.0.10; and, ASIOproxy 0.9.4.
    I just have a question regarding modes 3-5. Whenever I use those modes and play something upconverted, Windows immediately removes it in my list of playback devices. The weird part is that it would still play the song and a couple or so more. After a while, it will truly be disconnected. What can I do to prevent this? I haven’t reall ran into problems for modes 1 & 2.

    • Keith says:

      Correction; I’m having w/ mode 2 as well. All in all, when I play DSD files whether they’re native or upsampled, through ASIO,my laptop will have the problem I stated above.

      When I use WASAPI, my laptop can still recognize my DAC as a playback device.

  23. If you are using DSDTrancoder I’d recomend you uninstall ASIO proxy as it is not necessary.
    I have the regular iDSD micro and have no problems whatsoever with mode 3 (5.2 firmware and driver V. 3.20).
    ASIO and WASAPI exclusive bypass Windows’ mixer locking the output device to themselves, that is the reason why it seems to disappear but, if the system is working correctly, they release it as soon as playback stops. That is normal behaviour.

    • Keith says:

      I tested it for a while but it still disconnects. I played foobar in the background while performing daily tasks. After 4 songs or so, the playback stopped. I tried pressing the play or next button but it wouldn’t allow me to play the song because the only playback device .
      Foobar, is giving me this: “Unrecoverable playback error: The process receiving or sending data has terminated”. My DAC still has the same light as if it’s playing the upconverted file even though it’s disconnected.

  24. Joshua says:

    Hello, Thank you very much for the detailed tutorial.

    I configured mode 3 to upsample PCM 44.1kHz to DSD512 using the DSD Processor. However I got the following error message:
    “Unrecoverable playback error: Sample rate of 1411200 Hz not supported by this device”

    The DAC I am using is iFi Micro iDSD BL which should support DSD512. All the plugins are the latest version.

    Do you know what is causing this issue? Does the DAC support Dop DSD512?

  25. Hello. Here is a good DSD FIR filter, can someone come in handy. http://s-audio.systems/catalog/dsd-filter

  26. dizbal says:

    Thanks for the great write-up.
    You mention that “DSD+PCM” sends a converted to PCM stream to Foobar.
    Is there a way to tap into this simultanuous PCM-stream that you know of? I’d like to use it to feed the sub in a 2.1 setup.

    • Unfortunately nope, there is no way I know to tap into that stream. In order to do that Foobar should provide two simultaneous outputs which it doesn’t. The secondary PCM stream only serves to feed whatever bells & whistles one has enabled in the interface and make them run properly as they cannot work with DSD streams. Sorry…

    • I almost forgot! thanks for your kind comment 🙂

      • dizbal says:

        Thanks for the quick reply.
        Would it be possible, at least in theory, that the plugin sends the PCM stream to another output device instead of Foobar?

        Some backgrond on what I’m trying to do: I use a multi-channel DAC for PCM and a dedicated DSD stereo DAC. With Voicemeeter Banana I create the additional subwoofer channel for PCM. I’d like to do the same with DSD, but haven’t found a way to do this.

        Sorry if this is a bit off topic…

  27. Charlie says:

    Just saying thank you! Today I got an iFi iDSD nano and have been wrestling with Foobar to get straight DSD playback into the nano. Your method #2 did it. It sounds absolutely fantastic!!

  28. Leonid says:

    Kindly provide basic steps to stream DSD (native) via DLNA using foobar into the enabled Denon Receiver. T

    • Hi Leonid, I don’t think Foobar’s DLNA can output native DSD though as I don’t have any DLNA renderer to test it with I can’t confirm. Sorry.

    • NSK says:

      I am not sure if you have found a solution for DLNA DSD streaming to your receiver. I have been trying to solve the same issue with a Oppo 203 player and foobar. I have managed to get foobar/sacd decoder to stream dsf and uncompressed dff files in DSD using the Oppo as renderer and foobar as upnp controller. However I have been unable to get DSD streaming working for compressed dff files or sacd ISO files. For these files it does a DSD to PCM conversion. I find it doesn’t matter whether the sacd plugin settings are set to DSD or PCM, it does the above regardless. It just ignores this setting. It does pick up the sample rate, gain etc other settings though. I wonder if there is a way to get the sacd decoder plugin to spit out a uncompressed DSD stream for these instead of converting. In the streaming profile for the renderer I have the convert box set to ‘never’. Maybe some one can provide more insight in to this.

  29. Hey there! Do you know if they make any plugins to protect against hackers? I’m kinda paranoid about losing everything I’ve worked hard on. Any suggestions?

  30. howard says:

    Hi Thank you so much for your excellent tutorial.
    I installed SACD 1.0.10 & DSDTranscoder 1.0.10.I have the original (silver) idsd micro and I have followed your instructions to get the best SQ from my set up. Please can you confirm that the idsd will perform best up when playing dsd files up to mode 2 in other words mode 3 (activating the dsd processor) will lessen the idsd’s ability to process dsd files natively.

    One issue is that I can no longer use the fb2k graphic equalizer with dsd files. Is there a solution to this.

    • A) I use mode 3 configured so it doesn’t change DSD, with the exception of removing thr DoP wrapper, but coverts PCM to DSD512. The reason for this being that the DSD Processor cannot upsample DSD64 to a higher rate without an intermediate PCM conversion.

      B) All FB2K signal processing components work with PCM only so I’m afraid there is no solution for this. Only an external analogue EQ will work, say inserted between the PC’s or DAC’s output and the amplifier.

      • howard says:

        Thanks so much for the swift reply. I will take your advice and move to mode 3.

        I have a question about playing vob files from DVD-A.The files are extracted into the two folders Audio-S & Video-TS. The files are all contained the Video-TS. I click on the VOB files that contain the audio. I can play the 5.1 files but the 2 channel files generate white noise. I have the DVD Watermark Detector in the DSP Active column. Are there any other plug-in or settings I can make to get these files to work. Also If I burn the DVD to .ISO and attempt to open in fb I get the following:Unable to open item for playback (Unsupported file format)

        Any suggestions gratefully received. Thanks again.

        • howard says:

          Thanks so much for the swift reply. I took your advice and moved to mode 3 and the idsd illuminates the led in magenta. I assume the sample rate shown on the ifi control is only relevant when playing dsd.

          I have a question about playing .vob files from DVD-A.The files are extracted into the two folders Audio-TS & Video-TS. The files I want to play are contained the Video-TS. I click on the VOB files that contain the audio. I can play the 5.1 file (AC3) but the 2 channel files (PCM) generate white noise. I have the DVD Watermark Detector in the DSP Active column.

          foo_input_dvda.dll is in fb components folder – should I have any of the the other components that are downloaded in the zip file with dvda.dll file or are these already embedded within fb?

          Are there any other plug-in or settings I can make to get these files to work. Also If I burn the orginal DVD-A to .ISO and attempt to open in fb I get the following:Unable to open item for playback (Unsupported file format)

          Any suggestions gratefully received. Thanks again.

          • Are you sure it is the PCM tracks that are generating white noise? do you have the AC3 plugin installed?
            The foo_input_dvda plugin is only required to play the files in the AUDIO_TS folder (.AOB).

  31. howard says:

    Thanks so much for the reply.
    The only files that wont play in fb are identified as 2ch LPCM by both vlc and PowerDVD and the files play perfectly when I use these players.It seems the issue is with fb.

    I have the AC3 plug in installed in fb. Interestingly, I removed the AC3 plug-in and the 5.1 files which are AC3, still play. Another thing when the 5.1 file plays it generates ffdshow – I wonder if this has any bearing.

    Any suggestions gratefully received. Thank you

    • Are you using default/DirectSound as output? try WASAPI and see if it makes any difference.
      SACD/DVDA plugins do not play a part when playing PCM,
      Another thing you could do is extract the LPCM tracks to either WAV or FLAC.

  32. howard says:

    Thanks for your further support. I managed to almost solve the issue with some advice from the good people at hydreogenaud. Two steps 1. To utilse ffmpeg wrapper (customised to decode .vob) and 2. Removal of Directshow from the repository. The 2ch files now play except for a slight issue with some of the 2ch files. The seekbar doesn’t “pull” the tracks along. The album starts and if I wish to progress the tracks along, the playback stalls and sometimes starts the track again or there is a long pause before it starts. In vlc the same file can be “pulled” along without a glitch.

  33. howard says:

    Thanks for your further support. I managed to almost solve the issue with some advice from the good people at hydrogenaudio. Two steps 1. To utilse ffmpeg wrapper (customised to decode .vob) and 2. Removal of Directshow from the repository. The 2ch files now play except for a slight issue with some of the 2ch files. The seekbar doesn’t “pull” the tracks along. The album starts and if I wish to progress the tracks along, the playback stalls and sometimes starts the track again or there is a long pause before it starts. In vlc the same file can be “pulled” along without a glitch.

  34. Fotis says:

    Hello, first of all thank you for the tutorial!
    I tried to set up foobar like you described in Section 1 configuration 2 for native DSD playback in my Win10 laptop connected to my Oppo 205 DAC with USB cable. I installed foobar 1.41 from scratch, then “foo_input_sacd.fb2k-component”, then “DSDTranscoderInstall-1.0.10”. Oppo latest drivers are installed. But to my surprise there were no new options under “Output” and the word “ASIO” was nowhere to find. I tried everything possible like restarting, reinstalling, C-cleaning the registry and other things. Installing on another PC gave the same results.
    The solution for me was to install the good old “foo_out_asio.fb2k-component”, then suddenly I had all the new options available, like ASIO :…, DS :…, DSD : ASIO : …. and everything worked as you described. So if it is mandatory to install “foo_out_asio.fb2k-component” first in order to have ASIO working, please mention it in the tutorial (It’s for noobies after all…)
    I thought that was not needed because “DSDTranscoderInstall-1.0.10” has its own ASIO driver (?). But then why do I even need DSDTrancoder, without it I still have the option
    “DSD : ASIO : OPPO USB AUDIO 2.0 ASIO DRIVER” under “Output” which seems to work fine sending DSD64 to the Oppo. What do you think?
    Thanks for your time.

    • Glad you gpot it worlking. The ASIO plugin is necessary for the dsd proxy/transcoder to work, “proxy” being the key word, it is not an output, just a way for the dsd pulgin to send the signal to one of the true Foobar’s output components supporting DSD, namely WASAPI (DoP only) and ASIO (DoP & Native). That is the reason Playing DSD is part 2 of the guide, part 1 deals with relevant component installation.

  35. Gregory says:

    Thank you for this great tutorial, you saved me some time and the sound is glorious 🙂
    Cheers,
    Gregory

  36. Dennis Han says:

    What do the new Window[L] and Window[T} do for the DSD Processor?

    • Hi Dennis, check the DSD Processor section it now includes this new fields

      • Dennis Han says:

        Yes, I know the new fields are included, and that’s why I’m asking the question. What do Window[L] and Window[T] do since there are a number of options for each?

        • As I said above, it is explained under “Mode 3: Upsampling with the new “DSD Processor” component (v. 1.1.1 or newer)”, both terms are related to upsampling FIR

          • Dennis Han says:

            Sorry, I see the updates to your help list now. I thought you were telling me to see the DSD Processor preferences in foobar2000.

            Two questions: I am processing all inputs to either DSD64 or DSD64/48, but I prefer DSD64 to pass unprocessed. Do I leave all settings for DSD64 at “-“, which I assume means use the default value, or do I use the same settings I used for DSD128 through DSD512? My DSD DAC only supports DSD64. Does DSD/48 processing for a PCM input sampled at 48 kHz mean that the signal gets upsampled to 88.2 kHz, and 96 kHz gets upsampled to 176.4 kHz, etc.?

  37. Ivo Damianov says:

    Hi,
    I have made everything as described, but when I choose DSD in Output mode of the SACD Menu I get a strongly distorted sound. My dac is Chord Electronics Qutest. It does not help changing the driver from the original Chord Asio driver to Transcoder driver, same result… ((( A friend of mine has got OPPO Sonica, same story there…

    • Hi Ivo, exactly what mode did you use?

      • Ivo Damianov says:

        Hi, I tried to use Mode 1 and Mode 2. With both modes I have this story with distorted sound, when choosing DSD Output in the SACD Menu. By the way, it is a bit problematic for me that you have not given exact instructions about what to do in SACD-Output Mode submenu in the description of Mode 2. Maybe it is wrong to choose DSD there in the case of applying Mode 2? It works, if I choose PCM, but then I am not sure if the signal gets first converted to PCM, then back to DSD, which I definitely would not like to happen.
        Generally speaking I have two questions, both relating to the SACD plug-in:
        – what happens, when PCM is selected in SACD-Output Mode submenu?
        – what is the right choice to be selected in SACD-Output Mode, when applying Mode 2., that means making use of DSDTranscoder?

        Thank you for the assistance.

        P.S.: I do not know, if this is important or related hereto, but I have no problems playing DSD natively, that means with bitstreaming with JRiver or HQPlayer software.

        • You must have missed a step in the process, if you can play native DSD with either HQPlayer or JRiver there is no reason you can’t do it with Foobar. Please recheck carefuly and make sure you don’t miss anything.
          When PCM is selceted in output mode, the plugin outrputs PCM. If you want DSD then select either DSD or DSD+PCM. The SACD plugin component outputs DSD in DoP, the DSD Transcoder configuration depends on your setup and preferences.

          • Ivo Damianov says:

            No, I do not miss anything, it seems there was some bug in the previous versions of SACD plug-in. I have downloaded the latest versions of both Foobar2000 and SACD Plug-in, both from March this year. And it works excellent now, no worries at all!

            A big thank you to the developers, but I would like to ask again: is there any particular reason for not implementing the DSD native playback within the Foobar?

            • Yes there is, the developpers of Foobar don’t like nor want DSD and have stated they will never support it.

              • Ivo Damianov says:

                This is very interesting, of course, and important to me and I am sure to the millions of Foobar users around the world. Could you please provide a link to such statement from the developers of Foobar about DSD?

                • I don’t have the quotes nookmarked but you can search Foobar support forum (https://hydrogenaud.io/) and look for comments made by Peter (user name in red) about it. Also, he has stated that there wont be a 64bit version of the app that many have asked for. As the program is free one can’t really complain. I’m happy with using SACD plugin even if its a bit fiddly to set up (Thanks Maxim!).

                  • Ivo Damianov says:

                    I will have a look, thank you.
                    I am not complaining, but I am genuinely interested, because I really like Foobar2000, not because it is free, but because the sound is better, when compared with other software players like JPlayer or HQPlayer, etc.

  38. Vladimir Todorov says:

    Great guide, very helpful.
    Please also explain the new “DoP for Converter” option in SACD Plugin version 1.1.2, when possible.

    • This option lets you save DSD in DoP files in any container (FLAC, WAV, MP3, etc.), AFAIK these can only be played in Foobar and will be quite big in size since they include the original DSD plus the PCm wrapper. I can’t see the point in this but…. to each his own.

  39. Eric says:

    Does anyone know which mode to use for a Oppo 205 dac ?

    The foo_input_sacd-0.8.4.zip worked the best, but DSD 256 has some pops when playing.

    It worked perfect in Windows 7, now i just installed a fresh Windows 10 and I’m having issues..

  40. FORARTfe says:

    Hi everyone, I’ma a bit confused about DSD resampling in order to achieve better quality output on my hardware.

    My “DAC” ia a Zoom R16 audio interface wich performs 24/96 outputs.

    Thanks in advice.

  41. srle says:

    With SACD plugin 1.1.4, using DSDTranscoder ASIO driver 1.0.10, it disconnects when playing native DSD. So far only tested with DSD128 .dsf files. After one song, the playback stopped. I tried pressing the play or next button but it wouldn’t allow me to play the next song because foobar gave me the following message:
    “Unrecoverable playback error: The process receiving or sending data has terminated”.
    My DAC still shows the same message on the display (DSD 2x) as if it’s playing the file even though it’s disconnected.

    It also disconnects with SACD 0.9.6 plugin when playing native DSD files. The playback stops after one song either with DoP checkbox unmarked or DoP checkbox marked using DSDTranscoder. However, it is possible to play the next song by clicking “play’ or next button and there was no error message in foobar.

    • Do not install both ASIO proxy and DSDTranscoder, the later works fine and having both can lead to problems.

      • Ivo Damianov says:

        I have had numerous problems with ASIO and have deinstalled it completely, I work instead with Wasapi Event and I am completely satisfied with it.

      • srle says:

        ASIO proxy is not installed. Only DSD Transcoder and SACD plugin 1.1.4. To investigate the error I temporarily reverted back to SACD 0.9.6 (as the later was the last one to support Native DSD playback.

        • What DAC are you using? does it have the latest firmware and drivers?

          • srle says:

            This one:
            https://europe.yamaha.com/en/products/audio_visual/hifi_components/cd-s2100/index.html

            The DAC is limited to DSD 1x (Native and DoP) and DSD 2x (Native only).

            Latest driver is installed v.1.9.8 (Yamaha Steinberg USB Audio Driver). Users cannot update firmware and hence no firmware updates are available for download on Yamaha web site:

            https://europe.yamaha.com/en/products/audio_visual/hifi_components/cd-s2100/downloads.html#product-tabs

            The only way to use this USB DAC with foobar for DSD playback is as follows:

            Preferences – Output – Device: DSD:ASIO:Yamaha Steinberg USB ASIO

            Preferences – SACD :
            Output Mode: DSD+PCM
            DSD Processor: DSD Pprocessor

            Preferences – DSD Processor:
            Use DSD Processor
            Input Output
            DSD64 –
            DSD128 DSD64
            DSD256 DSD64
            DSD512 DSD64

            This way SACD plugin output is converted to DSD1x DoP.

            Trying to use DSDTranscoder 1.0.10 for native DSD playback and setting the DSD Processor as follows:

            Input Output
            DSD64 –
            DSD128 DSD128
            DSD256 DSD128
            DSD512 DSD128

            results in DAC disconnecting after one song. However this song either DSD 64 or DSD 128 played OK without errors.
            I tried pressing the play or next button but it wouldn’t allow me to play the next song because foobar gave me the following message:
            “Unrecoverable playback error: The process receiving or sending data has terminated”.

            • There are some instructions about the Yamaha ASIO driver configuration at their site (Foobar for DSD link), I assume you’ve set it up as instructed, right?
              OTOH, since your player supports DSD128 I’ll leave it as is and same goes for DSD256 and DSD512 unless you have some such files.
              If you have this issue even with regular DSD64 files then ther is a chance your Yamaha is not compatible with later versions of the plugin and probably you’ll need to test the one recommended in their guide (plugin and ASIO proxy).

              • srle says:

                In fact, I’ve never set it up as per Yamaha instructions. I considered Yamaha instructions are outdated as very old SACD plugin 0.6.4 and ASIO proxy 0.6.3 are covered. Instead I tried with SACD plugins 0.9.6 and 1.1.4. and the latest DSD Transcoder. Unfortunately with errors I described.
                Today I reverted back and strictly followed Yamaha instructions. Guess what, it now works without problems, either DSD64 or DSD128.

                • Glad you got it working.
                  Big brands are not the best at supporting their products. Usually they update stuff for a couple of years and then forget abut it. I guess they prefer customers to buy new gear?

          • srle says:

            This one:
            https://europe.yamaha.com/en/products/audio_visual/hifi_components/cd-s2100/index.html

            DAC is limited to DSD 1x (Native and DoP) and DSD 2x (Native only).

            Latest driver is installed v.1.9.8 (Yamaha Steinberg USB Audio Driver). Users cannot update firmware and hence no firmware updates are available for download on Yamaha web site:

            https://europe.yamaha.com/en/products/audio_visual/hifi_components/cd-s2100/downloads.html#product-tabs

            The only way to use this USB DAC for DSD playback with foobar is as follows:

            Preferences – Output – Device: DSD:ASIO:Yamaha Steinberg USB ASIO

            Preferences – SACD:
            Output Mode: DSD+PCM
            DSD Processor: DSD Pprocessor

            Preferences – DSD Processor:
            Use DSD Processor
            Input Output
            DSD64 –
            DSD128 DSD64
            DSD256 DSD64
            DSD512 DSD64

            This way SACD plugin output is converted to DSD1x DoP.

            Trying to use DSDTranscoder 1.0.10 for native DSD playback and setting the DSD Processor as follows:

            Input Output
            DSD64 –
            DSD128 DSD128
            DSD256 DSD128
            DSD512 DSD128

            results in DAC disconnecting after one song. However this song (.dff, .dsf, sacd.iso) either DSD 64 or DSD 128 plays fine without errors.
            The error emerges pressing play or next button. Foobar wont allow me to play the next song with the following message:
            “Unrecoverable playback error: The process receiving or sending data has terminated”.

  42. Elysée says:

    Hello! Thanks for this comprehensive and very informative article. I’ve learned so many things. I’m now able to configure properly foobar to send native Dsd256 to my DAC. It wasn’t possible without your support.
    I have a question though. Which option will you recommend in order to have the best sound quality while playing native DSD? Using the older sacd decoder (version 0.8.4) and asio proxy or jumping to the latest version and converting DoP into native dsd with the dsd transcoder as said in your article?

  43. Ivo Damianov says:

    I do not see any real reason to convert DoP into “native” DSD, DoP is native too, only dressed as PCM. I have tried it out at home many times and I do not hear any difference. And using the latest version of drivers and plugins is generally a good idea.

    • There is a reason for it if you are rate limted by DAC/drivers when using DoP Vs native. Else it makes no difference though it implies a (very) slight increase in CPU usage and (harmless) used USB bandwith compared to decoding ant transmiting native.

    • Tidason says:

      It was just a matter of curiosity. I’ve downloaded free Dsd256 samples and I wasn’t able to play it, because it requires 32bit 705600 hz. While trying to play it I got error message. But in real life I don’t even have Dsd256 music files.
      I have got some ideas to play back that kind of files, using dsd processor to downsample the file into Dsd128.

      • Dennis Han says:

        There are free DSD64, DSD128, and DSD256 songs available from NativeDSD Music and Blue Coast. My DSD DAC only plays DSD64, but I use the other formats to test the DSD Processor and it works pretty well.

  44. Tidason says:

    Hi!
    Thanks for sharing these. I’ll try to get them.

    • Tidason says:

      I did notice but while playing dsd files activating the eq DSP makes the player crazy. The time counter starts to go faster than it should. The sound is not affected but the playback just stopped prematurely. Disabling the eq or putting all the slider to 0 resolve the problem

  45. Robert says:

    Hello there! Thank you for your wonderful guide. I was looking for a very specific guide that will let me use the Octa Speed of my iFi Micro iDSD all the time. I was able to do it before but the step by step guide was not updated. The ASIO proxy 0.9.4 has different inputs from ASIO proxy 0.7.1.2 and I don’t really understand how it works. Before I was able to play mp3, flac or some free dsd files from blue coast at DSD512(Magenta LED is always on) Now whenever I play any highres files it will turn green or sometimes yellow. I never get the Magenta light. How to enable it? I tried to install the 7.1.2 but I get error playing 192000 hz files. Please help. Thank you!

    • If you are getting the green LED no matter what you play then you have not selected ASIO nor WASAPI in Playback->Output. You are outputting ether 16/44.1 or 16/48 hence the green light.
      I also have the Micro iDSD so this will work:
      1) Make sure you have the ASIO 2.1.2 plugin installed.
      2) Unistntall ASIO Proxy and any old SACD components you may have and replace them with the latest versions of SACD plugin and DSD Transcoder.
      3) Select “DSD:ASIO:DSD TRANSCODER (DoP/Native)” in Playback -> Output
      3) Read a follow Mode 2 and 3 of the guide if you want to upsample

  46. Giancarlo says:

    sareste cosi’ gentili da spiegarmi la configurazione completa per riproduzione dsd nativa con dac topping d70?
    vi ringrazio anticipatamente,

  47. Giancarlo says:

    would you be so kind as to explain the complete configuration for native dsd playback with dac topping d70?
    I thank you in advance,

    • See part 1 of the guide to see how to install the necessary plugins (ASIO & SACD plugin) plus any other you feel like, then configure Foobar as recommended.
      In part 2 you’ll find Mode 1 for playing bitperfect DSD files, mode 2 shoes how to output native DSD which your DAC supports and Mode 3 how to upconvert PCM files to DSD.
      Just follow the steps

  48. Ramon says:

    Thanks for your tutorial. I have a dac consonance 1.3 with driver xmos. I have carefully read your configuration advice. In the configuration panel I have written dsd128 / system D / none / Dop to convert all PCM resolutions in the Dac to DSD. I’ve tried it with a 44.1 file and another 88.2 file and it works ok. However I have a doubt. Configure the dac to always convert from pcm to dsd128 before the analog conversion gets the best possible sound? Or is it better for the dac to convert from pcm to analog without first converting to dsd? thanks. Ramon. Catalonia. Spain.

    • Hi Ramon, most probably your DAC uses a modern converter sigma delta chip so PCM will always be converted to sigma delta before being converted to analog. Unless you can verify your DAC uses a true PCM IC or a discrete ladder converter, in which case it wouldn’t do native DSD, then chances are the conversion provided by Foobar + SACD plugin is technically better though it may not be “audibly” better.

      • Ramon says:

        Thanks. My Dac Opera Consonance 1.3DSD supports PCM up to 24Bit / 192KHz and DSD up to DSD 128.
        It does not support PCM resolutions> 192 or DSD> 128.
        I have 3 questions about driver configuration (mode 4):
        1. How do I have to configure the ‘output’ box for PCM resolutions 352800, 384000,705600 y and 1411200? (Is it correct to write DSD128 / SDMtype D / None / Dop?)
        2. How do I have to configure the driver’s ‘output’ box for DSD 256 and DSD512? (Is it correct to write DSD128 / SDMtypeD / None / Doc?).
        3. I have all boxes PCM = <192, DSD64 and DSD128 configured as DSD128 / SDM typeD / None / Dop. It is right?
        Thank you
        Ramon

        • 1. AFAIK, you are not going to find any music available in >352.8HZ, most available HD PCM material is available either in 96 or 192KHz.
          2. With your DAC it is not possible to DSD256 or DSD512 without downconversion to DSD128 and in Foobar that implies an intermediate PCM stage. Fortuntely, there is a minuscule amount of DSD256 and even smaller of DSD512 music so don’t worry, you are not missing lossing much.
          3. Sorry, I dont undertsand what you mean with that.

          It all depends on what you want to do. My recommendation in your case would be to convert all PCM to DoP DSD128 and use your DAC direct DSD mode, also leave DSD64/128 sources “as is”. That is how I have mine setup.

          • RAMON says:

            The recommendation is clear for all pcm resolutions.
            It is also clear for dsd64 and dsd 128, I do not write anything, I leave it by default. But to work with dsd 256 and dsd512 do I have to write dsd128 or is it wrong without writing anything and leaving the boxes in ‘-‘? Thank you very much.

            • What I was suggesting is the following (*)

              44.1K -> DSD128 (DoP)
              48K -> DSD128 (DoP)
              88.2K -> DSD128 (DoP)
              96K -> DSD128 (DoP)
              176.4K -> DSD128 (DoP)
              192K -> DSD128 (DoP)
              352.8K -> DSD128 (DoP)
              384K -> DSD128 (DoP) – Only bother if you actually have 384K files
              DSD64->
              DSD128->
              DSD256 -> DSD128 (DoP) – Only bother if you actually have DSD256 files
              DSD5123 -> DSD128 (DoP) – Only bother if you actually have DSD256 files

              (*) Don’t know if your DAC supports 48K based DSD, if it doesn’t you can use SOX for changing to the closest matching rate, eg. 88.2>96 before sending to DSD Processor.

              • Ramon says:

                Thank you. This configuration is the most logic and just the one I think I reading your suggestions. A few days ago I have asked the same questions to the manufacturer of the driver and also the manufacturer of the dac but I still do not have the answer. I will try it with different pcm and dsd. Thank you so much for everything. Ramon

  49. Tony Ho says:

    Hello, first of all, I’d like to thank you for the informative tutorial. Now, I ran into an issue playing DSD files. My DAC only supports PCM signals and I followed Section II of this tutorial but I still could not play any DSD files. I then played around with the output device setting and out of all the devices available, DSD can only be played with “DS: xxxxx xxxxx” selected. I tried the ASIO: xxxxx xxxxx, DSD: WASAPI (push + event): xxxxx xxxxx, DSD: ASIO: xxxxx xxxxx, and WASAPI (push + event): xxxxx xxxxx, none of these worked. Am I doing something wrong or is DirectSound the only option for me if I have a PCM only DAC?
    Thank you in advance!

    • Dennis Han says:

      If your DAC plays only PCM files and not DSD files, then you have to convert the DSD to PCM using the SACD plug-in. Then use the same foobar2000 output connection to your DAC for all files being sent to it, which are all PCM. You don’t state what your DAC is or the physical connection to it, but if it’s connected with USB then use WASAPI (event) and if it’s connected with S/PDIF, then use WASAPI (push).

      • Dennis Han says:

        Correction: “Then use the same foobar2000 output connection to your DAC for all files being sent to it… ” should have been stated as

        Then use the same foobar2000 output connection to your DAC for all music being sent to it.

        It’s really a PCM music stream that is being sent to the DAC, not files.

      • Tony Ho says:

        Thank you for the response. I use S/PDIF connection, toslink specifically. I followed the instructions in Section II, set output mode to PCM, used one of the Installable FIR (60kHz_641 filter from the SACD Input extract) for DSD2PCM mode. I have tried WASAPI (push) with no success; I kept getting error saying something like not being able to resample sample rate. Should I be using a different DSD2PCM mode? I am using NAD D3020v2 integrated amp by the way. Thank you again in advance.

        • Dennis Han says:

          Are you converting the DSD to a PCM sampling rate that your DAC can accept? Some DACs accept multiples of 44.1 kHz, 48 kHz, or both up to some maximum.

          • Tony Ho says:

            The DAC in the NAD is 24/192, so I selected 176.4 under PCM Samplerate. Is there somewhere else I need to change the sampling rate? Or is that the wrong samplerate to use? Or are there other settings I need to configure? Maybe from Windows 10 sound settings? I really appreciate all the help!

            • Dennis Han says:

              Try 88.2 kHz since that matches DSD64 best, and if that doesn’t work, try 96 kHz.

              I have a PCM DAC and a DSD DAC, both connected with USB, and I can play PCM and DSD files with either DAC because of the SACD plug-in and its DSD Processor. My laptop has only a PCM DAC and it also plays DSD files just fine. Here are the settings I use with the SACD plug-in for my laptop:

              Output mode: PCM (DoP unchecked)
              Volume: 0 dB and LFE as-is (overloads not logged)
              PCM sample rate: 88200 Hz
              DSD2PCM mode: Multistage (64fp)
              Preferrable area: None
              All boxes checked
              DSD Processor: None (because you don’t have a DSD DAC)
              Trace is unchecked

              For the DSD Processor plug-in, check do not use.

              I also have set in the Windows Sound Control Panel for every DAC to…

              Disable all enhancements
              Default format is 24/192 (for you based on your DAC)
              Spatial sound is off.

              I also have each DAC configured for full-range left and right speakers, even though I use headphones most of the time because my headphones are full range.

              Turn off Windows Sonic for Headphones and any other sound processor, such as BEATS if you have it.

              The whole purpose of having foobar2000 is to get bit-perfect sound to your DAC using WASAPI or ASIO. Otherwise, you’d be using Windows Media Player or iTunes with DirectSound.

              • Tony Ho says:

                Dennis, I really appreciate the informative response. I will give those settings a try once I am home and report back! Thank you again!

                • Since you are using SPDIF the maximum rate supported will be 176.4KHz. If your DAC doesn’t support 176 nor 88.2KHz, since DSDProcessor does not output 96 or 192KHz could use a PCM resampler like SOX or SRCC to get those rates if you want higher than 44.1.

                  • Dennis Han says:

                    Good point because a lot of DACs have a maximum S/PDIF sampling rate of 96 kHz, which is a good reason to use asynchronous USB instead as well as less jitter.

                    • Tony Ho says:

                      Thank you Dennis and diyaudioheaven for you replies. According to the NAD 3020v2 owner’s manual (this version does not have USB like v1), SPDIF input supports 24/192. I tried with the same settings Dennis provided but couldn’t play the files unless I changed the sample rate to 44.1kHz. I then followed diyaudioheaven’s recommendation of using resampler to add an Active DSP. Here is the setting (I used Resampler SRC):

                      Target sample rate: 192kHz
                      Mode: Best Sinc Interpolator
                      Exclude rates: left uncheck

                      I am now able to play DSD when I change the PCM sample rate to 176.4kHz in SACD tool settings. However, there are some questions I have regarding the resampler. Are the settings I selected ideal? Or should the “Target sample rate” match the “PCM sample rate” in SACD tool settings? And what about the “Mode”?

                      A big thank you again for everyone’s help!

                    • Dennis Han says:

                      I like a resampler that gives me some control over the phase response, so I use Resampler-V. You can find it using Google. Another is Resampler (SoX) mod2. I prefer minimum phase as opposed to linear. There is a website that has recordings of drum hits played back with different resampler filter settings. Linear has noticeable pre-ringing, but for most music, it probably isn’t noticealb.e

                    • Indeed, mod/mod2 is a very nice resampler.
                      It can be found here: https://hydrogenaud.io/index.php/topic,67373.0.html
                      For simplicity’s sake I suggest you use mod to upsample everything to 192K. Set quality to “Best”, leave passband at 95% and finally, depending on what type of music you lsiten to, set phase to either 0% (pop, rock, studio recorded music) or 50% (classical, acoustic, live music).

                    • Tony Ho says:

                      I’ve finally had a chance to try the Resamplers you guys recommended. Of the Resampler-V and SoX mod/mod2, mod2 is the only one that doesn’t work. I keep getting an “unsupported stream format” error message when I tried playing DSD files. However, Resampler-V and SoX mod both work when I replicated the settings you recommended. Not sure what the issue is for me when using Mod2.
                      Thanks for the help again.

                    • Dennis Han says:

                      Resampler-V has a SoX mode; SSRC is the default mode. See SoX there works.

              • Ivo Damianov says:

                Hi Dennis,

                Why do you think that “88.2 kHz … matches DSD64 best”? For all I know, DSD64 corresponds to something like 118 kHz/24, pure mathematical calculation, of course. But I am not a specialist in the field and maybe I got this wrong. So would you care to explain this?
                Thank you in advance.

                • Dennis Han says:

                  The DSD sampling rate is a multiple of 44.1 kHz, so it makes sense when converted to PCM that the sampling rate remains a multiple of 44.1 kHz. I’ve read in multiple places throughout the years that 88.2 kHz works best for DSD64, so try searching Google. You’ll also find people who argue that DSD64 is no better than CD quality and to use 44.1 kHz.

                  I think the main reason reissues sound better with DSD is because of the mastering process is done with high-fidelity in mind. There’s no reason CDs can’t sound as good except for the mastering choices record companies make, such as extreme dynamic compression. CDs from the 1980s and early 90s do not sound this bad because record companies were trying to show off the dynamic range of CDs. High-resolution PCM files started out this way, but now are mainly just higher sampling rates of CD mastered files that also have extreme dynamic compression. DSD has managed to avoid this.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.