Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Foobar2000: Conversion of DSD to PCM (Read 3589 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Foobar2000: Conversion of DSD to PCM

Hi,

I have ripped some ISO files from SACD's, which I would now like to convert to Flac files with Foobar2000. But, what is the best option to use, to get the best result, with the least amount of DSD noise, without damaging the music? I am converting to 24 bit and 352.8 KHz.
I've tried the "Direct" option, which aparently applies a 30 KHz filter. The result sounds fairly good, but the files seem quite small compaired to other 352.8 KHz files I have bought from sites like nativedsd.com.
The "Multistage" option doesn't appear to apply any filter at all, which results in a lot of noise. There is also the option to use an installable filter.
So, what is best? Are the build-in 30 KHz filter with the "Direct" option the best to use, or is there a much better filter out there?

Thank you in advance.

Re: Foobar2000: Conversion of DSD to PCM

Reply #1
Do you need to convert them to FLAC?

Wavpack will losslessly compress DSD files.
Who are you and how did you get in here ?
I'm a locksmith, I'm a locksmith.

Re: Foobar2000: Conversion of DSD to PCM

Reply #2
I've tried the "Direct" option, which aparently applies a 30 KHz filter. The result sounds fairly good, but the files seem quite small compaired to other 352.8 KHz files I have bought from sites like nativedsd.com.
The files are smaller because not having to encode inaudible noise helps reduce the size.
If you agree that humans don't hear sounds beyond 24 kHz then using anything higher than 48 kHz sampling rate for the conversion is unnecessary.

Re: Foobar2000: Conversion of DSD to PCM

Reply #3
Do you need to convert them to FLAC?

Wavpack will losslessly compress DSD files.
Yes, I do preffer to convert to flac, since I store my entire music library in flac format.

The files are smaller because not having to encode inaudible noise helps reduce the size.
If you agree that humans don't hear sounds beyond 24 kHz then using anything higher than 48 kHz sampling rate for the conversion is unnecessary.
You are probably right, but I preffer to keep more or less all the useful audio information, when converting to flac. I have enough space to store the files, but I might as well be sure.
Also, as a side note, it is my belief that it is best to only convert a file to a sampling rate, which can be divided with the original sampling rate, 352.8 divites with 2,822.4, because if you use another sampling rate, sutch as 48 or 96, you can't divide the samples to equal numbers, and then the audio will not be reproduced as accurately.

So, which filter is best to use?

Re: Foobar2000: Conversion of DSD to PCM

Reply #4
it is best to only convert a file to a sampling rate, which can be divided with the original sampling rate
This is just ancient audiophile fairytale.

Re: Foobar2000: Conversion of DSD to PCM

Reply #5
it is best to only convert a file to a sampling rate, which can be divided with the original sampling rate
This is just ancient audiophile fairytale.
Yes, that could be right, but, as stated with the sampling rate, I just preffer to be on the safe side. This article had some very interesting points about it:
https://www.mojo-audio.com/blog/dsd-vs-pcm-myth-vs-truth/

Re: Foobar2000: Conversion of DSD to PCM

Reply #6
Do you need to convert them to FLAC?

Wavpack will losslessly compress DSD files.
Yes, I do preffer to convert to flac, since I store my entire music library in flac format.
You convert MP3s too? ;-)

Jokes aside: if doing anything lossy,
(1) I'd keep the original for archival. But since WavPack can reconstruct the original file (not just the audio), you can store the DSD as .wv. (There are a couple of reservations. WavPack rejects DST-compressed DSD files, then there are some files that are only slightly malformed at the end and blah blah blah.)
(2) Ask yourself why even use a "lossless" format for lossy operations? Especially if you keep the originals (possibly as WavPack), you can try say Opus. If it doesn't sound perfect ... throw away the file and make a new conversion.

Re: Foobar2000: Conversion of DSD to PCM

Reply #7
You convert MP3s too? ;-)

