Deffy converts .DFF files (either containing DSD or DST) to .DSF files.
The conversion is lossless (no PCM steps involved).
Any metadata in the .DFF file is copied directly to the .DSF file.
A bit annoyed by the lack of conversion software for these file types (either not working on DSD, or not working on DST, or asking money for what's really a very simple conversion) as per usual I decided to build it myself (and spread the love for free).
A very short explanation as to what DSD / DST / DFF / DSF means:
Direct Stream Digital (DSD) comes in two flavors (when limiting it to files on a computer): .DFF (Philips) or .DSF (Sony). The Philips files contain either DSD or DST (Direct Stream Transfer - lossless compressed DSD... so note that this is still DSD). The Sony files (.DSF) always contain DSD (uncompressed). You see how they're rather similar. If a Philips file is uncompressed it's almost a Sony file! The data is arranged a bit differently and the headers in the files differ a bit, but the bytes that make up the music are exactly the same (just mixed up differently). Music players that can handle DSD usually can play both file types (.DFF and .DSF).
.DFF = Philips file type.
.DSF = Sony file type.
DSD content is in both.
If DSD is compressed (only in the Philips file) it's called DST.
The Sony files do not do compression.
Now why would you prefer Sony files over Philips files? The Philips files do have the advantage (if they contain compressed DSD they're a lot smaller): the answer is that you can't store metadata in a .DFF file. You can in a .DSF file (aaah... but is this actually true or is this some vague digital urban legend?).
Actually... this metadata-problem isn't the .DFF file itself, because it's not difficult to glue a metadata (ID3) chunk to the end of it (or insert it somewhere in the middle), even if it's not in the official specs. DFF allows non-compliant chunks to be added to the file. So it's not the storing or the writing: it's the reading. The programs out there (like e.g. MusicBee or MP3Tag) don't seem to want to read it (probably because then they also have to write it). Which is a shame, cause the compressed .DFF files are usually around 50% smaller (compared to their bloated .DSF cousins). Then again... I believe DST only works for DSD64, so if you have higher resolution files, the advantage of compression drops away.
So from a user perspective it's true: you can't find easy software to edit metadata in a .DFF file (or add it). And even if you could, there's not many usuable programs out there for archiving or playing the files (programs which actually read the metadata), apart from Foobar. But from a technical point of view it's not true (proven by Foobar): you can write metadata to a .DFF file (text, images, the whole ID3 spec). No problem. They play just as fine with that extra chunk. So if the right people would come together to end this problem, we wouldn't have to go through this conversion, just so we can add some text or images to the file. Mind you, I do realise what I propose is less trivial than it sounds, since the metadata chunk can be anywhere in the file. I leave the complications of that problem to your imagination and shall move on now.
So where does that leave Deffy? Well simple: if Deffy encounters an ID3 metadata chunk in the .DFF file, the chunk is copied as a whole to the end of the .DSF file (where it belongs, according to the DSF specs), so it's readable and doesn't get lost (and yes, in my experience with .DFF files I experimented with, when building Deffy, they all had metadata embedded).
Is it free? Yes! And what are the limitations?
Deffy converts compressed and uncompressed .DFF files to .DSF files. The software is free (and no adware, spyware, reduced functionality, inserted silence or other nuisances... seriously... fully functional and totally free!). Note that the program was tested mainly with stereo files.
I did run a few multichannel DFF files to test, but I have no way of playing the resulting DSF files back (the way they are meant to be played back: in a mulitchannel setup). So no guarantees if you go beyond 2 channels. The multichannel files I tested did play fine when played back in stereo.
I didn't bother at all to test an Edit Master. Basically you can create such a .DFF when you rip a SACD (or SACD-ISO) as a whole. It's one .DFF file that contains the complete content of the SACD.
Most likely (almost certainly) Deffy will not work with those (either crash, stall, freeze or produce garbage). Edit: in the meantime I did try, and much to my surprise, Deffy converted the file without problems. You end up with one big .DSF file that contains all tracks. I don't see the value in it, but well... nice to know it works, without me having to put in extra effort...
Speedwise the conversion of uncompressed DSD is very fast, but converting compressed DSD (DST) isn't. There's some parallel processing going on in Deffy via multiple threads (a maximum of 10 files are converted simultaniously), but unpacking DST isn't the fastest.
This software uses original code from Philips, which is freely available, to unpack DST (when converting compressed files). Copyright notices - as per request in the source code - are in the 'About'.
What if I regret my conversion?
Well, that's a funny one. Deffy doesn't destroy your original .DFF file, just writes a new .DSF file. But Deffy can't do .DSF to .DFF (only .DFF to .DSF). So if you throw away your original .DFF file after the conversion, Deffy can't help you. It wouldn't be too difficult to build (same stuff but reversed), but here's the conundrum: the compression algorithm made public by Philips is one way. At least, I couldn't find the 'compress' routine (I also didn't search for it very extensively). Only the 'decompress' was readily available. And reverse enginering this stuff? I'd rather not (I'm not that smart... it would take me ages, if at all). Don't throw away your compressed .DFF files if you're not sure... (for uncompressed files it really doesn't matter).
In general: this software comes without guarantees. Holding on to your .DFF files until you've at least listened to the .DSF conversions (and made sure they're okay) is always the smarter thing to do. Also keep in mind that new software usually needs to go through a few iterations to get the more serious bugs out.