DSDIFF Decoder, foo_input_dsdiff |
![]() ![]() |
DSDIFF Decoder, foo_input_dsdiff |
Apr 15 2011, 08:06
Post
#26
|
|
![]() Group: Admin Posts: 4219 Joined: 15-December 02 Member No.: 4082 |
You must install either the standard DSP array component, or the SoX resampler component. That, or put up with 352800Hz output somehow.
|
|
|
|
Apr 15 2011, 08:51
Post
#27
|
|
|
Group: Members Posts: 3 Joined: 15-April 11 Member No.: 89820 |
Thanks . i add foo_dsp_resampler.dll ,now **.dll can play now. thanks again.
|
|
|
|
May 7 2011, 02:41
Post
#28
|
|
|
Group: Members Posts: 3 Joined: 7-May 11 Member No.: 90418 |
.
This post has been edited by oynu: May 7 2011, 02:50 |
|
|
|
May 18 2011, 23:16
Post
#29
|
|
|
Group: Members Posts: 3 Joined: 7-May 11 Member No.: 90418 |
Thanks for great plugin! Any chance fixing these bugs?
Files here 1) In attached files channel order should be FL-FR-FC-LFE-RL-RR instead of FC-LFE-RL-RR-SL-SR 2) sample dsd.dff encoded to sample dst.dff using reference encoder then both files converted to wav using this plugin resulting wavs match when converted at 44 kHz and differ by 1 when at 96 kHz QUOTE 23234: 4F 4E 23300: F5 F4 23378: DF DE 24011: 0A 0B 24224: EC ED 24623: 2A 29 24629: 4A 49 24896: EF F0 |
|
|
|
May 19 2011, 04:07
Post
#30
|
|
![]() Group: Admin Posts: 4219 Joined: 15-December 02 Member No.: 4082 |
1) Upon inspection of a proper DSDIFF specification, I see that MLFT and MRGT are "multi-channel" left and right. So, identical to the SLFT and SRGT in behavior, except that they just had to make separate channel flag names for surround files. Fixed, thank you.
2) I set the maximum output sample rate to 96000Hz, then ran a bit compare. The only difference found between the two files is that the DSD is .004 longer than the DST. Also, I only implemented DST support based on a crappy reference decoder that will probably never achieve real time until 10GHz machines come along, so it's probably not too useful for every day use. Maybe the problem is your resampler component? I only have the standard DSP component installed, so just the polyphase resampler. |
|
|
|
May 19 2011, 19:55
Post
#31
|
|
|
Group: Members Posts: 37 Joined: 23-August 09 Member No.: 72571 |
1) Upon inspection of a proper DSDIFF specification, I see that MLFT and MRGT are "multi-channel" left and right. So, identical to the SLFT and SRGT in behavior, except that they just had to make separate channel flag names for surround files. Fixed, thank you. 2) I set the maximum output sample rate to 96000Hz, then ran a bit compare. The only difference found between the two files is that the DSD is .004 longer than the DST. Also, I only implemented DST support based on a *****y reference decoder that will probably never achieve real time until 10GHz machines come along, so it's probably not too useful for every day use. Maybe the problem is your resampler component? I only have the standard DSP component installed, so just the polyphase resampler. hey kode54, appreciate you updating this. Maybe a better open-source/GNU-licence DST decoder is coming (or is already here). check if it's already there, or will be: http://code.google.com/p/sacd-ripper/updates/list. it's at least in the to-do list. the guy is active and will make it happen. hrm, actually, maybe since this is only file conversion that he's dealing with, this guy will just use the reference decoder. still worth checking the updates to see what he ends up using, or even writing himself. maybe just email him to see what his plans are...he will likely answer... This post has been edited by vincefalks: May 19 2011, 20:04 |
|
|
|
Jun 1 2011, 22:21
Post
#32
|
|
|
Group: Members Posts: 37 Joined: 23-August 09 Member No.: 72571 |
hey kode54, appreciate you updating this. update: he's writing his own DST decoder, and since it's under GNU and he's a nice guy, I'm sure he's fine for it to be put into the foobar player.Maybe a better open-source/GNU-licence DST decoder is coming (or is already here). check if it's already there, or will be: http://code.google.com/p/sacd-ripper/updates/list. it's at least in the to-do list. the guy is active and will make it happen. hrm, actually, maybe since this is only file conversion that he's dealing with, this guy will just use the reference decoder. still worth checking the updates to see what he ends up using, or even writing himself. maybe just email him to see what his plans are...he will likely answer... I don't have time to ask (and report back), but I expect it would be much higher performance than the reference MPEG4 one (otherwise why would he write his own one). he wants good ripping speed. so kode, just look out for it. |
|
|
|
Jun 6 2011, 01:15
Post
#33
|
|
|
Group: Members Posts: 37 Joined: 23-August 09 Member No.: 72571 |
update: he's writing his own DST decoder, and since it's under GNU and he's a nice guy, I'm sure he's fine for it to be put into the foobar player. I don't have time to ask (and report back), but I expect it would be much higher performance than the reference MPEG4 one (otherwise why would he write his own one). he wants good ripping speed. so kode, just look out for it. since i can't edit my last post, posting a correction to this last report. he's not writing his own decoder from scratch. he's harnessing the ps3's own decoding software. however. another one (for windows use) is being written up by the 'team' right now. based on other code from existing decoders, but changed significantly to improve it muchly. so it'll be its own decoder in its own right. all is rosey. |
|
|
|
Jun 13 2011, 13:51
Post
#34
|
|
|
Group: Members Posts: 12 Joined: 21-June 09 Member No.: 70868 |
Hi kode54
Thanks a lot for this great plugin! QUOTE The configuration page supports any rate between 6KHz and 192KHz. And it output 32-bit floating point. When I convert to flac, I get 16 bit files. Does this mean foo_dsp_resampler.dll outputs 16 bit in this case? Or is the conversion from 32 float to 16bit done in the flac encoder? And what dithering mechanism is applied (if any)? |
|
|
|
Jun 13 2011, 23:09
Post
#35
|
|
![]() Group: Admin Posts: 4219 Joined: 15-December 02 Member No.: 4082 |
The converter is using the preset for lossy files, since conversion from DSD is a computationally lossy process. You'll need to specify 24 bits for lossy files in the converter setup dialog.
|
|
|
|
Jun 14 2011, 07:58
Post
#36
|
|
|
Group: Members Posts: 12 Joined: 21-June 09 Member No.: 70868 |
The converter is using the preset for lossy files, since conversion from DSD is a computationally lossy process. You'll need to specify 24 bits for lossy files in the converter setup dialog. Hm, I can specify the output bitdeph in the converter setup explicitly. When I use a custom preset, I can also specify the encoders maximum input bitdepth. What I do not quite understand is the following: According to the documentation, the flac command line encoder does not support floating point (only integer up to 24 bit). So I assume foobar will convert the input to a format the encoder understands based on the settings in the converter setup. Or does it just tell the component in the chain before the converstion (in this case foo_dsp_resampler) to produce a suitable output? Interestingly, it also works if I set the maximum input bitdepth to 32 bit (in which case I expect the 32 bit float from foo_input_dsdiff to be converted to 32 bit int, which flax.exe should not support). Maybe the input is then just truncated. In any event, I think it is probably best to limit input to 24 bit and then let the flac encoder dither down to 16 bit (I want 16 bit, not 24). |
|
|
|
Jun 14 2011, 08:53
Post
#37
|
|
![]() Group: Developer Posts: 2983 Joined: 2-December 07 Member No.: 49183 |
QUOTE let the flac encoder dither down to 16 bit Not possible: flac doesn't alter its input. |
|
|
|
Jun 14 2011, 19:31
Post
#38
|
|
![]() Group: Admin Posts: 4219 Joined: 15-December 02 Member No.: 4082 |
When selecting a bit depth for the output format, I think the "auto" selection always assumes 16 bits for lossy files. I could be wrong, though.
|
|
|
|
Jun 14 2011, 19:47
Post
#39
|
|
|
Group: Members Posts: 12 Joined: 21-June 09 Member No.: 70868 |
When selecting a bit depth for the output format, I think the "auto" selection always assumes 16 bits for lossy files. I could be wrong, though. Yes, I think you are right. QUOTE let the flac encoder dither down to 16 bit Not possible: flac doesn't alter its input. Well, it does accept up to 24 bit input and it does output what I tell it to, i.e. 16 or 24 bit. So if flac.exe does not do anything, the conversion has to happen somwhere else. Maybe foobar loads instances of some filter as needed? Example: I want to convert DSDIFF to 16 bit flac. I set the input for flac conversion to 24 bit and the output bitdepth to 16 bit, dither to "always". Then foobar would convert the 32 bit floating point output from DSDIFF decoder to 24 bit int, pass that on to flac.exe which converts it to 24 bit flac, which foobar would then dither down to 16 bit. Does this sound likely? |
|
|
|
Jun 14 2011, 20:13
Post
#40
|
|
![]() Group: Developer Posts: 2983 Joined: 2-December 07 Member No.: 49183 |
QUOTE Does this sound likely? Definitely not. If max. output bitdepth for flac is 24 and output bitdepth is 16 bit, foobar2000 chooses the lower bit depth: 16 bit. So foobar2000 converts 32-bit floating point to 16-bit integer (using dither) and sends output to flac.exe. |
|
|
|
Jun 16 2011, 23:41
Post
#41
|
|
|
Group: Members Posts: 8 Joined: 24-March 11 Member No.: 89257 |
kode54,
Would you be interested to explore the possibility to alter your plug-in for producing native DSD output for use with ASIO devices? See experiments for native DSD playback here: http://www.diyaudio.com/forums/digital-lin...tml#post2608599 |
|
|
|
Jul 25 2011, 19:03
Post
#42
|
|
|
Group: Members Posts: 306 Joined: 2-July 10 Member No.: 81991 |
hey kode54, appreciate you updating this. Maybe a better open-source/GNU-licence DST decoder is coming (or is already here). check if it's already there, or will be: http://code.google.com/p/sacd-ripper/updates/list. I don't have time to ask (and report back), but I expect it would be much higher performance than the reference MPEG4 one. The performance for decoding DST encoded files is about the same: You'll need a Dual Core CPU for stereo playback, and a Quad Core CPU for multichannel playback. The new foo_input_sacd uses this code. Since that component can now also decode DSDIFF, it would be interesting to know which plug-in produces a higher quality conversion. kode54's with foobar resampler and free choice of sample rate or max's component which is based on the Philips decoder and has the sample rate fixed at 88.1khz. |
|
|
|
Aug 12 2011, 23:24
Post
#43
|
|
|
Group: Members Posts: 3 Joined: 7-May 11 Member No.: 90418 |
it appears this plugin applies 6db gain or this assumption is incorrect? respecfully requesting to make that optional if possible?
|
|
|
|
Aug 13 2011, 01:17
Post
#44
|
|
![]() Group: Admin Posts: 4219 Joined: 15-December 02 Member No.: 4082 |
This component does not apply any gain. It merely downsamples the stream as-is. The resulting sample data will be guaranteed to be at no higher than the configured sample rate, which defaults to 88200Hz. It will also be floating point, although there may be imperceptible noise in the resulting signal.
|
|
|
|
Aug 13 2011, 07:32
Post
#45
|
|
![]() Group: Developer (Donating) Posts: 712 Joined: 1-December 07 Member No.: 49165 |
Would it be possible to have a advanced setting to pick which resampler service to use?
I wouldn't mind using this for testing of the resampler in my DSP. |
|
|
|
Aug 13 2011, 08:41
Post
#46
|
|
![]() Group: Developer Posts: 2983 Joined: 2-December 07 Member No.: 49183 |
CODE class mudlord_resampler : public resampler_entry { public: //... virtual float get_priority() { return 1; } // or something > 0 and <= 1 }; should do what you want. Added: so this resampler will have priority over built-in PPHS. Yet it is necessary to remove other resampler components such as SSRC, SoX, ... This post has been edited by lvqcl: Aug 13 2011, 12:32 |
|
|
|
Aug 13 2011, 11:31
Post
#47
|
|
![]() Group: Developer (Donating) Posts: 712 Joined: 1-December 07 Member No.: 49165 |
Excellent, thanks.
|
|
|
|
Aug 17 2011, 16:13
Post
#48
|
|
|
Group: Members Posts: 12 Joined: 12-August 11 Member No.: 92970 |
Hi,
I just played a DSD (DSDIFF) file and tried to change the Tag information by opening the tag window. But changes are not accepted - when I click on "Apply" and/or "OK" it shows up "1" even if I typed in something else. All the best ingosl This post has been edited by db1989: Aug 17 2011, 16:20
Reason for edit: merged in; was previously its own topic
|
|
|
|
Aug 17 2011, 16:31
Post
#49
|
|
![]() Group: Developer Posts: 2983 Joined: 2-December 07 Member No.: 49183 |
QUOTE (ingosl) it shows up "1" This means that you use foo_input_sacd, not foo_input_dsdiff. |
|
|
|
Aug 18 2011, 08:55
Post
#50
|
|
|
Group: Members Posts: 12 Joined: 12-August 11 Member No.: 92970 |
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 22nd May 2013 - 18:14 |