Jokes aside: if doing anything lossy,
(1) I'd keep the original for archival. But since WavPack can reconstruct the original file (not just the audio), you can store the DSD as .wv. (There are a couple of reservations. WavPack rejects DST-compressed DSD files, then there are some files that are only slightly malformed at the end and blah blah blah.)
(2) Ask yourself why even use a "lossless" format for lossy operations? Especially if you keep the originals (possibly as WavPack), you can try say Opus. If it doesn't sound perfect ... throw away the file and make a new conversion.
First of all, no I usually don't convert mp3 to flac, just to have it all in the same format. I only save mp3 audio as flac, when editing an mp3 file, to insure that it doesn't get more lossy during the reencoding to mp3.
Second, I completely agree on keeping the original when converting from one format to another, except direct lossless conversion with the same sampling rate, sutch as wav 16/44.1 to flac 16/44.1. I will, in any case of which conversion I end up using, keep the original iso file, and of course the physical SACD itself, so I could allways just rip it again.
I am not too familiar with WavPack, so I'll look a little into how it works, and how it stores DSD. However, I am still most interested in converting my DSD ISOs to flac, to store them in a lossless, HiRes format which can be played on nearly all the players I have. I am not interested in using any lossy format, sutch as opus, because it only makes the audio more lossy, on top of the lossy process of converting the DSD to PCM. I want to cocnvert the DSD audio to PCM, the best "lossless" way possible, which is why I'm asking for the best way or filter to do it, to keep the wanted audio data as clean as possible, with as little unwanted DSD noise as possible.

Re: Foobar2000: Conversion of DSD to PCM

Reply #8
First of all, no I usually don't convert mp3 to flac, just to have it all in the same format. I only save mp3 audio as flac, when editing an mp3 file, to insure that it doesn't get more lossy during the reencoding to mp3.
Same here. Generation loss is a real thing. I tag any such files as lossy and comment on why they are lossy stored in a lossless codec.
Think millionaire, but with cannons.

Re: Foobar2000: Conversion of DSD to PCM

Reply #9
I also do "as little lossiness as possible", but if I first do any lossy processing, my attitude is, those files are expendable. ("lossy processing" --> I guess you know that formats like MP3 can be cut and volume changed without re-encoding.)

I am not too familiar with WavPack, so I'll look a little into how it works, and how it stores DSD.
It needs a .dsf or .dff input file. Easiest is to drag and drop the file onto the wavpack.exe executable and it will convert. (Then by using a renamed exe as suggested in https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 , it appends options for you.)
Drag and drop the .wv onto the wvunpack.exe executable, and it will decode. You can use e.g. the duplicate finder at  https://www.nirsoft.net/utils/search_my_files.html to confirm that the decoded file is bit-identical to the input file. (As far as I understand, there are some files that miss the last single bit, and WavPack may add it.)

with as little unwanted DSD noise as possible.
That is actually where you may want something "lossy".
As far as I understand, SACD hardware players apply a filter - which one should, to save amps and speakers from this noise. Case has given you the solution then, resample to 48 kHz.

Re: Foobar2000: Conversion of DSD to PCM

Reply #10
Oh, and one issue which I don't know much about - nor how it is resolved in conversion. Clipping?

DSD might go to +6 dB relative to PCM digital full scale (Michael Jackson: Thriller is a known pathology), and if I understand correctly, hardware players attenuate. But in software, then what?

Re: Foobar2000: Conversion of DSD to PCM

Reply #11
I also do "as little lossiness as possible", but if I first do any lossy processing, my attitude is, those files are expendable. ("lossy processing" --> I guess you know that formats like MP3 can be cut and volume changed without re-encoding.)
I agree, to an extend, that files converted through a somewhat lossy process are somewhat expandable, atleast if you keep the original source, but, since I am intending to use these flac files for listening, and only use the source for backup, and further conversion if a better alternative schould appear, it is imperative to me that I get the best possible result out of the conversion, and that, to me, seems to be the highest resolution, converted with the best way or filter or whatever, and ending with as much audio, and as litle DSD noise as possible. If resulotion doesn't matter, then why are people even boarthering with buying 24/96 and 24/192 music for so much more money, everybody could just buy 24/48 or even CD quality? Surely the extra samples will add depth to the music, and from what I've been able to put together from reading. People seem to be able to hear a difference. I get that the 8 xtra bits gives you 48.16 DB extra, so of course allways 24 bit.
I am still fairly new to the HiRes business, so I do not claim to have he best understanding of everything, but I've already experienced one recording, where I could actually hear a small difference between 16 bit and 24 bit. I even tested it by converting the 24 bit file down to 16 bit, and then compairing them, just to make sure it was not the cause of two different masters, and I am certainly able to hear a difference between 320 mp3 and lossless flac, when listening to the right passages.
My point is, I have not yet experienced to hear a difference between two sampling rates 44.1 or higher, but I don't want to sit one day listening to the music, and suddenly noticing a difference. Everybody usually says that most people also can't tell the difference between mp3 and flac, and 16 and 24 bit.

I really apreciate all the suggestions so far, which I will consider in my further research, but my interest is really to find the best way to convert DSD to 24/352.8 at the moment, which seems most future proof to me at the moment.

