-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixing "uncommon" DSD-Wavpacks #84
Comments
This does not surprise me since there is a similar issue with FFmpeg. Unfortunately my regular development system is too old to build MKVtoolnix so I couldn't test just now. Can you try to verify the "uncommon" DSD WavPack file adding the -b option to the wvunpack command (i.e., wvunpack -vmb mkaextract.wv) to see if that fixes the issue? That will give me some idea of the scope of the problem. Thanks! |
Good evening, well your command indeed restored the whole filesize but the playable track length is just 1:04 instead of 4:15
restored file:
extracted file (from mka):
EDIT:
|
MKVToolNix author here. If, however, the format's unchanged, I'd be interested to know what |
Hello @mbunkus, thank you for the interest in this "niche topic". The great audio schism at the turn of the century left no clear winner, but Matroska can bridge this divide by storing the PCM-based audio streams (from DVD-Audio or Blu-ray Audio) and DSD (from SACD) in the same MKA file in a compressed and lossless manner. The only downside at the moment is that you can't get the wv-dsd out of the MKA with Last but not least - being able to "roughly but losslessly cut" DSD streams (without transcoding to PCM) comes not only handy for certain audiophiles, but could also be beneficial to those numerous DSD online shops who could offer short samples to their customers. Regards, ArminiusTux |
Here's a guide to what's new for version 5 Within the next few days I will get MKVToolNix building here (or at least experiment with the executables) and figure out exactly what's happening. I have some experience with this from FFmpeg and can give a very quick summary of the probable relevant changes:
I am happy to help with any changes required to get this working correctly. I'm not a C++ programmer, but have C snippets that do most of what's required. Let me take a look at and experiment with the relevant code and come back. Thanks! |
I have verified that the two issues above were in fact the problem, and have submitted a patch on GitLab to address them. This would obviously be preferable to the creation of a fixing tool... |
Hey @ArminiusTux, did you happen to get a chance to try out my changes? I suspect that they'll resolve the issues you were having. BTW, one thing I was thinking about was adding support to sacd_extract to write directly to WavPack files (I noticed that you have a fork of it). Whenever I convert my SACDs I have to go through dff, so that would cut out a step. |
Hello @dbry, I was able to compile the mkvtoolnix master sources from git with your changes (5 files) for Ubuntu.
superbly handles cutting & merging of wavpack-dsd files now. Seeking (.mka only) is a bit problematic for short duration pieces but when linked to the other parts, the playback is gapless. As for having wavpack-dsd output in sacd_extract - I would love that too. However my skills are totally insufficient to that aim (only forked setmind's project a year ago, because I wanted to make the sources compile for PowerPC). Although your preferred SACD ripping target seems to be single files with integrated cuesheets (DIFFMASTER + CUE -> WavPack-DSD), may I redirect your attention to the latest fork by EuFlo - it offers advanced tagging for DSF. A was a bit surprised by the fact that a single file wv-dsd (from DIFFmaster) rip offers no compression gains over individual track wv-dsd files (from DSF) counterpart. Last but not least, I am really aching for WavPack v5 support in Kodi, LibreELEC, VLC etc. Regards, ArminiusTux |
Hi @ArminiusTux, Thanks so much for testing out my patch! In case you haven't seen it's been accepted into the I wasn't suggesting that you put the WavPack support into As for FFmpeg, my patch was accepted there to play WavPack DSDs a while back and the Kind regards, David |
Hello David, thank you for the kind words - glad I could be of help. @mbunkus, thank you for accepting David's changes - upon its next release, Sorry for the mixup about To make a long story short, yes do please contribute to the sacd-ripper project - may I suggest joining an existing fork though: https://github.com/setmind/sacd-ripper Best regards, John |
@ArminiusTux Yeah, the only disadvantage of going direct from SACD to WavPack is that the resulting files would not be convertible to DSF or DFF files with tags because I have no intention of converting the APEv2 tags that WavPack uses to ID3v2 tags. Of course, I could put both tag formats in there as an option (although that's kind of ugly because they could get out of sync). What I have been doing is creating a single image file that contains a whole SACD (either the stereo or multichannel stream) and embedding both the cue sheet and the cover art in there. One file for everything! I took a quick look at adding WavPack support and it won't be as easy as I had hoped. But if I get some free time I'll give it a go. |
Dear Mr. Bryant [@dbry ],
attempting to cut a DSD track by compressing it to Wavpack and repackaging (incl. cutting) that into Matroska works surprisingly well.
However doing the rollback (mka -> wv -> dff) fails at the last step.
Can you confirm that MKVtoolnix (by @mbunkus) does not fully support WavPack v5 (especially for extraction)?
Since the borked .wv output (generated by mkvextract) does not play on its own BUT can be remuxed into .mka and played back again, would you consider adding a repair command line option to wavpack.exe & wvunpack.exe to salvage such "uncommon" DSD-Wavpacks?
Regards,
ArminiusTux
The text was updated successfully, but these errors were encountered: