Foobar 2000 for Dummies (Part 2) – Playing DSD – SACD plugin (0.9.x and 1.x.x Series)

(Last updated March 12th 2021)

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.


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.

SACD Plugin versions 0.9.x and 1.0.x release log:

03/12/21: Version 1.3.4 – WavPack updated to version 5.4.0.

03/11/21: Version 1.3.3 – Bit depth while converting from CUE fixed.

02/28/21: Version 1.3.2 – ReplayGain scan at 0 dB gain (doesn’t depend on “PCM Volume” value).

02/23/21: Version 1.3.1 – Compatibility with foo_out_asio2, foo_out_wasapi2 output components.

02/16/21: Version 1.3.0 – Experimental: Automatic output setup for DSD playback added.

01/17/21: Version 1.2.7 – Fading for DSD output is in somewhat fixed (nevertheless doesn’t work for DSD tracks)

11/23/20: Version 1.2.6 – MD5 hash generation fixed.

11/13/20: Version 1.2.5 – DSD to PCM filter delay compensation removed.

11/08/20: Version 1.2.4 – Seamless DSD to PCM for single converter thread.

05/01/20: Version 1.2.3 – More compatibility with DSP plugins.

04/04/20: Version 1.2.2 – DSDIFF/DSF file handling fixed

03/31/20: Version 1.2.1 – UPnP playback fixed.

03/25/18: Version 1.2.0 – Experimental: Samplerate neutral DST decoder

03/21/20: Version 1.1.12 – COM initialization model reverted back to apartment threaded

03/09/20: Version 1.1.11 – COM initialization fixed

03/06/20: Version 1.1.10 – Experimental: DSD1024 playback.

01/03/20: Version 1.1.9 – DSDIFF last DST frame reading fixed

12/01/19: Version 1.1.8 – 1/75s track padding removed.

11/13/19: Version 1.1.7 – Tag handling skipped for multitrack WavPacks.

11/12/19: Version 1.1.6 – Experimental: Album art supported.

10/19/19: Version 1.1.5 – DSF read/seek fixed.

07/26/19: Version 1.1.4 – Experimental: Foobar 1.5.x SDK, no Windows XP support.

05/26/19: Version 1.1.3 – Subsong indexing changed from 0-based to 1-based. Song infos need to be reloaded.

05/11/19: Version 1.1.2 (& DSD Processor v.1.1.3) – “DoP for Converter” option (When box is checked it allows to save DSD files to DoP FLAC, WAV, MP3, etc. when converting, resulting files will not play in PCM only players) and support for WavPack embedded CUE added.