Re: Foobar2000: Conversion of DSD to PCM

Reply #12
If resulotion doesn't matter, then why are people even boarthering with buying 24/96 and 24/192 music for so much more money, everybody could just buy 24/48 or even CD quality?
Because they don't test blindly, and people think they hear what they are expecting to hear. Case in point: https://www.youtube.com/watch?v=G-lN8vWm3m0

As per this forum's terms of service, you shall not make unsubstantiated claims that your ears can tell the difference between 16 and 24 bits - get this component and do a blind test: https://www.foobar2000.org/components/view/foo_abx
You are likely in for a surprise.
Of course is is easy to construct cases where the bits matter, just attenuate by 80 dB ...

As for the 352.8: what that gives you above 44.1, is three octaves extra. But when converting from DSD, more than two of those are unwanted noise.

(I am not saying that high resolution is senseless for processing. Indeed, if you are digitizing from analog tape, then to get speed right you might want to capture the bias tone. Also, 32-bit floating point is sensible for processing because it is floating-point.)

Re: Foobar2000: Conversion of DSD to PCM

Reply #13
Oh, and one issue which I don't know much about - nor how it is resolved in conversion. Clipping?

DSD might go to +6 dB relative to PCM digital full scale (Michael Jackson: Thriller is a known pathology), and if I understand correctly, hardware players attenuate. But in software, then what?
The problem with Thriller SACD (specifically, Billie Jean) is that the source is already damaged, so no matter how much volume reduction is applied during analog conversion (by a DAC) or by a software converter, the result is still glitched. The glitch can only be ameliorated by using a restoration approach similar to vinyl declicking, which means there is no absolutely "correct" way to fix the issue, the outcome of the "fix" should be judged subjectively. Some of my older posts:
https://www.audiosciencereview.com/forum/index.php?threads/digital-filter-game.23795/post-810355
Pay attention to member "hyperknot"'s questions on the next pages, which are relevant to the thread here on HA too.

As for foo_input_sacd, I suspect a lot of people tempted to use the "Direct (30kHz)" preset simply because it has the word "Direct" and simply because it seems to cut more ultrasonic noise, however this preset has the highest noise floor below 20kHz:
https://hydrogenaud.io/index.php/topic,122580.msg1012188.html#msg1012188

Re: Foobar2000: Conversion of DSD to PCM

Reply #14
If resulotion doesn't matter, then why are people even boarthering with buying 24/96 and 24/192 music for so much more money, everybody could just buy 24/48 or even CD quality?
Because they don't test blindly, and people think they hear what they are expecting to hear. Case in point: https://www.youtube.com/watch?v=G-lN8vWm3m0

As per this forum's terms of service, you shall not make unsubstantiated claims that your ears can tell the difference between 16 and 24 bits - get this component and do a blind test: https://www.foobar2000.org/components/view/foo_abx
You are likely in for a surprise.
Of course is is easy to construct cases where the bits matter, just attenuate by 80 dB ...

As for the 352.8: what that gives you above 44.1, is three octaves extra. But when converting from DSD, more than two of those are unwanted noise.

(I am not saying that high resolution is senseless for processing. Indeed, if you are digitizing from analog tape, then to get speed right you might want to capture the bias tone. Also, 32-bit floating point is sensible for processing because it is floating-point.)
I am not claiming that I can just listen to a file, and imediately hear if it's 16 or 24 bit. I have done blind tests and can not hear a difference. I am simply talking of a, so far, one off oqurence where I noticed the noise floor seemed to be a little higher on the 16 bit audio. My goal with converting my DSD music is simply to insure that it wouldn't happen.
Thank you for the YouTube link, but I'm blind, and can therefore not speak to if what they're suggesting is true or not, though it wouldn't surprise me if it was. I'll sure try it out, next time I have sighted assistence.


You mension that the higher sampling rate is useful when digitalizing analogue audio, to more closely contain the correct speed. How does this work, if all the higher sampling rate does is adding more high frequencies?

As for foo_input_sacd, I suspect a lot of people tempted to use the "Direct (30kHz)" preset simply because it has the word "Direct" and simply because it seems to cut more ultrasonic noise, however this preset has the highest noise floor below 20kHz:
I've certainly tried that preset, and it sounded quite good to me, but how is it it has the highest noise floor below 20 KHz? As I understood it, the multistage preset doesn't remove or tamper with any noise at all during the conversion, so shouldn't it have the highest noise floor, because it doesn't remove any noise at all?

Re: Foobar2000: Conversion of DSD to PCM

