Miska Posted September 19, 2014 Share Posted September 19, 2014 We need to find a good DFF to DSF conversion utility. Anybody? I tried the HFX light converter but got nowhere; it kept telling me the folders I was accessing were write-protected, which they absolutely weren't. I have such as a command line utility (currently only Linux, but OS X would be easy). Although now it does upsampling at the same time. But I could make a bit-perfect version of it. Stereo is easy, keeping multi-channel channel mappings correct could require some additional work. If you can convince me I could make such bit-perfect conversion utility. P.S. HQPlayer supports ID3v2 tags also in DFF files (and WAV), but it's not standard so I don't know if any tool writes such. (I think someone reported JRiver's tagging of either format to work, but can't remember anymore which one) Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted September 19, 2014 Share Posted September 19, 2014 The last thing I did was binary comparison of conversion results, taken form these two tools. It showed me only small differences at the beginning and the end of the files, otherwise the content of these two DSF files is identical. So I have a result: If Audiogate makes the DFF to DSF conversion without modifying the DSD content (only repackaging), then HFX converter does it too (only slower). There are some small differences in the header and footer of the DSF files, but not in the body. Sorrowly the HFX converter refused to convert DFF files, generated by sacd_extract. How did you do the comparison? The two formats have vastly different data layout, so there shouldn't be any part in the raw file where there is significant match. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted September 19, 2014 Share Posted September 19, 2014 The compared DSF files were created from the same DFF file, but the 1st using HFX Converter and the 2nd using Audiogate. OK, this is what I wanted to confirm. Miska, could you please create that cmd line tool also for Windows environment? It could be integrated into Explorer context menu, so it's usage could be convenient for all. Code itself is cross-platform and works on Windows too. Only real difference are the build files used to produce the binaries. OS X being unix-style system like Linux makes it easy to same thing for both. Windows always needs different treatment... But it's not anything major. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted September 19, 2014 Share Posted September 19, 2014 Jussi, yes JRiver will tag both DFF and WAV, but the tags don't travel well. OK, something was able to write ID3v2 tags into either format. But I really can't remember which one it was. DFF is pretty much just "WAV modified to support DSD". Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted September 20, 2014 Share Posted September 20, 2014 Someone needs to light a fire under Sony to have them update the DSF spec so it too can support DSD256 files - now that they are appearing more often. There's nothing to update. Works perfectly fine as-is up to 4.2950 GHz... I've used it a lot for testing DSD512 etc. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted September 20, 2014 Share Posted September 20, 2014 I had tested my *.dff files - tagged with Foobar - with HQPlayer, and reported that it had worked. Thank you, that was it! But one has always to remember that this isn't a standardized feature, so it can get lost/crippled any time ... Exactly, that's why I'd always recommend using DSF which supports ID3v2 tags by the spec. It is also more straightforward format for multichannel. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted September 20, 2014 Share Posted September 20, 2014 So how do you convert Quad DSD DFF files to DSF? You mean DSD256? Both formats have sampling rate as 32-bit integer (in Hz), so any rate that can presented within 2^32 value space in integer Hz works just fine. From 1 Hz to 4.3 GHz. I just finished the command line conversion tool. I'll make a build today for Linux, OS X and Windows and put it up for download. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted September 20, 2014 Share Posted September 20, 2014 Thanks Miska, I am ready to test it on Windows OS. Now the utility is available here: Signalyst For all three platforms. I tested it only on Linux though... Please let me know if there are problems on other platforms. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted September 20, 2014 Share Posted September 20, 2014 I found that the 2nd command line parameter must be full pathname including drive letter, otherwise "handle is invalid" is reported. OK, I'll fix this at some point. Shouldn't happen on Linux or OS X, it's due to one of the Windows peculiarities (unicode file name handling)... Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted September 21, 2014 Share Posted September 21, 2014 I found that the 2nd command line parameter must be full pathname including drive letter, otherwise "handle is invalid" is reported. I just uploaded updated version 1.0.1 to deal with this. Only Windows version is updated, no changes on Linux or OS X version. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted September 22, 2014 Share Posted September 22, 2014 Ted, I found Jussi's tool cannot convert the compressed DST format. Yes, data originating from SACD can be decompressed by the extraction utility while writing DFF. For Windows users, Mp3tag is good utility for tagging the resulting DSF files. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 1, 2014 Share Posted October 1, 2014 How long does it take to convert a 4min DFF to DSF? 4:45 long stereo track takes 2.4 seconds on my Linux desktop. The converter is not optimized for maximum conversion speed, it would be probably possible to make it faster. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 3, 2014 Share Posted October 3, 2014 The binary for linux is only for 64bit OS? Yes, it is built on 64-bit Ubuntu 14.04 LTS (Trusty Tahr). The OS X binary is also 64-bit, but Windows binary is 32-bit. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 9, 2014 Share Posted October 9, 2014 You want say what clicks for iso to dsf conversion possible only for inter-track transition? Not during track? There's a bug in the original iso2dsf converter that truncates the last partial DSF data block... That's what makes it click on the track transition. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 9, 2014 Share Posted October 9, 2014 I found it's low level of audibility so innocuous that I never saw it as a hurdle, and continue to push DSF due to its overwhelming advantage of metadata/tagging compatibility with ID3V2. And now that issue shouldn't exist anymore with the ISO->DFF->DSF conversion route... Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 9, 2014 Share Posted October 9, 2014 If I would have a command line tool (or Perl library) available to tag DSF files, the tagging could be incorporated directly to ISO2DSF code. Could you output an ID3v2 blob? I could see my code how easy it would be to add support for copying ID3v2 tag from a second file into output DSF... Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 9, 2014 Share Posted October 9, 2014 What's the ID3v2 blob? Google didn't help me ... Something like empty audio file with IDv3 tags? I mean content of the ID3 tag, it is binary data encoded in certain way, see here: Developer Information - ID3.org I believe CPAN could have the needed tools for perl... (you were using perl if I understood correctly?) Implementations - ID3.org Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 10, 2014 Share Posted October 10, 2014 That what it should be, cause the only the header should change, the rest of the file remains unaltered. If the DFF to DSF conversion takes several minutes, it may go through a conversion process (like Jriver - currently). No, all the data needs to be reshuffled, because the data organization is completely different in the two formats... So it needs to read all the source data, reshuffle it and write it out to another file. So for the 4:45 track it neads to read 200 MB from the disk, rearrange and write 200 MB to the disk. The time varies based on the HDD speed and the OS' caching capabilities. It is not so much speed optimized now and works on fairly small blocks of data (~15 ms). Code originates from my own internal testing tool, so speed was not the development criteria for it... Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 10, 2014 Share Posted October 10, 2014 I uploaded dff2dsf v.1.1.0 update here: Signalyst Now the same conversion takes 0.8 seconds on my old Linux desktop machine. I also added a check for DST compressed content so it should gracefully exit when such is discovered (with return value 2). However I don't have any DST compressed files to test with, so it's just a guess. So conversion should be now faster. I did MD5 comparison of the resulting file to the previous version with identical results, but I would request others to also make sure I didn't introduce new bugs while making the conversion faster... There is now also 32-bit Linux binary included. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 11, 2014 Share Posted October 11, 2014 Jussi, dff2dsf.exe still crashes in the case of DST input file. I sent a link to a DST file to your mail.I sent you another mail related to the 'id3v2 blob' topic. Thanks! I'll check it out and also the ID3 tag. I'll try to put both fix for the crash and tag writing support and make a new build today. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 11, 2014 Share Posted October 11, 2014 OK, how does Audiogate 3 work on the conversion dff to dsf so quickly? For an album it takes maybe less than than 10s, in fact it takes more time to setup than execution. I don't know. Did you try out the new version? I made the processing chunk 16x larger, now it's about 200 ms of data. I can bump it to 1 second or something like that if it feels there would be still an improvement in speed. How much time it takes for you with the new version? The 0.8 seconds it takes for me for the 200 MB track means there's already disk I/O exceeding 400 megabytes per second. On my Core i3 Windows laptop it took couple of seconds to convert the same file over a gigabit ethernet. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 12, 2014 Share Posted October 12, 2014 3) in ALL cases it says to extract/unzip "to same folder as used in step 1 ". Don't extract all the Bogi (edit: I mean Miska) versions, just the one you need (i.e click on Win32, don't unzip the parent folder). IMO, easiest way is 1) Double click the ZIP 2) Double click on the win32 folder 3) Drag-and-drop the dff2dsf.exe where ever needed... (or use Ctlr-C and Ctrl-V) Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 12, 2014 Share Posted October 12, 2014 I just released dff2dsf v1.2.0 with support for (optionally) writing out given ID3v2 tag data to the output DSF file while writing it out. I also made the processing buffer larger again. Now the speed increase on Linux was just 0.02 seconds for me (on 200 MB file), but on Windows the difference could be larger. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 14, 2014 Share Posted October 14, 2014 Previouslly you most probably extracted other ISO files, not that one which now caused your troubles. The issue with sacd_extract <outdir> parameter si not systematic. It occurs only with ISO's where artist or album names are very long strings. Without small extra hassle, combined full path name of a file can be max 255 characters on Windows. On Windows, dff2dsf support file paths up to 32768 characters long. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Miska Posted October 15, 2014 Share Posted October 15, 2014 No clicks at end of DFF's but sadly clicks at end of all DSF's One possibility is that the player you use doesn't handle DSFs correctly... It must take into account that the last block is almost never full. Signalyst - Developer of HQPlayer Pulse & Fidelity - Software Defined Amplifiers Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now