03/07/19: Version 1.1.1a (& DSD Processor (v.1.1.2) now selects Hann window type as default instead of Rectangular.

02/25/19: Version 1.1.1 – Uneven padding error in DSDIFF fixed. Includes a new version of DSD Processor (v. 1.1.1) that includes 48KHz->44.1KHz resampling with 2 new configurable paramenters; Window Length (8-8192 samples) and Window Type (Barlett, Blackman, Hamming, Hann & rectangular).

01/26/18: Version 1.1.0 – Experimental: Foobar 1.4.x SDK.

11/07/17: Version 1.0.11 – Experimental: Upgraded DSD processor plugin.

08/14/17: Version 1.0.10 – DSD stream handling reverted back to 1.0.7. DSDTranscoder now included in SACD plugin zip.

06/04/17: Version 1.0.9 – DSD stream handling modified.

05/31/17: Version 1.0.8 – WavPack library updated to 5.1.0.

03/24/17: Version 1.0.7 – DSD stream handling simplified.

02/22/17: Version 1.0.6 – +-10dB volume adjustment for LFE channel. (see last section)

12/31/16: Version 1.0.5 – Experimental: DFF/DSF ID3v2 tags supported.

12/30/16: Version 1.0.4 – Experimental: WavPack DSD playback.(Details HERE)

12/15/16: Version 1.0.3 – DSDIFF track length fixed.

10/19/16: Version 1.0.2 – SACD metabase creation fixed.

10/18/16: Version 1.0.1 – Freezing on pause fixed.

10/13/16: Version 1.0.0 – Experimental: Installable DSD Processor plugins.

08/10/16: Version 0.9.11 – Crash when no output device fixed.

08/08/16: Version 0.9.10 – WASAPI push/event output mixup fixed.

08/03/16: Version 0.9.9 – Metadata setup fixed.

06/17/16: Version 0.9.8 – DSD and PCM modes have the same number of output channels.

29/04/16: Version 0.9.7 – DoP for ASIO/WASAPI/DS, direct DSD for ASIO removed.

12/09/15: Version 0.9.6 – Monoaural playback supported.

11/23/15: Version 0.9.5 – Crash when no ASIO devices are presented in the system fixed.

11/20/15: Version 0.9.4 – Device channel names/types in channel mapping fixed.

11/13/15: Version 0.9.3 – DSD output trace into foobar console added.

10/28/15: Version 0.9.2 – PCM overload fixed.

10/27/15: Version 0.9.1 – ASIO handling changed.

10/22/15: Version 0.9.0 – Sketchy: Direct DSD output for compatible ASIO devices (ASIO Proxy driver is not required).

  • 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 ( 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:


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 either “DSD:ASIO:xxxxxxxxx”, “DSD:WASAPI (Event):xxxxxxxxx” or “DSD:WASAPI (Push):xxxxxxxxx” (where xxxxxxxxx our DAC’s driver name) as Foobar’s output device:


  • 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 , extract the content from the zip and run  the DSDTranscode executable file, accept all default options until installation is complete.

DSDTranscoder release history:

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.

11/13/20: Version 1.1.1 – Start/Stop reentrance fixed again.

11/01/20: Version 1.1.0 – DoP/Native handling simplified, DSD1024 added.

08/14/17: Version 1.0.10 – Start/Stop reentrance fixed.

08/01/17: Version 1.0.9-1 – Transition delay handling fixed.

07/13/17: Version 1.0.8 – Transition delay handling changed (broken, do not use)

06/07/17: Version 1.0.7 – Null output added.

06/04/17: Version 1.0.6 – Transition delay and sample position override options added.

05/31/17: Version 1.0.5 – Data tap added.

05/15/17: Version 1.0.4 – Auto mode removed.

05/11/17: Version 1.0.3 – Experimental: Switching between DSD and PCM modes reduced.

05/07/17: Version 1.0.2 – Experimental: Support for non-DoP devices added, not stable yet.

05/02/17: Version 1.0.1 – Experimental: DSD->DoP path added, still in test bed.

04/26/17: Version 1.0.0 – Experimental: The test bed.

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:


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


The following pop up window will appear:


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:


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


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.


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:


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.:


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


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:


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 – DSD/PCM switching fixed.

05/08/14: Version – 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:


Then go to ASIO and double click foo_dsd_asio:


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


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:


  • 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:


Foo_dsd_asio configuration:


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


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

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 ( 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:


Since Version 1.0.6 a LFE configuration option has been added:


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:


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
  1. Ramon says:

    Hi. I have experience in Foobar with Flac i Ape, to cut and convert the tracks of the classical music archives. For example, Foobar allows to cut the tracks of a 3-act Opera, which is commercially distributed in 4 discs, to generate 3 new Flac files, with an entire Act each. The same can be done in symphonies that come in 2 separate CDs, generate a Flac for each movement or a single Flac for the entire symphony distributed internally on tracks. Now I start using the Foobar SACD plugin. The question is: With Foobar is it possible to do the same in DSD? Can I cut DSD files on tracks and regenerate new DSD files by redrawing the tracks? Can I put together 2 separate DSD files? Can I or divide it into different independent DSD files? Thank you.

    • I’m afarid you can’t, the moment you edit them they either break or are converted to PCM. AFAIK editing DSD is not possible ATM though you can covert to ant PCM format a do the editing.

      • Ramon says:

        1. If I convert the DSD to Flac, what resolution would be the most advisable to maintain sound quality?
        2. Will I lose a lot of sound quality with the first conversion from DSD to Flac in Foobar and the second conversion from Flac to DSD 128 in the Dac, when compared to the playback quality of the DSD directly in the dac without any conversion? What do you recommend me?
        Thank you

        • Dennis Han says:

          Converting between DSD and PCM causes a little degradation just as resampling does. The recording companies convert between DSD and PCM multiple times unless the recording was direct to DSD with no mixing afterward, so the degradation is not big.

          Most people convert DSD to 24-bit PCM with sampling rates of 88.2 kHz for DSD64, 176.4 kHz for DSD128, and 352.8 kHz for DSD256. Setting the resampling filter to minimum phase rather than linear phase will help reduce distortion, but you may have to try both yourself. There is a website, and I don’t know the URL offhand, that demonstrates filter phase distortion and how to recognize it.

        • chichaz says:

          You can do this with a Pyramix workstation. There are also a few other DAWs that support DSD audio. Edits with crossfades are converted to DXD (a comparable PCM sample rate). However if you’re simply splitting up files or joining them during breaks in the music, using a DAW is the way to do it.

  2. Brad says:

    im trying to use foobar and your guide to output DSD from my PC to my denon AVR (which supports DSD64) but cannot get audio output. Am I correct in assuming this is not possible over HDMI?

    • Dennis Han says:

      DSD over HDMI is possible if your AVR supports that and your PC supports that. You might need the DoP option to make the DSD look similar to PCM but it’s not a conversion to PCM. Denon may have something in a forum about getting this work.

    • Ivo Damianov says:

      Which Denon AVR would that be?

  3. Ramon says:

    Hi. What is the best link to download the pluggin SoX for foobar? I see that in sourgeforge there are 2 programs. Thank you.

      • Ramon says:

        Hi. I have downloaded and installed the SoX plugin in foobar. Following your instructions, I would need to convert files from Sacd or DSD64 or DSD128 or Flac 24/192 discs with Foobar / SoX to 24/176 files, to obtain tracks with multiple sampling rates of 44Hz that my Dac can convert to DSD. Normally I select the tracks of the original disc that interest me, to form a Flac file only with the 3 tracks of a Beethoven sonata (for example) by selecting them from an entire sonatas disc. I think this procedure of converting and re-copying is the one that you recommend me to cut parts of disks. I have done this before with Foobar without the SoX plug-in installed. Is there a tutorial available to do this with SoX installed in Foobar? Thank you. Merry Christmas

  4. nixylls says:

    Hello and warm congratulations for the guide, wonderfully argued.
    So, I married solution 2 (Bitperfect which issues native DSD via DSDTranscoder) and I must say that I am happy with it; however, I have concerns about Foobar’s buffer.
    I’ve always kept it at 50ms, always playing great, which is unthinkable now with the output to DSD256.
    What could be the best solution, to have an optimal processing process?

    • That is difficult to answer because it depends on your hardware. I have the FB2K buffer at 900ms on a 3rd gen Core i7 with 16GB of RAM but there is also the DACs drivers and its own internal buffer. I’d suggest you play with 300ms+ values and/or your DACs buffer if you have an XMOS DAC which allows for it and see what is the minimum for stable and reliable play

      • nixylls says:

        So, I find myself playing on Windows 10, with Intel i7 and 16 GB of ram. With DSDtranscoder, to be able to run my smsl su-8 smoothly all set to native dsd512, I had to change the foobar buffer to 30000, same thing on the xmos driver, setting the samples to the maximum.
        Otherwise, with DSD foo dsd asio, setting everything on DSD512 I can get the minimum of buffer and the minimum of samples on the xmos driver, turning perfectly without any hitch.
        I wonder if I’m not doing something wrong … what difference lies in the two proxies to allow this significant difference in piloting?

  5. aniello says:

    salve . ci sta chi mi dice come fare ad ascoltare file DSD256native usando fooobar e mandando il tutto sul mio LKS MH-DA004 , perche mi compare sul display la scritta PCM352 e non DSD256. in attesa di risposta distintamente vi saluto

  6. Paul says:

    Since this version 05/26/19: Version 1.1.3 – Subsong indexing changed from 0-based to 1-based. Song infos need to be reloaded. My tags made with the ISO file itself so tags are stored with the ISO as a xml file are not playing correctly from the playlist. If I play the first song time elapsed shows as the full length of th iso eg 5:30/ 1:12:48 and it will play the whole iso so impossible to see what songs are playing. If I play the second or third or forth etc it shows as the song above two times. So it is impossible to play the last song because there is no next song to select. ie to play a song I have to press the following one. Help appreciated. flac mp3 etc are all ok in playlist working as normal.

    • can’t help with that, you’d need to go into the SACD plugin developer’s site and ask there.
      Anyway, I don’t play ISOs. I extract the DFF/DSF tracks and compress them with wavpack. It doesn’t reach DFF + DST compression levels but is easier on the CPU when playing and supports robust “on file” tagging. I don’t see the need to use ISOs.

      • Dennis Han says:

        If the question is how to fix ISO listings in foobar2000 because the indexing changed, what works for me is to delete the tracks from foobar2000 and then drag the ISO file to it. The indexing in the list is fixed. If that doesn’t work, then delete the XML file and start the tagging process again.

  7. Ramon says:

    I have my Opera Audio Reference DAC connected to the PC with foobar, with the SACD output in DSD with DoP and the foo asio driver configured like this:
    44.1K -> DSD128 (DoP)
    48K -> DSD128 (DoP)
    88.2K -> DSD128 (DoP)
    96K -> DSD128 (DoP)
    176.4K / DoP64 -> DSD128 (DoP)
    192K / Dop64 -> DSD128 (DoP)
    352.8K / Dop128 -> DSD128 (DoP)
    384K / Dop128 -> DSD128 (DoP)
    DSD64 -> —-
    DSD128 -> —-
    DSD256 -> DSD128 (DoP)
    DSD5123 -> DSD128 (DoP)
    The problem is the following:
    – PCM files enter the DAC correctly as DSD at 5.6MHZ. It’sOK.
    – DSD128 files enter correctly too. It’s OKAY too.
    – But foobar becomes unstable with DSD64 files (sent with DoP) until it hangs.
    I don’t know if it can be the PC that is not very powerful or I have the buffer badly configured.
    I do not want to convert DSD64 to DSD128 but I believe that with this configuration, DSD64 (DoP) is converted to DSD128.
    If I leave the box 176.4K / DoP64 and the box 192K / Dop64 without converting, the PCMs to 176 and 192 they do not convert.
    What I can do?
    176.4K / DoP64 -> DSD64 (DoP)
    192K / Dop64 -> DSD64 (DoP)
    Or this?
    176.4K / DoP64 -> —
    192K / Dop64 -> –
    Another configuration?
    What would you do?
    Thank you

    • Hi Ramon, what Foobar and SACD plugin versions are you using? is there any reason you are using foo_dsd_asio instead of DSDTranscoder?

      • Ramon says:

        I have updated SACD and FOOBAR. I have installed DSDTRANSCODER. In OUTPUT I have chosen DSD ASIO DSDTRANSCODER. In SACD I have activated DSD and a click on DoP. In ASIO, double click on DSD TRANSCODER. In the ASIO DEVICE box, I have configured the 3 options that I can choose: NULL OUTPOUT, FOO ASIO and XMOS. I have left all of them with the default configuration, which is DoP in columns x44 and x48 in rows DoP 64, 128, 256 and 512. And DSD for columns x44 and x48 of the rows DSD64,128, 256 and 512.
        The result is that DSD 64 and DSD 128 work OK in the DAC (they enter 2.8MHz & 5.6MHz), without instability in foobar. But PCMs enter the bitperfect DAC without converting to 44k, 96k, 192k etc. Therefore good for DSD but bad for PCM. I must be doing something wrong. I have reviewed the configuration 2 times and I do not see the error. Thanks for your tips.

        • Scrol down Part 2 of the guide to Mode 3. There you’ll find how to play untouched DSD while converting PCM to DSD with the DSD Processor

          • Ramon says:

            Thank you. I have configured DSDprocessor as indicated in the tutorial. For PCM based on 44100 I have written DSD128 / System D / 27 / HANN / NONE / fb32, For PCM based on 48, the same changing only DSD128 for DSD128 / 48. I have tried several files. FOOBAR works well for low and medium sampling rates, but in 176000-192000 with some files it becomes unstable and stops, I suspect it is due to the hardware (it is a 2014 PC).
            In order not to have stability problems, I think I have to lower the level of the configuration parameters. Question 1: Will I keep better quality if I am better off from DSD128 to DSD64 or lower from NONE to x8?
            Question 2: In any case, will I have better quality with the SACD / DSDProcessor conversion and enter the DAC with DSD? Or on the contrary I will have similar quality entering the DAC with PCM bitperfect and that the DAC does all the work of analog digital conversion? Is it demonstrated according to your experience that with DSDprocessor it improves the sound quality with respect to bitperfect? Thank you very much for your advice

            • Glad you finally got it running.
              My PC is even older (Gen. 3 Core i7) and runs fine converting PCM up to DSD256 with a “heavy” stting, is not so much the age as the CPU type.
              Q1) Unless you have a whimpy i3, I’d stick to NONE and see if Increasing Foobar’s buffer or, if available, in your XMOS drivers.
              Q2) Objectively (ie. measuarably) it could be better depending on the DAC’s IC and its processing but whether the ‘potential’ increase in SQ is pereceibable or not is open to debate. For some the different is night/day for others there is 0 difference. Try it and see for yourself.

              • Ramon says:

                I asked you this because I think that the engineers of a manufacturer of high-fidelity products should use the best quality / price ratio hardware and software. And instead these open programs that we use, such as foobar, dsdprocessor or sacd are open computer programs that, although it has a continuous update, is a free software. In any case, thank you very much, you have helped me a lot in the configuration and contributing your criteria and experience in these matters. It is clear that there are no undisputed principles or univocal solutions, in the end we must be able to analyze the sound of the team with something as subjective as the human ear, just like when we attend auditions or buy equipment at a store. Thank you, and we continue talking with the updates that appear.

  8. Ramon says:

    Hi. A beginner consultation in DSD conversion to FLAC. I have downloaded and installed the SoX component. In Convert / Processing I have checked the ‘enable decode processing’ box. In ‘Active DSD’ have I loaded the ‘Resampler SoX mod’ and after click in ‘…’, I have chosen 88.2, quality ‘normal’ . I have tried with DVDAudio and SACD files. The result is a file that plays in foobar but is either silent or a continuous whistle, without music. When I do the same for a PCM file the result is good. I do not understand. What am i doing wrong?

    • Sorry, can’t help you with SOX, I don’t use it.
      Have you checked the convert to Wavpack section? It could help if you want to play DSD both as DSD in Foobar (and a few other players) and as PCM in those players that don’t support DSD.

      • Ramon says:

        I have tried SoX because I have read in this same forum and in hydrogenaudio that it is very good for oversampling, better than the one that by default is included in the Foobar converter.

        I do not understand why once the conversion is done using Foobar activating SoX, when I play the PCM176Hz file in foobar I do not hear any sound, or I only hear a whistle. I think I am making a mistake in the configuration of the SoX converter because the other PCM and DSD files that I have saved are playing correctly. I only use Foobar and I have converted many times from PCM to PCM, it works perfectly, the problem is from DSD to PCM 176.

        I don’t know WavPack or know how it works or what it is for. Do you know any tutorial where I can study it?

        Thank you

  9. Andy says:

    Hi, I use Foobar2000 and really old laptop based player (Intel Core2 Duo CPU T9600 2,8GHz with only 1 GB RAM) but my system is really well optimized. The player works with Amanero.

    I can use both Version 1.0.10 of SACD plugin as well Version 0.9.6. Both work proper without any issues, the newest with DSP processor (both DSD64 and DSD128 output), with the older plugin I have native DSD256 output.

    My question: Is there any advantage to use newer or the newest version of SACD plugin?

  10. Dennis Han says:

    05/26/19: Version 1.1.3 – Subsong indexing changed from 0-based to 1-based. Song infos need to be reloaded.

    Is there an easy way to edit the XML file to fix the indexing? When I reload the ISO file into foobar2000, track 1 is now listed as track 2 with the track 2 title, etc., and the final track is repeated. I know I can delete the XML file and start tagging again, but I have a lot of these and I’m trying to find a simpler way to do this. When I load the XML file into Notepad++ or LibreOffice, the file contents is just one long line. If this could be displayed as a list, the editing could go much faster.

  11. Dennis Han says:

    DSD Converter 0.1.4 (but foobar2000 identifies as 0.1.5):
    I have no problem playing PCM files as DSD64 or DSF files as DSD64 using the DSD Processor. I’m trying to convert a PCM file (16/44.1) and a DSF file just to see how the DSD Converter works. It appears the conversion worked, but there is no file in the output folder. The result window lists the file just processed and no error message or code. I’ve tried output formats DSF and DSDIFF and all of their options. Any advice?

    • Right click on track or selection you want to convert and from the pop up window click on convert -> DSD Converter to get the menu.
      Conversion will be made to whatever DSD rate you have selected for the source PCM rate.

      • Dennis Han says:

        Thanks for the reply, but you just repeated what I had stated already. That process doesn’t work because there is no output file at the end of it.

        • Dennis Han says:

          I found the problem: The output folder has to be chosen with the GUI and not pasted into the output path as text. Until that, the output was going to where I store the filters that come with the SACD plug-in. Works fine now, case closed, although maybe note somewhere that the GUI has to be used to choose the output folder.

  12. h6 says:

    I am hoping you can help and advise me to set up an ifi-audio Zen Dac using foobar and a windows PC. I first wanted to test the Zen with some DSD 256 files to see if the dac could handle the bit rate. The Dac has an led to indicate the audio format and sampling frequency. The only setting to get all audio formats/sampling rates to play accurately (according to the led) is Mode 3. Can you explain why I have experienced the following anomalies

    Mode 1: (“Bit perfect”) I set output > device to DSD:ASIO:ifi HD USB Audio. With this setting I can play DSD 64 & 128 and the led is correct: cyan but when attempting to play DSD 256 I receive the error message: “Unrecoverable playback error: Sample rate of 705600 HZ not supported by the device“ Another issue with this setting when selecting SACD, I didn’t get 60khz, 160db in the DSD2PCM section. This results in a pop up occurring every time I play a DSD file: “No installed FIR” PCM 44,96 play (correct green led) PCM 192 plays ( correct yellow led).

    Mode 2: (Bitperfect outputting native DSD through DSDTranscoder} output > device DSD:ASIO:Transcoder (DoP/Native). ASIO Driver > DSD Transponder (DoP/Native), ASIO Device ifi HD USB Audio (set all sample rates to DSD in the pop up window). In this mode the DSD 256 file plays and the led correctly illuminates blue, DSD 64 & 128 play (cyan led) PCM 44, 96 play (green led) but 192 wont play. it generates an error message: “ Unrecoverable playback error: Sample rate of 192000 HZ not supported by the device.”

    Mode 3: Upsampling with the “DSD Processor” component with output > device DSD:ASIO:Transcoder (DoP/Native) and the DSD Processor activated. I can upsample all PCM and DSD files up to DSD256 (blue led). Is this the best mode? Do you recommend to upsample everything to DSD 256 (PCM & DSD) or should I adhere to the settings suggested in the tutorial. I really just wanted to test the Zen to see if it works as it should. However, I don’t understand why I get errors for some sample rates in Modes 1 & 2.. Any help and advice gravely appreciated.

    • Your configuration problems are related to the XMOS driver. It does not support DoP for DSD256 (which is what the SACD plugin outputs by default) hence the “Unrecoverable playback error: Sample rate of 705600 HZ not supported by the device“ error. Your DAC supports max 384K PCM (equivalent to DoP DSD128).
      I don’t understand what is causing your problem with PCM in Mode 2 IF you are not using DSDProcessor because 192K PCM is perfectly supported by your DAC.
      I use mode 3 (i have an iDSD mixcro with 5.2 firmware that suports native DSD512 and native+DoP DSD256, I’m not interested in MQA) with the following settings:

      As you can see I leave DSD bitperfect and upsample PCM to DSD256 (44.1 & 48K) adjusting output format (native/DoP) as necessary.

      • h6 says:

        Thank you so much for taking the time to reply and providing me with such useful information.
        I revisited Mode 2 and reset the pop up window settings and 192k PCM plays fine – I set DOP to DSD (44 & 48). I cant remember what is set that caused the error message. However, after resetting the pop up window if I want to go back to AISO >. DSD Transponder (DoP/Native) the pop doesn’t appear and I have to delete it from the registry.(HKEY_CURRENT_USER\Software\ASIO\DSDTranscoder) This seems to happen after playing DSD256.

        Is there any way to avoid the pop up with the message: “No installed FIR, continue with default”

        Thank you again for your excellent support.

  13. Ajay Koralkar says:

    Hello, With the latest update by Win10, now DoP stopped functioning. Now plays only PCM 192kHz.
    I have Marantz ND8006 which previously was playing DSD 11.2 as per the guideline given above.
    I installed latest SACD 1.2.1 & DSD Processor 1.1.4 still the same problem. Is that Win10 problem?
    Pl advise.
    Best regards

    • Ajay Koralkar says:

      Hello, Surprisingly its back to normal today. Plays all PCM 16/44.1 files as DSD 11.2. No problem. Foobar 1.5.3 is installed. Sorry bothering you.
      Best regards.

  14. Fotis says:

    Hello and thank you for the useful tutorial.
    I have a PC with Intel HD530 graphics card connected to an Oppo 205 via HDMI and I’m trying to play DSD (.dff) files. I have installed foobar v1.5.3, Asio support 2.1.2, Super Audio CD Decoder 1.2.2, WASAPI output support 3.3. I know DSD via USB connection and ASIO driver works, but Oppo’s USB DAC input bypasses bass management, and I need it. I tried various settings combinations but nothing works over HDMI.
    Output mode: “DSD” and output device: “DSD : WASAPI (push or event) : OPPO205-RPT (Intel display audio)” only produces a very loud noise (like pink noise) when I press “play”.
    So I decided to try DSD to PCM conversion (Output mode: “PCM”), which works ok.
    [Funny thing is that 2.0 and 5.1 dff files play fine when I select output device:
    “DSD : WASAPI (push) : OPPO205” or
    “WASAPI (push) : OPPO205”
    but if I select the same “(event)” outputs I get the message: “Unrecoverable playback error: Device not functioning” when I try to play 5.1 files.]
    So is there a way to send DSD files over HDMI or should I settle for PCM conversion? Is the quality downgrade significant in your opinion? Which DSD2PCM mode should I select? Is there a difference between the outputs: “DSD : WASAPI (push) : OPPO205” and “WASAPI (push) : OPPO205” when DSD is converted to PCM? (I guess not)

    Thank you!

    • Dennis Han says:

      Maybe this is all you need to know: Push is a one-way communication pipe and event is a two-way communication pipe. HDMI should be an event pipe, but maybe your PC or OPPO player doesn’t meet what’s required to do that, so push is what works.

    • I very seriously doubt your Oppo, or any other device for that matter, can do DSP on DSD as the required CPU power would be quite important. Since you need it, conversion to PCM is your only option and that makes selecting any DSD:xxxxxxx output redundant and besides there won’t be any difference as you correctly guessed.

      • Fotis says:

        My setup is minimal, i am using the Oppo as a preamp feeding 5.1 active speakers directly from it. It possesses only basic sound processing capabilities, speaker large/small setting, crossover point and speakers distance (delay). You are right, in order for that to affect DSD there is a DSD to PCM conversion happening. There is this option in the menu: SACD output: PCM / DSD. When set to “DSD”, DSP is bypassed. So I have 3 options:
        1. Playing DSD from a USB stick connected to the Oppo, SACD out set to “DSD”, no DSP.
        2. Playing DSD from a USB stick connected to the Oppo, SACD out set to “PCM”, DSP works.
        3. Playing DSD from PC, foobar does DSD to PCM (s/r 176400) > HDMI > Oppo, DSP works.
        (For some reason 1. and 2. sound louder than 3.)
        I think 1. sounds “clearer” than 2. which sounds a little better than 3. but maybe it’s just a placebo effect. So is there a way to send DSD over HDMI and let the Oppo do the conversion? The manual states that HDMI input can receive “up to 5.1 DSD” but I start to think this is a mistake. Also which DSD2PCM mode should I choose in foobar?

  15. h6 says:

    I have been listening more extensively with the ifi Zen dac set up in mode 3 and I notice that some tracks exhibit a slight cracking (similar to surface noise on vinyl). This is most noticeable with more acoustic music eg voice and piano or voice and acoustic guitar. I have played the same track via the on-board soundcard and there is no noticeable crackle. Can you suggest any adjustments which may help eradicate the crackle. Am I pushing my system too hard, including the dac, to play everything upsampled to DSD 256.

    • Sounds like it could be two things, incorrect XMOS buffer settings and/or CPU is not powerful enough for upsampling to DSD256.
      If your CPU is hitting >40% usage you should consider upconverting to DSD128 instead.
      If your CPU is <40% when playing, the try different settings in the iFi Audio control panel. In my case (Core i7 3770) "Safe" and "Auto" work fine

      • h6 says:

        Thank you for your reply. I really appreciate your help and advice as well as providing me with a tremendous insight into digital audio.

        The XMOS buffer is set to Safe/Auto. My CPU is an old model – AMD Phenom II X4 955 Black Edition. In Mode 3 I monitored the CPU usage while playing the tracks (44.1k & 172k upsampled to DSD256) which generated the crackles and It registered about 25%. However when playing DSD64 the CPU usage shot up to 90% at the start of the track but settled to around 30% although I hear no crackling. When the upsample value is set to DS128 the crackling is eliminated.

        In both modes 2 & 3 native DSD256 and PCM upsampled to DSD256 still exhibit the crackle. It would seem that the combination of the aged CPU & Zen cannot quite cope with the demands of DSD256.

  16. Michelasso says:

    Hello, I know that what I am going to ask may appear as very silly questions, but I am really new to this world and I am trying to better understand it, so I will be very grateful to you if you will take them into your consideration:
    1) is it possibile to play dsd in a pc without using an external usb DAC, that is using only its internal soundcard?
    2) if this is possible, which of the various methods described in this page should be followed?

    Thanks in advance.

    • Ivo Damianov says:

      Hi there,

      Your question is not silly, seems very normal to me.
      Yes, you can play DSD using your internal sound card.
      Download and install Foobar2000, then download and install the plug-in SACD.
      Start Foobar, open the menu and go to Preferences, SACD submenu. In the SACD submenu,
      in the field Output Format choose PCM.
      This should be enough.

      • Michelasso says:

        Thanks. If I am right, then the only option to play DSD using internal soundcard is to convert it to PCM and so sampling frequency shown by foobar2000 will be 44.1kHz.

        • It depends on whether your PCM has a DSD compatible DAC or it is limited tp PCM. Afew modern high end PCs come with ESS DAC which can play DSD64 but they are rare machines.
          You can covert to 44.1, 88.2, 176.4 or 352.8KHz, depends on what your computer supports.

          • Michelasso says:

            Thanks a lot for your answer too. I have now setup for DSD playing my DAP (Cayin i5) which can also be used as a USB DAC following the first mode (bitperfect) of section 1 and it is working, so I thank you again for this guide.
            I have just a question: in foobar2000 v.1.5.3, section Tools -> SACD, now, besides the Output mode, there is a box with “DoP for Converter” option. Is leaving this unchecked equal to not use DoP as in method 2?

            • AFAIK that checkbox doesn’t work, the plugin outputs DoP by default. If you want to send native DSD to your DAC (provided it supports it) you need to use DSD Transcoder as shown in Mode 2

  17. repulogepszerelo says:


    I used your first method to configure the foobar for DSD playback. Then I converted a DSD.iso to to flacs. I listened to them through my Squeezebox Touch connected to my DSD compatible dac with no problems.

    Then I tried to listen to the same flacs on my pc through the internal soundcard, a Realtek, nothing fancy. All I get is very quiet, almost inaudible music covered with static. When I play the original DSD.iso everything is fine, no static, only music.

    Thanks in advance.

    • If you convert a DSD ISO to flac it becomes PCM and thus unaffected by DSD configuration. If playing a DSD ISO on a Realtek chip, chances are you are outputting PCM. AFAIK there is only one Realtek audio IC that supports DSD and is not that widely used.

      • repulogepszerelo says:

        Thank you for your answer!

        As I play the DSD iso converted to flac through the Squeezebox and Naim DAC V1, the display says DSD64. That means it’s not PCM, I guess.

        My main concern is that when I try to listen with the internal sound card, those converted flacs sound very quiet, the music is almost inaudible with a lot of static, something like white noise.
        On the other side, the original DSD ISO sounds just fine through the same cheap Realtek soundcard. Strange…

        BTW. on the foobar preferences for the output I chose DS: speakers (Realtek High Definition Audio), as with the other DSD/WASAPI options the playback won’t even start, all I get is an error message: Unrecoverable playback error: Unsupported stream format: 176400 Hz / 24-bit / 2 channels

        • AFAIK there is no way to make a DSD FLAC file, FLAC is a PCM only format. Check the file
          properties in Foobar and see what is says, if it mentions >1bit and less than 2,28GHZ then it is PCM. Maybe you are not really playing the FLAC files but the ISO and that is why you are getting DSD to your devices or the FLACs you got are not compliant with the format’s standards.

          Micrososoft’s DS is PCM only with resampling to the configured Windows’ setting so there is no way to play DSD and using WASAPI/ASIO will get you the error you mention because the Realtek drivers don’t support it either and receive the DoP DSD64 signal (24/176.4 PCM wrapper) which most, if not all, don’t support either. Realtek audio drivers are usually limited to 44.1, 48, 88.2, 96 and 192KHz, for some unkown reason they don’t accept 176.4KHz

  18. repulogepszerelo says:

    In the converted FLAC file properties it says:
    Sample rate : 176400 Hz
    Channels : 2
    Bits per sample : 24
    Bitrate : 5610 kbps
    Codec : FLAC
    Encoding : lossless

    So, it’s not DSD.

    The properties of the DSD.iso looks like this:
    Sample rate : 2822400 Hz
    Channels : 2
    Bits per sample : 1
    Bitrate : 5645 kbps
    Codec : DSD64
    Encoding : lossless

    Now I got it!
    Thank you for your time!

  19. Mark Labbett says:

    What is the best(highest quality)DSDT2PCM mode i have a 3770 intel cpu with 16gb ram. Thanks

  20. Sanfilippo Roberto says:

    When I listen to SACD ISO, I don’t see the image, is there any way to see the image? in the old version Version 1.0.0 I could see the image

  21. Sanfilippo Roberto says:

    it has to do with the sacd plugin, because it works with the old plugin.
    With the version foo_input_sacd-1.1.5, the image is seen, instead from the version foo_input_sacd-1.1.6 onwards the image is not seen.
    I have tested almost all foo_input_sacd now.

  22. Sanfilippo Roberto says:

    sorry, the problem is my version of foobar2000 darkonev4mod

  23. SACD Version 1.2.5 crashes with DSDTranscoder.
    instead SACD Version 1.2.4 does not go into crah with DSDTranscoder
    Can you please check?

  24. Gaetano says:

    Hi guys, I have a Soekris dam1021 based dac and I’m using foobar2000. Even if I know that dam1021 is actually a pcm dac, it can also handle up to native dsd256. So I configured foobar 1.6.2 with DSD Transcoder to get native DSD stream out of foobar. But there’s an issue. Trying to read a dsd256 file, foobar returns me a message saying that the device can’t handle 705600 hz bitrate. This leads me to think that perhaps actually I’m not getting native dsd, but just dop. Indeed when I play dsd64 files, the asio driver panel shows me a 176400 hz bitrate instead of the expected 88200. Another weird thing is that I’m on the 64bit version of Windows 10 and when I deselect the “use 64bit asio driver” option from the output panel, the DSD Transcoder disappears from the asio drivers list. So I can’t definitely use the 32bit version of DSD Transcoder. Can this fact be somewhat related to the previous issue I described? Does someone of you have some ideas?

    Thank you very much,

    • How do you have the DAC connected to the PC? Amanero board?

      • Gaetano says:

        XMOS 384kHz DXD DSD256 high-quality USB to I2S/DSD/SPDIF PCB, sic copied from DIYINHK site

        • AFAIK XMOS boards accept both DoP (usually up to DSD256) and native DSD but it depends on the driver. Also connection between USB board and DAC is important but can’t help with that as I don’t have any experience with your DAC. Have you tried asking at IIRC there was a huge thread about your DAC.

          • Gaetano says:

            Already done, I spoke directly to Soren Kristensen of Soekris, who designed the dac board and he said to me that most likely there should me a setting somewhere in foobar that prevent the streaming of native dsd, although DSD Transcoder is working and I think correctly configured (all DSD in 44.1 kHz column and output towards the Xmos USB ASIO driver). Do you think could it be an issue using the 64bit .dll of the Transcoder? Have you any experience on a 64bit PC?

            Thank you, Gaetano.

            • Yes, My PC is 64bit and I use the 64bit ASIO dll. My DAC also uses an XMOS chip (iFi iDSD micro) and have no problem playing any supported DSD rate using either DoP or native. It may well be an incorrect setting you’ve missed. I suggest you go through all of them starting with the plugin, then (if used) DSD Processor, then Trasncoder and finally ASIO and XMOS driver.

  25. licha says:

    Hi, first i wanna said thanks for thios amazing post.
    I have a Ifi Zen dac amp which is the best configuration? i am new in this field i dont know what to do.
    i have flac, dsd, wav, iso etc files. thanks

    • Hi licha, that would require a very, very long answer I can’t give you here but, if it helps, I have a similar DAC to yours and use mode 3 to upsample all PCM to DSD256 while leaving DSD “as is”. What you can do with upsampling is also PC dependant, for extreme upsampling a powerful processor is required.

  26. Gilberto says:

    Good afternoon everyone. I have Foobar configured to upsampling all my music, flacs, wavs, dsd, s, isos, etc. to dsd512, using the output “DSD: ASIO: DSD Transcoder DoP Native” and I get a satisfactory result as the screen shows from my dac, a LKS 004: DSD512. I also have JRiver and HQPlayer, both also configured to upsampling all my music to dsd512 and here comes the funny thing, why I clearly notice, obviously, that the output of Foobar is higher, more powerful than the other two players … .? As I said, all three players, Foo, JRiver and HQp have the same “DSD: ASIO: DSD Transcoder Dop Native” output configured and I always notice the highest output on Foobar. I appreciate your opinion. Greetings to all …

  27. Gilberto says:

    Hi. Well, I followed the steps very carefully and with great attention, from part 1, installing the necessary add-ons and then passing part 2, where it specifies in detail the steps to follow. As I said, I upsampling ALL my music to dsd512, thanks to the tutorial presented here. It is necessary that, as I did, you start in part 1 and go step by step, very carefully, and once you have everything installed you must follow the instructions part 1 and then part 2, in order to configure Foobar correctly. It took me several attempts and also, I have to translate because I don’t speak English, but with patience, tranquility and dedication you can have Foobar to your liking. A greeting…

  28. Thai says:

    Hi, can anyone kindly advise why I couldn’t see “Decoding” under Playback?
    I am using portable Foobar and the following components are installed:
    1. DSD Process 1.1.3
    2. SACD Decoder 1.1.7

    I have downloaded DSDTranscoder and checked the box ‘Use DSD Processor’. Every step is followed at Mode 2 and Mode 3 and looking at your screenshots, suddenly “Decoding” appears but I could see it on mine.
    Many thanks.

  29. Thai says:

    Does anyone experience a click and pop sound whenever you click ‘Play’ button on Foobar? I also experience click and pop sound if the playlist is a mixture of codecs for example: Playlist 1 (DSD file) and Playlist 2 (Flac file). At the end of the last track of Playlist 1 just before it hits the Playlist 2, a loud click and pop could be heard. Note: Click and pop is not throughout the music.
    Any advise would be appreciated.

    • Clicks and pops are very device/driver dependant. Some people get them other don’t.

      • Thai says:

        Hi, thanks for your reply. Is there any solution? Could it be the driver of my laptop? I own an Acer Swift 5 Core i7. Did you notice that under Asio Driver, there is 2 boxes namely:
        1. Use 64-bit ASIO Driver
        2. Run with high process priority

        Which one should I choose?

        “Clicks and pops are very device/driver dependant. Some people get them other don’t.”
        This happens when the playlist changes to a different codec.

        • I meant your DAC’s driver, try using the latest one from the manufacturer’s website but it is not guaranteed that doing so will fix the problem. Some DAC drivers always make clicks and pops when transitioning from DSD to PCM or the other way around in a mixed playlist.
          As to the two boxes, I don’t think that’ll make any difference but why not? I have them both checked.

  30. George says:

    I am using a HiFiMe9018 (Sabre9018) DAC which works flawless with Spdif-Output. But then Windows decodes DSD by Software.
    Now I am trying to get bitperfect DSD output to work. The DAC can handle upto DSD128 native. I installed the drivers here (Savitech SA9227 driver)

    guide from here

    Click to access SaviAudio-SA922x_DSD64%20_DSD128_playback_on_foobar2000.pdf

    and the latest Foobar2000 V1.6.4_beta_1, SACD-Plugin 1.27(input_sacd/dsd_processor), AsioProxy0.94 (tried 0.60,08.3), foo_out_asio

    But I cant get the Asio-Drivers to work. If I follow mode 3 and setup everything, select as Output device the DSD-ASIO-foo_dsd_asio and then trying to configure the ASIO-Drivers
    (double click foo_dsd_asio) it result in that no window comes up. If I add a custom channel mapping I got the error “No Asio drivers found”. Before I got sometimes “no channels mapped”.

    Is there anything else I could try?

    • The PDF guide the manufacturer provides is quite old and all mentioned Foobar components have been replaced by far newer and improved versions but backwards compatibilty is not always granted. Early DSD DAC’s drivers were not as compatible as current ones and in some cases you need to stick to what they recommend.
      It is quite difficult to troubleshoot configurations with no hands on, I suggest instead of using foo_asio_proxy try dsd_transcoder which allows for both DoP and native DSD.

  31. Mike says:

    I have setup Foobar the way you have described above and use a USB connection to play the files (FLAC and DSF) to my DAC which is the Oppo UDP 205. Both type of files are upsampled to DSD 128 and everything is fine. Recently I installed the UPnP component in Foobar and using mConnect apps, played the files to Oppo via wifi, since the Oppo is DLNA. This time the player made a click when I played a DSD album. After a while I switched to playing Tidal via mConnect to the Oppo which is in PCM format. At this point, the there was a short loud click and that indicated that the player switched from DSD to PCM.
    The question that came to my mind was – why does this not happen when I connect the laptop to the Oppo using USB? When the USB connection is in place and after playing a DSD file, if I switch to Tidal, the player/DAC does not make the switching noise. Also after playing Tidal, if I switch back to Foobar to play DSD file, it does not make the switching noise. Does it mean that Foobar does not send DSD natively via USB when I connect it to the DAC?

  32. Norberto says:

    Hi, great tutorial indeed !
    I have a situation, I own of BDA-3 Bryston DAC and its native DSD 256 but I when play a file DSF from thats Stereo 256 11.2896Mbit/s Foobar2000 notice me with error: “Unrecoverable playback error: Sample rate of 705600 Hz not supported by this device” and yes the BDA-3 is up to 384/32. But also is DSD 256 native.
    How I do wrong?
    I run on W10.


  33. Ajay Koralkar says:

    Windows has WASAPI shared mode and recommends for better SQ. Should we stick to it OR use WASAPI Event to get best SQ. Pl advise
    Thanks for great worthy article simplifying very complex subject for us.

    • SQ should be identical for both modes, ie they are perceptually indistinguishable (though there could be measurable differences due to Windows up/down sampling being mandatory in shared mode) but since in shared mode all apps have access to the mixer, anything can interrupt when you are listening to music and thus negatively affect your experience.

  34. Vladimir Todorov says:

    Thank you for a great tutorial, it helped me very much in the last few years.
    I am using foo_input_sacd-1.3.3 and DSDTranscoder-1.1.5 on Win 10 Pro 64; Foobar2000 1.6.4 and Topping DX7s DAC, and they are working extremely well.
    But now the same author has issued a new plugin “foo_out_asio+dsd-0.0.2” which is “Highly experimental: The pilot one” and “This plugin is the substitute for foo_out_asio component and is capable of Native DSD playback for compatible DACs”,
    Out of curiosity I have tried it but unfortunately I can not make this plugin to work, I get this error:
    “Unrecoverable playback error: Could not connect to the worker process”
    As I am very satisfied with my above mentioned configuration, I am not sure that I really need this new plugin?
    Also, as you are very experienced in this, please test this new plugin and write some tutorial about it, if possible.
    Best regards, Vladimir

    • I also have that error with the new ASIO plugin.
      Since I upsample everything to DSD256, including 48k based rates, and my DAC only accepts those in DoP there is no reason for me to use the new plugin so I stick to the other one. If I was only playing 44k based DSD then I’d probably be interested in this new plugin since it makes things simpler and less resource consuming.

    • Ivo Damianov says:

      Hi Vladimir,

      I was using absolutely the same DSD Transcoder routine on Win 10. I downloaded today this new aso+dsd plugin and it is working without any problems. Prior to its installation I downloaded and installed the new SACD version, that is 1.3.4 and removed the previous foo_out_asio plugin. I also deinstalled the DSD Transcoder. My DAC is Denafrips Pontus II.

      Regards from Sofia 🙂

      • Vladimir Todorov says:

        Thanks for your suggestion, I’ve tried it exactly as described, but I’ve got the same result:
        “Unrecoverable playback error: Could not connect to the worker process”
        Unfortunately “foo_out_asio+dsd” is not working in my configuration. I will stay with DSDTranscoder-1.1.5 for now, as I am very satisfied with it.
        Best regards from Skopje

  35. Denis says:

    I have a general question, which was already posted, but didn’t got a clear answer, or maybe there isn’t an answer to this: how to play DSD (*.dff files) from PC over HDMI (2.0) on the AVR, as DSD,
    not as converted PCM (which of course does work). An AVR (CA CXR200) can DSD/SACD – from Oppo-BDP-203 DSD on the USB-stick is working, and AVR does sound good and shows “DSD 2.0”,
    but is there a way to do it from PC/foobar2000 over HDMI ?

    • I’ve never had an AVR nor any device with and HDMI input so I can’t help you with that one. I think you should be able to do it following one of the different modes described in this guide but then maybe it can’t be done.

  36. Olá. Estou a seguir este website já faz algum tempo. Parabéns estava a procura por um conteúdo assim, gosto do que leio. Adorei! Continue.

  37. Gilberto says:

    Good morning friends. I’ve been using Foobar and HQPlayer as my digital music players for a couple of years. With both, I play my 4 Tb music folder, flacs, wavs, dsd, etc by upsampling to dsd512. Perhaps HQPlayer sounds (… to me …) a bit more delicate and with a closer and forward presentation towards the listener. Foobar, I seem to present a darker sound, heavier and with a more delayed or recessed presentation. I already say that they are my particular appreciations. But what I greatly value about Foobar is its total acceptance of all types of files, mp3, isos, cues, etc., in addition to its tremendous capacity for configuration and aesthetic presentation.
    But there is one thing that I cannot understand and that is that many times, in the middle of a reproduction of a file, Paaaffff ….!, There is an abandonment, a cut, a blockage. I never experience this with HQPlayer, the playback is always smooth, without dropouts. And both players use the same audio output and its components: “DSD: ASIO: DSD Transcoder DoP / Native” and both upsampling to dsd512.
    It is also very frequent that (… with Foobar …) if in the middle of an audio playback I open Chrome or another application, Paaaafff …!, I get a crash, abandon, cut, burst, while with HQPlayer do not. I have tried increasing the buffer length, decreasing it, giving absolute priority to Foobar in the Task Manager, not opening any application, closing any open application, etc, etc, but when you least expect it, in the middle of a playback, … Crarkkkk …! Cut, block, abandon … He doesn’t always do it, but when he does it is very unpleasant, very frustrating. HQPlayer is very, very difficult for me to do that … why …?
    Any suggestions …? Thank you and best regards….

    • Crashes can be very system specific and thus difficult to diagnose without hands on access. There are many things that could cause the crash but it is also true that HQPlayer tends to be much better reliabality wise than Foobar with the SACD plugin.
      On the SQ front, have you tried tweaking the DSDProcessor’s different options?

  38. Gilberto says:

    Hello and thanks for answering. In the question you ask me about “… on the SQ front, have you tried configuring the DSDProcessor …”, do you say it because of the sound output quality or do you think it may have something to do with the crashes .. .! and paaaff …! ….? Well, I put a picture of how I have configured in DSDProcessor, to see what you think. Note that I play ALL my music by upsampling to dsd512.
    Thanks for your opinion…..

    Oops….! I don’t know how to put an image here, sorry. Well I write here my configuration of the DSDProcessor …

    Input: from 44100 to dsd512 (…the limit of my dac…)
    Output: DSD512 (…all inputs…)
    SDM Type: D
    Window L: 27
    Window T: Hann
    Sample & Hold: NONE
    Precision: fp64

    I would like to know your opinion….

  39. Ramon says:

    Hello. I have been using foobar for a long time following your setup advice with a DAC CONSONANCE REFERENCE 1.3. Today I have updated the component ‘Superaudio cd decoder’ to version 1.3.4. and ‘DSD Transcoder’ to version 1.1.5. I have installed the XMOS driver for my DAC. After this update in the PLAYBACK-OUTPOUT-DEVICE menu, the options that I had before and that start with ‘DSD: ASIO …’ do not appear. I can only choose between the options’ ASIO: DSD TRANSCODER .. and ‘ ASIO: XMOS .. ‘. I have tested it with my 2 computers and the result is the same. As before the update the files enter the DAC with the DSD 64 OR 128 quality (p.ex. 6.14MHz) with the output configuration activating DSD and DSPPROCESSOR. What I do? I keep this version of SACD Decoder 1.3.4. and continue with the device ‘ASIO: DSD TRANSCODER ..’? Or do I install an older version than 1.3.4 to have the DSD option: ASIO DSD TRANSCODER …?
    What is your advice?. Ramon.Olot.Spain.

    • Sorry but I don’t understand your question. What do you want to achieve that you can’t do with the latest versions?

      • Ramon says:

        Hello. With the new version SuperaudioCD decoder 1.3.4 I cannot choose any DSD: ASIO …. device in the drop-down menu, only ASIO: …. devices appear. (Your tutorial advises to choose the DSD devices: …). Is it the same quality? or is it better to install the older version? Thanks

  40. Gilberto says:

    Hello everyone. As I have suffered blood, sweat and tears to be able to fully configure Foobar to my liking, can someone please tell me how to save that laborious configuration in some folder in case I have to format my pc …? Thank you…

    • Denis says:

      on MS Windows OS back-up this folder:
      All the config is stored there, and could be restored.

  41. pamararaj says:

    I am using ASIO4ALL. Based on Buffer Length I set in output section, unstuterred playback happens from 5-20 seconds. Then music starts to crackle. Is there a way to overcome this stuterring issue for multichannel ISO playback.

  42. I just found out a way to play dsd 256 (blue led on) and all the formats using the 2nd method. The key is, as diyaudioheaven said, to “configure all 44.1K family to output native DSD and leave all 48K family in bypass (leaving the default dash, “-“ in the Asio/DSD Transcoder (DoP/Native) pop up window)”. It just checked that also works for iFi HIP DAC( and Zen dac, of course). Thanks for your comments and help!

  43. Blend says:

    Hi, why i don’t have these options “DSD:ASIO:xxxxxxxxx”, “DSD:WASAPI (Event):xxxxxxxxx” or “DSD:WASAPI (Push):xxxxxxxxx” (where xxxxxxxxx our DAC’s driver name), in output – device menu? I only see ASIO, default and WASAPI..Also my dac support dsd512 playback.

  44. Gilberto says:

    Good afternoon friends. Please, does anyone know exactly how much buffer to select in Foobar ….? Because generally people say that you have to select the minimum possible that allows a smooth reproduction without cuts or pops. Any ideas…? Thanks…

  45. Michelasso says:

    Hope you can help with this problem: I have a usb dac (Hidizs S9) which can play natively DSD 512 files, and I can do it on Android without problems using USB Audio Player Pro. But when I try with on Windows 10 with foobar2000 I get the following error: Unrecoverable playback error: Sample rate of 1411200 Hz not supported by this device.
    No problem instead with DSD up to 256.
    As additional information, I am following mode1 (bitperfect) of your guide and, since with newer version of the sacd plugin you can’t choose anymore dsd:XXX as output device, I am using ASIO: Comtrue USB Audio Device after having installed ASIO drivers provided by the vendor of my dac.

    • You are sending DoP, See Mode 2 to change this and output native DSD.

      • Michelasso says:

        Thank you very much indeed. Just one minor question: how can I discover which output mode for each DSD input rate and sample rate family are supported by my device since I have no documentation? Only by guess and try?

  46. artwwweb says:

    Hi, thanks for these useful notes. You mention “Log Overloads: Registers in a file DSD-PCM over 0dB errors”. Can you tell me where that log is placed? I’ve tried converting some DSD with the +6db option and can hear distortion on one album, but I still can’t find a log anywhere.

    (I’d read that in general DSD can be boosted by 6db so originally thought I might try that as a default, using the logging to warn me when it caused clipping. I will use the 0db option if I have to but I thought it was worth investigating the logging feature.)


    • Sorry, I never convert DSD to PCM so I haven’t used that feature. I don’t even know if I have a DSD track that could produce overload when converted to PCM with the +6 setting.

      • artwwweb says:

        Oh well, thanks anyway. I searched for *.log on my whole drive so I’m fairly sure it’s not creating a log file. However, I’m now thinking that the ISO that sounds distorted can’t be distorting because of clipping. (I’d just assumed it was, but I have now viewed it in Audacity and there is a load of headroom. But I would still have expected a log file that reported no errors.)

        • Maybe the album was poorly recorded, I’ve listened to quite a few of those. Also, some post 2000s remasters have been badly dynamically compressed to the point they have clipping in them.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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