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. Andreas Dani Hamonangan says:

    Hello, sorry i want to ask, is ASIO : DSD Transcoder (DoP/Native) and DSD : ASIO : DSD Transcoder (DoP/Native) same ?..Because when i follow the Option 2 using DSD Transcoder, it shows ASIO : “DSD Transcoder (DoP/Native)” not “DSD : ASIO : DSD Transcoder (DoP/Native)”…

  2. Ramon says:

    Hello. I have foobar and DSD Transcoder installed. I have a modern delta-sigma DAC (Opera Consonance reference 1.3). I doubt the quality of Foobar (a free software) and its configuration options (converter, sample & hold, window ..), in the work of converting from PCM to DSD. What is your opinion? Is it better to convert PCM to DSD using Foobar and input the DSD file to the DAC? Or is it better to send a bit-perfect PCM file and have the DAC do all the internal conversion work designed by the manufacturer?

    • The simplest answer I can give you i to test it yourself and be honest, try no to avoid any bias or preconceived ideas. Techincally the computer + software option is more poweful and accurate but wheather that is actually a real advantage, as in one you can truly hear and consistently identify, or it is moot and irrelevant is up to you te decide.

      • Ramon says:

        Thanks. My question concerns how to optimize an electronic system to obtain the best objective quality. The perceived quality as you say can only be experienced by listening. I appreciate your clear opinion about it and therefore preferably I will configure the output of foobar using DSD converter with your recommended configuration and DsdTranscoder to send it to the Dac through Dop.

        • As I told you before from an objective POV, you can achieve better results with a computer +sofware combination as it has more power/resources than any IC inside a a DAC so it is capable of both more flexibility and more complex processing. I’d choose this path any day but otrhers would call it a waste of resources.

          • Ramon says:

            Thanks. If the PC + software option generates DSD files with more precision, we have another technical advantage: In the DAC you can choose the ‘DSDdirect’ option and we avoid choosing between the ‘FAST’ and ‘SLOW’ options that introduce more color to the music.

  3. Michael Porter says:

    I have foobar configured for on-the-fly 512DSD output to the DAC regardless of input. I’m also using Audiophile Optimizer 3.00 and foo-RT version 1.45. Everything goes to the DAC as 512DSD. Tools > no longer lists the sub categories DSD Processor and SACD. Latest foo_out_asio and ASIOProxyInstall-0.8.2.zip are installed.

    • Having 2 ASIO outputs simultaneously is not a thing I would recommend, choose the one you prefer and uninstall the other.

      • mdfpme says:

        See attachments as to how I have asio configured. I’m not changing anything: all of the problems I have had with foobar, before I did a fresh install and configuration yesterday, have vanished.

        On Wed, Nov 10, 2021 at 9:44 AM DIY-Audio-Heaven wrote:

        > diyaudioheaven commented: “Having 2 ASIO outputs simultaneously is not a > thing I would recommend, choose the one you prefer and uninstall the other.” >

  4. JayS says:

    For mode 1, output scr capture needs to be updated since DSD:ASIO:xxx were removed since Version 1.3.8.

  5. Ajay Koralkar says:

    Hello.
    Thanks in all ways. Been enjoying DSD (DoP) for 3+ years.
    Well, SACD Plug in 1.4.7 is Crashing player very frequently.
    Settings never changed.
    What could be reason? How this will be rectified.
    Windows 10 on ACER Laptop. Decent configuration. DAC: Marantz ND8006.
    Kindly advise.
    Best regards

    • If you haven’t changed anything in the sttings then I suggest you ask the developper in its support forum. I have been using 1.4.7 since the day it was released and haven’t had a single issue. There are way too many variables to give you a solution. It could be the OS, and update, Foobar’s version, etc. or a ny incompatible combination of those, maybe even other plugin you have installed is conflicting.

  6. Ajay Koralkar says:

    Hi. Crash Report Says as below.
    Illegal operation:
    Code: C0000005h, flags: 00000000h, address: 71B0478Ch
    Access violation, operation: read, address: 080EAFF4h…
    Crash location:
    Module: foo_dsd_processor
    Offset: 26478Ch
    Symbol: “foobar2000_get_interface” (+8B0Ch)
    Thanks
    NB: Now am playing PCM 384k

  7. Michael Porter says:

    I have recently installed and configured foobar2000 + Audiophile Optimizer on a new dedicated laptop. My configurations which have not caused any issues can be viewed here: https://drive.google.com/drive/folders/1C1w4HcZuThrTxImadujOdftffK3s_2K3?usp=sharing

    Any references to JRiver are no longer valid.

    • I took a quick look at your configuration and I don’t quite understand what you are trying to achive. Since all your DACs are SigmaDelta, I’d just upsample everything to the highest support DSD rate and call it a day. IMVHO the PGGB-RT is redundant and personally I don’t use any audiophile PC tuning scripts which, unless you have a very old computer, will not provide any benefit.

      • mdfpme says:

        You have not heard 512DSD output incorporating the use of PGGB-RT with 1024 million taps unless you purchased a license, so you don’t know how it improves image focus and solidity, and soundstage 3D. Same is true, to a lesser degree, for Audiophile Optimizer 3.00 which can be installed as a full version without purchasing if you know how to find the 5 alpha-characters key code.

        • Indeed I haven’t heard either of them and I never will. I don’t need to. However, if you like them and believe they work, keep them.

          • mdfpme says:

            True, you don’t need to, but then you can not judge either way as to their contribution to sound improvement.

            • Your entitled to your opinion, I’m entitled to mine. I don’t need to test them because I know what the result will be. I won’t discuss this any further as this is unrelated to Foobar and belongs in a Objective Vs Subjective discussion, not here. Cheers

  8. Zhu Hang says:

    Should I use Mode 4 with iFi xDSD Gryphon? because it doesnt support 48k-based DSD.
    To make my life easy, can I just upsample all 44.1k-based to DSD512 in DSDProcessor?
    Then configure the 48k-based to Dop256 in ASIOProxy?
    Can I ignore the whole story of dsd64/128 sharing channel with pcm176/352 ? because then dsd256 will share with pcm705k and its not taken into account in this tutorial, right?

    • I have the rather similar iDSD mini and I would recoomend mode 3 but if for some reason you prefer older components then use mode 4

      • Zhu Hang says:

        Thanks for reply. I suspect my xDSD Gryphon doesnt support DoP via USB (which is not likely). Because I think I managed to use mode 4 to output 48000 as DoP256 (iFi ASIO reports PCM 768k sample rate) but the DAC has no sound. If I use DSD256/48 in DSDProcessor, i get distorted sound (iFi ASIO reports 48k-based DSD rates 12288000). The only option that works is choosing DSDxxx without the “/48”, but I’m skeptical as its 48k-based source.
        Or maybe, something is still wrong in my config.

        So, i got no hope of upsampling PCM 48k to DSD.. Right now I just use the newer “ASIO+DSD” component and choose my iFi DAC directly. Playing everything original. DSDProcessor is still available but I turn it off and just resample all PCM to 705/768.

  9. Gilberto says:

    Hello everyone. Does anyone know if it is possible, in Foobar, to make all the songs in a playlist sound the same, that is, at the same volume, being songs from different albums…? Thanks for your response.

  10. Ramon says:

    Hello. I have been using MODE 3 for some time now, following your advice, and I enter all my PCM files converted to DSD 128 into the DAC, using the foobar DSP and DSD Transcoder. My DAC (Opera Consonance 1.3) has 3 filters: fast, slow and DSD Direct. For the DSD files I can choose any of the 3. The point is that I like the fast and slow files better, especially with opera voices. My question is, from a technical point of view, if to use these PCM filters it is still preferable to continue converting all my native PCMs to DSD128 and enter the DSD128 DAC, or use one of the other DSPs available in foobar to resample the PCM at 176.4 or 192 MHz depending on the native frequency and enter a PCM 176/192 into the DAC. What is your opinion? Ramon.Spain

    • HI Ramon,
      Chances are your DAC has a Sigma-delta IC inside and therefore it will convert any thing you feed it to 1bit PWM (technical name of DSD). Since it is likely the PCM->1bit is performed techinically better in Foobar, I’d feed it DSD. But I’d do it out of being a bit OCD not because I can hear any difference. If you prefer using other path please do it, absolutely nothing wrong with it if it sound better to your ears.

      • Ramon says:

        Hello.
        If I understand correctly what you are explaining to me, the DAC converts directly, and without prior resampling, the digital flow generated in foobar to an analog signal using the 1-bit delta-sigma model. So your tech advice to generate DSD 128 in foobar is completely correct as it avoids PCM to DSD resamples inside the DAC as a previous step to 1 bit delta sigma conversion.
        I want to ask you about the influence of the technological quality of the optional filters (3 possible in my DAC) since in my hi-fi equipment there are clear auditory differences in the final sound.
        The question is: these filters are limited to acting on the analog signal obtained from the DA conversion, to eliminate the noise that delta-sigma pushes to the high frequencies and ‘equalize’ the final signal? Is it possible to ensure that these filters do not influence the previous steps of the DAC, such as forcing a resampling of the input DSD generated in foobar or its conversion to PCM according to the chosen filter? I thank you if you can give me your opinion with your knowledge, since I like to base my decisions on optimal technology, not only on aspects of perceived subjective quality.
        Ramon

        • Hi Ramon,
          Those selectable filters are applied in the digital domain, the low pass analogue filtering is done in the discrete components on the board and it is fixed.
          The different digital filter affect the sound producing artifacts like pre or post ringing but they most definitely do not ‘equalize’ the sound in any way.
          As to what sample rate to upsample to, I’d recommend to go as your DAC supports. I don’t think you’ll be able to hear any difference but technically it will produce better quality and if it costs nothing…. why not?

  11. Ramon says:

    Hi Audioheaven. Thank you for your well-founded advice that helps us to have a better audiophile experience. I wanted to ask you about the dispersion that I observe in the final volume of the sound, once amplified, of the .flac files that we all have on the PC, send to the DAC and play with the preamplifier, the amplifier and the speakers. In my case depending on the music file I have to adjust the volume of the amplifier, sometimes 8 or 10 values ​​by lowering or raising the volumetric scale of the amplifier. Is there any solution in foobar to homogenize the gain of the different .flac digital files so that the DAC does not send the preamplifier volumes that are so scattered in their amplitude? Thank’s. Ramon

  12. Ajay Koralkar says:

    Hello,
    Regular PCM 16/44 if converted to 24/96 and then DoP at 11.2, will it give better sound quality? OR any, i.e. upgraded to DoP 11.2 are just equal?
    I huge library (33k+) and contemplating conversion from 16/44.
    Pl advise.

    • Converting to 24/96 and then to DoP at 11.2 is quite pointless, if you want to up sample in Foobar it makes more much more sense to go straight from 16/44.1>DSDxxx (xxx being the gihest your DAC supports).
      This is meant to be done real time while playing not saving it to a DSD file, that would be a hughe waste of space.

      • Ajay Koralkar says:

        Thanks for advise.
        Already enjoying PCM 16/44 to DoP 11.2 based on your guidelines for years and very satisfied.

      • Dennis Han says:

        I want to point out that upconverting CD quality to higher-rate PCM or DSD will not improve the sound quality. If it sounds better, then it’s because foobar2000 is upsampling better than what the DAC can do. Another DAC will sound different and you may not want foobar2000 to do the work. Leave the files at their native bit depth and sample rate so that you know what the native quality is and it’s not disguised as a higher quality file that is not of higher quality.

        • Ramon says:

          Hello. I have a weak computer that does not support the NONE option of the ‘sample/hold’ column of DSDPROCESSOR. In this case, do you think it is technically preferable to still use MODE 2 converting to DSD with one of the non-recommended options ‘x2’ ‘x4’ or ‘x8’ ? Or is it technically preferable to use MODE 1 Bitperfect and leave the oversampling work to the DAC? Thank you. Ramon

          • Dennis Han says:

            What DSD DAC are you using? Mine uses DoP, so I’ve never tried the other modes. Since you have a slow computer, I’d recommend pushing as much processing as possible to the DAC. The driver for your DSD DAC, which is probably ASIO based, tends to be a computing hog already. You may find that converting DSD to PCM through the SACD component options and using a PCM DAC works better for a slow computer.

            • Ramon says:

              Hello. My Dac is an Opera-Consonance 1.3 that supports DSD 128 with Dop. I use the DSDTranscoder with Dop. It does not work with the DSD option. It is clear to me that your recommendation is to use the optimal configuration of Dsdprocessor with ‘None’ in the ‘sample/hold’ column and that if this is done it is better to always send the oversampled files to DSD128 to the Dac, because foobar does a better job of conversion to 1 bit than the Dac. The question I ask you is because I can’t use the optimal settings because of the PC and I have to limit myself to the ‘x4’ or ‘x8’ options in the ‘sample/hold’ column. The other wue options I have marked are the best (DSD128/system D/27/Hahn) and I have the last column (fp32 or fp64) in ‘-‘. That’s why I was asking you if we’ll do a better job using the Dsdprocessor at 128 with this ‘not optimal’ configuration or disable Dsdprocessor and use the perfect 1 bit mode. Thanks for your advice.

  13. ed says:

    Just wanna say a big thanks, the bit perfect solution solved one of the pitch shifting when I try to run non-dsd file on dx3pro+ on dsd mode!!! Saved the day, big thanks!

  14. Mike says:

    Hello, I have the latest version of Foobar2k with the most recent SACD ASIO+DSD plugins running on a HP Pavilion/Windows 10 Home computer and I own a Douk Audio CMD-18 Mini DAC, nothing fancy but has enough features including DSD playback 64, 128 and 256 (Native.) 64 and 128 playback wonderfully but 256 gets the dreaded “705600 not supported” which you can read about everywhere. If I choose PCM on the Output Page it plays. Supposedly the magic solution is to get the DSD Transcoder so I download the most recent version from Sourceforge and unzip it but if I try to install from FB2k’s Preference/Component page and go to the folder where it lives nothing is there, “No Items Match.” So, I go to the folder and of course it’s there and I click on either version (regular or 64) and I get either “Could Not Load Component Unsupported Or Corrupt” or “System Error Code Execution Can’t Proceed MSVCP140.” Also, the application icon doesn’t look like any other FB2K plugin. I even tried the previous version and same result and I have uninstalled the transcoder and cleared the registry starting from scratch several times. Now that you want to jump out the window from reading all this do you have any clues? Mega-Thanks

  15. Ian says:

    I am having the same issue as Andreas above. I have installed SACD and the dsd processor, but am not showing a DSD output option, just ASIO. Oddly enough my dac shows its playing my flac/ALAC files in DSD. I cant really explain how ASIO selected output is displaying DSD on my dac. I’m using the SMSL vmv-d1 and a windows pc.

  16. Ian says:

    and my ASIO:foo_dsd_asio option only gives me static. So frustrating!

  17. James Purba says:

    Hello, I want to ask about option 2 using DSD Transcoder..Why I can’t change the output format in Preferences : Output (cannot change the output data format which is greyed)

    • When using any ASIO output the system should not be able to change the format of what is being sent to the output, that is by design. What are you trying to achieve?

  18. Tommy J says:

    Hello. i already installed DSD Transcode v1.1.4 with foo_input_sacd 1.2.7. When i played DSD 128, it plays audio faltered with static sound. Do you now the solution how to play DSD especialy DSD128 smoothly ?…Thanks and have a good day..

    • Have you followed all the steps to configure DSD output correctly? does your DAC actually support DSD? what output are you using? is there a specific reason for using a 2 year old version of the SACD plugin?

      • Tommy J says:

        Yes. And I changed foo_input_sacd 1.2.7 to 1.5.4, but it still same ; the audio is faltered with static sound, I’m using FiiO BTR5 support Native DSD256…I.m using Mode 2 because my BTR5 support ASIO Driver

        • Which version of FB are you using? and what ASIO plugin are you using? If you are using the ASIO plugin from Foobar site I suggest you try the one from SACD plugin developper: https://sourceforge.net/projects/sacddecoder/files/foo_out_asio%2Bdsd/

          • Tommy J says:

            I’m using v.1.6.16…And, i already delete ASIO Plugin v2.2 and installed ASIO+DSD Plugin v0.3.6 as you suggested it..But when i played DSD 256 (.dsf files) ; suddenly the audio palyback was hanged, and foobar is not responding, eventualy the app was force closed

            • Dennis Han says:

              Does your DAC support DSD256? Most do not. Regardless, try using the DSD Processor to change the DSD256 to DSD64 or DSD128. Does the ASIO driver for your DSD DAC have a configuration setting in foobar2000 in the ASIO+DSD output section of preferences? Are you using the 64-bit driver option in that same preference section? Try changing that option to whatever you are not using. My DSD DAC uses DoP and that has to be configured within foobar2000.

            • You are sending an unsupported stream to your DAC and that means you probably have something misconfigured. Go through all steps again making sure everything is correct. In the ASIO window check the 64bit box if you are using a x64 Windows version.

              • Tommy J says:

                Still same, the audio is hanged and foobar suddenly closed…Also I already checked Use 64-bit ASIO Driver in ASIO+DSD Output Section

                • Tommy J says:

                  Updated : This is weird…I just uninstalled v.1.6.16 and installed v2.0, and follow the instruction from begining, and suddenly it worked perfectly, the playback of audio is smooth when played DSD256…Anyway thank you very much for the help of you all…Apologize if I bother of my problem in here…

  19. Tommy J says:

    Yes..My DAC support Native DSD256 and the ASIO Driver is supported through Native Playback with DSD Transcoder. ASIO Driver also have the configuration setting in Foobar-Output (ASIO+DSD) which my DAC Driver can change preferred ASIO Buffer Size and Safe Mode

    • Dennis Han says:

      Why are you using the DSD Transcoder? That is only needed for certain situations, which I don’t remember, but I know my DSD64 DAC doesn’t need it because the DAC has its own driver.

      • If one has a DAC that only supports native DSD based in 44.1KHz rates but still wants to upconvert 48KHz based PCM (48, 96 or 192KHz) to DSD with DSD Processor (like I do) then DSD Transcoder is necessary, else I’d agree there is not much use for it.

        • Dennis Han says:

          You are confusing the DSD Transcoder with the DSD Processor, which comes with the SACD component. The DSD Transcoder has something to do with ASIO drivers.

          • Dennis Han says:

            By the way, I have a DSD64 DAC and use the DSD Processor to convert all the PCM and DSD rates to DSD64. I only use the DSD Processor and do not have the DSD Transcoder installed.

  20. Nick says:

    Hi, my set up is an i5 Acer with Foobar as a player, a Topping D10s and also the internal PCM DAC of my Denon SACD 2010AE. The Topping D10s is a DSD DAC itself which supports native DSD 64-256 through analog RCA output, otherwise DoP64 through spdif coaxial RCA, as it can also be used as a USB-coaxial bridge. It also needs an ASIO driver to work. I would like to realize a configuration which allows me to output bit-perfect PCM through coaxial directed to the Denon DAC, or otherwise bit-perfect DSD through the Topping DAC. I would be grateful if you could help me just choosing one or maximum two alternative configurations to work with. I read all your sections one and two but I must be more than a dummy and I can not decide myself which one to choose. I thank you in advance for your help.

    • I don’t think there is a way to automatically switch output depending of the type of file (PCM/DSD) being played. AFAIK output selection must be done manually, sorry…

      • Nick says:

        Ok understood. I will switch output manually. Still which configuration would you use given my hardware? thanks in advance

  21. Since your DAC has a SigmaDelta chip I’d use Mode 3 and upsample everything to DSD256 as your DAC is going to do it anyway just with slightly less quality as it is more resource constrained.
    would only output bit perfect PCM to a true PCM DAC (ie one with a ladder chip or actual resistor ladder) and even then I’d probably upsample with SoX as the upscaler inside the DAC will probably be less capable from a pure technical POV.
    The above said, horses for courses or to each his/her own… 🙂

  22. If you have DSD DACs that don’t have any ASIO Drivers like CS43131, You have to set foobar’s audio output to that device in [exclusive] mode.

Leave a reply to licha Cancel reply

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