Reply #15
OK, sorry. To explain the YouTube video, shows the McGurk effect. You record two video clips of a the face of a person saying "fa, fa, fa" and "ba, ba, ba", with quite different shape of the mouth. Even when the audio is switched - even when we know the audio is switched - it is hard not to "hear" what the eyes tell us.
We are hardwired to make some sort of sense out of incomplete and partially conflicting impressions, and so we hear things that ... aren't there. (Also we recognize patterns that are spurious.)

As for this detail:

You mension that the higher sampling rate is useful when digitalizing analogue audio, to more closely contain the correct speed. How does this work, if all the higher sampling rate does is adding more high frequencies?
The tape bias tone. No, not for "listening to it" - but it can be used for corrections.
For one thing, it tells about wow and flutter (unstable speed), or maybe wrong speed on the particular tape machine.
And if the purpose is mass archival, you may get information on what make and model was used. Different tape machines had different bias tones.

Re: Foobar2000: Conversion of DSD to PCM

Reply #16
What is the difference between the different DSD to PCM modes? I have just always used Direct (64 fp, 30 kHz low-pass) because that's what was recommended to me and I don't know what I'm doing. This might also help OP decide what is best for their use case.
Think millionaire, but with cannons.

Re: Foobar2000: Conversion of DSD to PCM

Reply #17
I've certainly tried that preset, and it sounded quite good to me, but how is it it has the highest noise floor below 20 KHz?
It is "quite good" to me too, because the noise below 20kHz is still lower than the noise floor of CDDA, so it is still inaudible.

Quote
As I understood it, the multistage preset doesn't remove or tamper with any noise at all during the conversion, so shouldn't it have the highest noise floor, because it doesn't remove any noise at all?
A lot of  people have this misconception. When you sample (from analog input), if the analog signal contains frequencies higher than the recording format's Nyquist (e.g. 24kHz for 48kHz recording rate), those frequencies will be folded back to the baseband (below 24kHz). So basically every ADC filters frequencies above the recording format's Nyquist before outputting to the destination recording format.
https://www.audiosciencereview.com/forum/index.php?threads/interface-mystery.13115/post-392905
[1] The first screenshot is the digital signal generated at 96kHz sample rate which contains frequencies up to 48kHz.
[2] Second screenshot is [1] being played using analog output and recorded again using analog input by a Realtek using 48kHz sample rate. You can see some false frequencies folding back, it is called aliasing.
[3] Third screenshot is recorded by the same Realtek as well, but using 96kHz and rely on Windows mixer to convert the final file output to 48kHz. The aliasing is less severe. This approach has a similar concept of "Multistage" but doing externally and manually. The Windows mixer downsampling stage is the additional stage when compared to [2] where all downsampling is performed by the Realtek.

When you resample (from digital or file input) the principle is the same. In the case of DSD to 352.8kHz conversion, the destination format's Nyquist is at 176.4kHz. The lowest sample rate of DSD is usually 2.8224MHz so DSD to PCM conversion requires a filter at 176.4kHz too:
https://www.audiosciencereview.com/forum/index.php?threads/what-if-you-didnt-lowpass-filter-what-would-really-happen.40911/post-1445770

So calling foo_input_sacd's "Multistage" not filtering high frequencies is very, very wrong. In the case of 352.8kHz conversion "Multistage" filters DSD noise above 176.4kHz before outputting to the 352.8kHz format to minimize aliasing. What it does not filter is frequencies up to 176.4kHz. On the other hand, while "Direct (30kHz)" has less noise from about 40-176.4kHz, it is doing a poorer job at preventing aliasing above 176.4kHz. You can clearly see that the result is "Direct (30kHz)" has the highest noise floor in the audible range (below 20kHz) among everything else including WavPack's own PCM conversion without relying on foo_input_sacd.
https://hydrogenaud.io/index.php/topic,122580.msg1012188.html#msg1012188
The installable filter mode in foo_input_sacd is similar to Multistage, except user can define a filter to remove additional noise at the final stage, you can see that when done right, it has the lowest amount of ultrasonic noise as well as lowest noise floor in the audible range.

Re: Foobar2000: Conversion of DSD to PCM

Reply #18
A blind user might not get that information out of the screenshots ...

To explain in words and numbers, imagine you try to sample a 40 kHz tone at 48 kHz, and just look at the tops of the waveform. Start the clock at one such "top" where the wave hits full positive amplitude, call that amplitude 1.
It will hit 1 at times 0/40k, 1/40k, 2/40k, etc.
Every fifth of those times is a sampling point. The sampler collects the amplitudes at times 0, 1/48k, 2/48k, etc. And 6/48k = 5/40k.
IOW, every fifth wavetop is sampled to "1", and that occurs every sixth sampling point.
So the sampler will register this as a signal which hits 1 every sixth point. And a sixth of the sampling frequency of 48 kHz, that is 8 kHz.

