Hi Maxim! Recently I wrote small DSP plugin for foobar2000 to convert 24bit DoP output from foo_input_sacd to raw pcm stream without any header, in .dff files fashion (channels interleaved by byte and MSB first). My idea was to give such files directly to wavpack encoder with option such as "--raw-pcm=2822400,1,2". This gives me ability to extract and pack DSD with wavpack directly in foobar, without relying on any additional software such as sacd_extrack.exe which is buggy and crashes on many .iso files. It worked, and wavepack recognized DSD and compressed it. But here problem arrived: foobar crashes when I try to open such .wv files. If sacd decoder is disabled , files open and play fine. Give me some time and I'll give you such files for testing.
Anonymous
Here is crash dump files
Here is link to download test file:
https://drive.google.com/file/d/1Ibz19gw1Q-9eq17XjbmX0LJK-NXFz1td/view?usp=sharing
I've made a quick fix and put 1.1.7-2 in interim folder. Please, try.
Thank you Maxim, now it is opening and plaing fine, but I see another problem now. If I convert dsd files in such way I described above, foo_input_sacd adds some extra samples at the end (or at beginning?) About 13ms on 5.6Mhz DSD. Why this happens? Do you use some kind of padding? I am looking for a way to extract DSD from sacd disks and from .dsf, .dff files in bit perfect way, and possibly trim digital silence from the beginning and from the end of files. (if it is possible of course). Also this way of converting right now is the only possible solution to extract dsd tracks from .dff or .dsf files referenced by cuesheets.
Here is wv file made with simple sonversation .dsf file-> wavpack.exe:
https://drive.google.com/file/d/10VylQ0hPzdYH4RYjKISMIYl5BYda6EVC/view?usp=sharing
And here is file converted to wv in my way (.wv file from above -> foo_input_sacd (DoP output)-> my dsp plugin to remove DoP marker bits and interleave channels properly -> strip wav header to leave PCM stream only -> feed stream to wavpack.exe with option "--raw-pcm=5644800 ,1,2"):
https://drive.google.com/file/d/13EyrREf4_JGHzGURrFZYZvICVJyZx3R/view?usp=sharing
As you can see foo_input_sacd added 75264 extra DSD samples. It is normal? If so, why wavpack.exe not done so?
There were 1/75s padding, which I removed. Please, try again.
No Maxim 1.1.7 did not work for me, I still see additional 75264 DSD samples in created file.
And anyway, what's the point to pad files to whole numbers of CD frames?
Updated to 1.1.7-4. If it still doesn't produce the exact number of samples please share your source. Padding was for DST.
@OP Where can I get the plugin you refer to? Thanks.
You probably mean my DSP plugin? Right now nowhere. Its under development.
It's in interim folder.
Thank you Maxim, 1.1.7-4 worked fine for me.
Binary comparator shows no difference between output of original file and produced wavpack file (through DoP output and my DSP plugin). But now I see reported length mismatch in foobar between original iso file and produced wavpack. But binary comparator shows no difference. See attached screenshot. Lower section is original SACD iso file and upper is produced wavpack files. As you see the length in samples is different.
What is the state of "Edited Master Playback" checkbox? Should be unticked to get more similar results.
It was checked everytime.