Skip to main content

Topic: SACD decoder options (Read 21784 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Anakunda
  • [*][*][*][*][*]
SACD decoder options
Hello,

perhaps somebody can explain meaning of SACD decoder options.

ASIO Driver mode: PCM / DSD (Autodetect) difference
and
DSD2PCM mode: Multistage (fixed point) / Multistage (floating point) / Direct (Floating point, 30kHz LF) difference

I'm utterly aimed to get highest quality for converter..

What's the native sampling frequency for SACD? I have 4 choices which 44.1 is too low, but there are higher. I intuiitionally choosed 88.2kHz but not sure if this still isnot downsampling the undecoded audio. I need a value that won't up/downsample the audio any way and extracts in the same reate as original. Thankyou.

  • lvqcl
  • [*][*][*][*][*]
  • Developer
SACD decoder options
Reply #1
Quote
ASIO Driver mode: PCM / DSD (Autodetect) difference

I'm almost 100% sure that your soundcard doesn't support DSD input stream, so there's no difference.

Quote
DSD2PCM mode: Multistage (fixed point) / Multistage (floating point) / Direct (Floating point, 30kHz LF)

floating point is faster (at least here, on Intel Core2)

Quote
What's the native sampling frequency for SACD?

2822400 Hz.

  • Anakunda
  • [*][*][*][*][*]
SACD decoder options
Reply #2
Quote
DSD2PCM mode: Multistage (fixed point) / Multistage (floating point) / Direct (Floating point, 30kHz LF)

floating point is faster (at least here, on Intel Core2)


And what's the impact on audio quality between the 3 modes, or is the output always same regardless the mode?

  • NiPP0
  • [*]
SACD decoder options
Reply #3
Currently I use the 'Multi-Stage (Double Precision)' which was added in v0.5.3 of the foobar SACD plugin. I assume this is an enhanced version of of 'Mutli-Stage (Fixed Point)' mode (read that this was the best quality method).

I'm looking to convert to 176.4/24 FLAC, but I am unsure as to what the SACD plugin does in regard to dithering...

1. Does the SACD plugin apply dithering, or do I need to do it afterwards in foobar's output options?
2. What dithering method does the plug-in use? Does it vary based on the DSD2PCM mode selected?
3. Does it dither if the DSD2PCM mode is set to 'Floating Point' (set foobar's output to Wave64 with 'Auto' depth, still got a 24-bit file?)

Any help would be greatly appreciated,

NiPP0

Edit: Also, are all SACD's 2822.4kHz or are some 5644.8kHz?
  • Last Edit: 06 April, 2012, 08:11:46 PM by NiPP0

  • SoNic67
  • [*][*][*]
SACD decoder options
Reply #4
SACD is an optical support that holds an "encrypted" version of DSD audio. The same as DVD/CD are optical supports for PCM audio.
So there is no point of asking what is the sampling frequency for SACD - that's the disc itself.
More about that on wiki.
As quality goes, the DSD (resulted from SACD) is equivalent with PCM 24 bit 96kHz... So the 176.4kHz might be overkill, but some might say 88.2kHz is not "complete". As in it "goes" only to 40kHz instead of 50kHz
In my view, 24 bit at 88.2kHz will get the maximum quality from DSD on today's DACs (that are slightly less performant at 192kHz rates).
  • Last Edit: 07 April, 2012, 01:20:20 AM by SoNic67

  • Anakunda
  • [*][*][*][*][*]
SACD decoder options
Reply #5
As quality goes, the DSD (resulted from SACD) is equivalent with PCM 24 bit 96kHz... So the 176.4kHz might be overkill, but some might say 88.2kHz is not "complete". As in it "goes" only to 40kHz instead of 50kHz


Then why must it be resampled to 88.2, 176.4 or even 352.8kHz? Why can't the reader keep the original sampling? Is 352.8kHz any sense when 176.4 is overkill already?

  • lvqcl
  • [*][*][*][*][*]
  • Developer
SACD decoder options
Reply #6
Do you know what the orginal samplerete is?

  • Sandrine
  • [*][*][*][*]
SACD decoder options
Reply #7
Guys, the discussion you're having here is somewhat off track. DSD and PCM format are not mathematically comparable. When converting from DSD to PCM there is no dithering, but it IS a lossy process. AFAIK, there is no resampling done in the first step but the conversion is table-based. Some of the modes will convert to a specific sample rate and then resample to other sample rates. I can't tell you off the top of my head which modes do what right now, though.

You would be much better off asking these questions on the plug-in page at sourceforge as the author doesn't have time to write in the hydrogenaudio forums.

  • NiPP0
  • [*]
SACD decoder options
Reply #8
Edit 2: Can anybody confirm that Multi-Stage (Double Precision) is the best quality as of v0.5.3, I'm basing my assumption on the fact it has the highest CPU usage (~30% on an i7@4.0GHz) and was just added (can't see why dev's would have added it if it was using more CPU but was lower quality).
  • Last Edit: 07 April, 2012, 04:43:56 PM by NiPP0

  • NiPP0
  • [*]
SACD decoder options
Reply #9
2822.4/24=117.6... 117.6KHz isn't a rate so we have to do 2822.4/32=88.2. I don't think the plug-in outputs 32-bit, so it would have to be converted to 24-bit. This would keep about 75% (24/32) of the DSD's audio data. Going to 96/24 wouldn't be a good idea, so 176.4/24 would be the next step up. This would be overkill by about 50% (2822.4/176.4=24, 24/16=1.5).

I'm sure DSD -> PCM conversion algorithms will keep being improved, so while I planned on doing 176.4/24 FLAC I'm thinking it would be better to do 88.2/24 and keep the .DFF/.DSD/SACD .ISO. Remember that even at 352.8/24 conversion can't be considered lossless.

When editing an image (lossless or not) I prefer to down-sample the final output slightly rather than up-sample it. This is based on the fact the original image may have slightly less than optimum spatial resolution, so downsampling gives me the feeling that the ouput is 'honest' (contains as much data as it should).

Any ideas on the dithering question?

NiPP0
  • Last Edit: 07 April, 2012, 05:16:25 PM by NiPP0

  • lvqcl
  • [*][*][*][*][*]
  • Developer
SACD decoder options
Reply #10
2822.4/24=117.6... 117.6KHz isn't a rate so we have to do 2822.4/32=88.2. I don't think the plug-in outputs 32-bit, so it would have to be converted to 24-bit. This would keep about 75% (24/32) of the DSD's audio data.

So you divided a samplerate by a bit depth?

  • Anakunda
  • [*][*][*][*][*]
SACD decoder options
Reply #11
I think mine foobar shows an astronomic samplerate when I open SACD ISO, so it must be divided by something. I don't even think music album could fit on SACD with so a high samplerate.

  • SoNic67
  • [*][*][*]
SACD decoder options
Reply #12
2822.4/24=117.6...

That's why I said that 88.2kHz is not quite there.
Actually the definition of DSD is 1-bit with 64 times the CD samplerate (CD is PCM at 16 bit depth). So if you want precise calculation, you have 28822.4/16=176.4kHz@16 bit.
It makes no sense to divide to 32 bit since there are no real DAC's that can take advantage of that PCM bitdepth. Sabre, Texas Instruments and Wolfson have each one 32 bit DAC cip in production, but the datasheet performances are not better than previous 24 bit DAC cips. Actually, the higest quality are some "24 bit" DAC's. Even those reference DAC chips don't attain more than 20-21 bit of real resolution (the lowest 3-4 bit are just electrical noise). To make things worse, the best performance of the same top-of-the-line DAC cips happens at 96kHz (not at 192kHz). THD+N specs tell the story.
So, keeping the resulting PCM at 24 bit 88.2kHz is IMO the best solution.
  • Last Edit: 07 April, 2012, 07:42:33 PM by SoNic67

  • kode54
  • [*][*][*][*][*]
  • Administrator
SACD decoder options
Reply #13
I think mine foobar shows an astronomic samplerate when I open SACD ISO, so it must be divided by something. I don't even think music album could fit on SACD with so a high samplerate.

The component which supports playback of SACD ISOs does not report the actual playback sample rate. It does report the playback rate during actual playback, though.
  • Last Edit: 07 April, 2012, 08:21:52 PM by kode54

  • lvqcl
  • [*][*][*][*][*]
  • Developer
SACD decoder options
Reply #14
Actually the definition of DSD is 1-bit with 64 times the CD samplerate

Agree.

So if you want precise calculation, you have 28822.4/16=176.4kHz@16 bit.

And this is absolutely meaningless.

  • SoNic67
  • [*][*][*]
SACD decoder options
Reply #15
I ment to say that information carried is the same... 1bit@64x44.1kHz or 16bit@176.4kHz or 24bit@110kHz.
Noise shaping takes care of the audio band, pushing the noise over 50kHz.
  • Last Edit: 09 April, 2012, 11:07:01 PM by SoNic67

  • NiPP0
  • [*]
SACD decoder options
Reply #16
Sorry to keep asking, but does dithering need to be applied by foobar or does the DSD2PCM algorithm take care of it (as well as re-sampling)?

  • lvqcl
  • [*][*][*][*][*]
  • Developer
SACD decoder options
Reply #17
I tested it (ver. 0.5.3), and it outputs samples in 32-bit float format (as it should btw). So it doesn't perform dithering itself.

  • NiPP0
  • [*]
SACD decoder options
Reply #18
I tested it (ver. 0.5.3), and it outputs samples in 32-bit float format (as it should btw). So it doesn't perform dithering itself.

I'm getting 24-bit output (with the converter depth set to 'Auto') regardless of the DSD2PCM mode I select (Int/Float)... tried outputting to Wave64 as well as standard WAV.
Using SACD Decoder v0.5.3/v0.5.4 and foobar2000 v1.1.11, no DSPs running.

When I look under one of the loaded SACD track's properties I get...
Samplerate: 2822400 Hz
Bits per sample: 24

Thanks,

NiPP0
  • Last Edit: 14 April, 2012, 01:00:16 PM by NiPP0

  • NiPP0
  • [*]
SACD decoder options
Reply #19
Done some more reading... from what I gather DSD -> PCM is comparable to analog -> PCM and doesn't need to be dithered. Please correct me if I am wrong.

  • Anakunda
  • [*][*][*][*][*]
SACD decoder options
Reply #20
Can I know how does the new decoding mode (Installed FIR) work, and what's the difference against existing modes, and how to choose a proper filter....

30kHz_641.txt
40kHz_641.txt
50kHz_641.txt
60kHz_641.txt

The main thing, does Installed FIR promise yet higher quality of conversion than multistage double precission?
  • Last Edit: 05 September, 2012, 05:39:41 AM by Anakunda