That is the alias: The 40 kHz tone will be read as an 8 kHz tone.

When we say that a 48 kHz sampling frequency is enough to reproduce signals up to 24 kHz, we don't mean that anything above is going to disappear just by the sampling process. It means that we have to actively filter away before doing the sampling.
When digital audio was in its infancy, 48 kHz would mean sample from analog to 48 kHz, and then one neeed a steep analog filter that would have to start quite a bit below 24. Often so far down that it could be audible, at least in principle.
Better is to sample high (then you only need a simple analog filter - maybe the microphone's frequency limitation is even enough), and then filter in the digital domain to downsample. That is also one reason to digitize at higher frequencies than 44.1 or 48.


 

Re: Foobar2000: Conversion of DSD to PCM

Reply #20
Thank you for the replies, I think it makes sense to me.

The installable filter mode in foo_input_sacd is similar to Multistage, except user can define a filter to remove additional noise at the final stage, you can see that when done right, it has the lowest amount of ultrasonic noise as well as lowest noise floor in the audible range.

I did a search, and found this:
https://s-audio.systems/dsd-filter/?lang=en

They claim on the site, that this filter schould be better than the options in Foobar2000, so maybe this is the best filter to use.

Re: Foobar2000: Conversion of DSD to PCM

Reply #21
foo_input_sacd needs to cater for the need of real time playback including people using old or ultra low power CPUs, so the bundled installable filters are limited to a certain length (641 samples). One should also consider when dealing with WavPack DSD, both WavPack decoding and digital filtering needed to be performed simultaneously, this is indeed quite slow especially when dealing with higher rates like DSD256 or above.
I did a search, and found this:
https://s-audio.systems/dsd-filter/?lang=en
This website existed for a long time and I tested the filter as well. It may be better than some weaker alternatives like Kong AudioGate, but Saracon is pretty good at filtering out the noise.
https://www.audiosciencereview.com/forum/index.php?threads/digital-filter-game.23795/post-810355
For offline processing or powerful CPUs one can always make a longer filter, or use software which is primarily designed for offline processing like the command-line version of SoX.

Re: Foobar2000: Conversion of DSD to PCM

Reply #22
I did a search, and found this:
https://s-audio.systems/dsd-filter/?lang=en
This website existed for a long time and I tested the filter as well. It may be better than some weaker alternatives like Kong AudioGate, but Saracon is pretty good at filtering out the noise.
https://www.audiosciencereview.com/forum/index.php?threads/digital-filter-game.23795/post-810355
For offline processing or powerful CPUs one can always make a longer filter, or use software which is primarily designed for offline processing like the command-line version of SoX.
What do you think of the filter in comparison to the "Direct" option? They claim on the site, that the filter is better that Saracon, but I'll look into trying it out.

Re: Foobar2000: Conversion of DSD to PCM

Reply #23
Because your reply is super quick so I think you did not really carefully read what I have posted. I would strongly recommend try it out yourself by making your own filter, here is the starting point:
https://www.audiosciencereview.com/forum/index.php?threads/digital-filter-game.23795/
For example, your linked S-Audio.Systems page mentioned "poor impulse response and unknown passband ripple", what does it actually mean? There is no way to understand all these things without actually try it out yourself by making your own filter.

Re: Foobar2000: Conversion of DSD to PCM

Reply #24
Hi,

I have ripped some ISO files from SACD's, which I would now like to convert to Flac files with Foobar2000. But, what is the best option to use, to get the best result, with the least amount of DSD noise, without damaging the music? I am converting to 24 bit and 352.8 KHz.
I've tried the "Direct" option, which aparently applies a 30 KHz filter. The result sounds fairly good, but the files seem quite small compaired to other 352.8 KHz files I have bought from sites like nativedsd.com.
The "Multistage" option doesn't appear to apply any filter at all, which results in a lot of noise. There is also the option to use an installable filter.
So, what is best? Are the build-in 30 KHz filter with the "Direct" option the best to use, or is there a much better filter out there?
   Take a look at this:

    http://s-audio.systems/dsd-filter/

I have been converting my SACD iso's to 24 / 172.4 in foobar using their installable filter with good results. 
All I can say (here) is I that am pleased with the results.
Specifically,  I'm using their " S-Audio.Systems DSD short MP filter".
   IMHO there's no need to convert to 352 khz.