IPB

Welcome Guest ( Log In | Register )

3 Pages V  < 1 2 3 >  
Reply to this topicStart new topic
DSDIFF Decoder, foo_input_dsdiff
kode54
post Apr 15 2011, 08:06
Post #26





Group: Admin
Posts: 4499
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.
Go to the top of the page
+Quote Post
000811zhf
post 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.
Go to the top of the page
+Quote Post
oynu
post 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
Go to the top of the page
+Quote Post
oynu
post 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

Go to the top of the page
+Quote Post
kode54
post May 19 2011, 04:07
Post #30





Group: Admin
Posts: 4499
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.
Go to the top of the page
+Quote Post
vincefalks
post May 19 2011, 19:55
Post #31





Group: Members
Posts: 37
Joined: 23-August 09
Member No.: 72571



QUOTE (kode54 @ May 19 2011, 04:07) *
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
Go to the top of the page
+Quote Post
vincefalks
post Jun 1 2011, 22:21
Post #32





Group: Members
Posts: 37
Joined: 23-August 09
Member No.: 72571



QUOTE (vincefalks @ May 19 2011, 19:55) *
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...
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.
Go to the top of the page
+Quote Post
vincefalks
post Jun 6 2011, 01:15
Post #33





Group: Members
Posts: 37
Joined: 23-August 09
Member No.: 72571



QUOTE (vincefalks @ Jun 1 2011, 22:21) *
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.
Go to the top of the page
+Quote Post
deathlord
post 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)?
Go to the top of the page
+Quote Post
kode54
post Jun 13 2011, 23:09
Post #35





Group: Admin
Posts: 4499
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.
Go to the top of the page
+Quote Post
deathlord
post Jun 14 2011, 07:58
Post #36





Group: Members
Posts: 12
Joined: 21-June 09
Member No.: 70868



QUOTE (kode54 @ Jun 13 2011, 23:09) *
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).
Go to the top of the page
+Quote Post
lvqcl
post Jun 14 2011, 08:53
Post #37





Group: Developer
Posts: 3208
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.
Go to the top of the page
+Quote Post
kode54
post Jun 14 2011, 19:31
Post #38





Group: Admin
Posts: 4499
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.
Go to the top of the page
+Quote Post
deathlord
post Jun 14 2011, 19:47
Post #39





Group: Members
Posts: 12
Joined: 21-June 09
Member No.: 70868



QUOTE (kode54 @ Jun 14 2011, 19:31) *
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 (lvqcl @ Jun 14 2011, 08:53) *
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?
Go to the top of the page
+Quote Post
lvqcl
post Jun 14 2011, 20:13
Post #40





Group: Developer
Posts: 3208
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.

Go to the top of the page
+Quote Post
exa065
post 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



Go to the top of the page
+Quote Post
Sandrine
post Jul 25 2011, 19:03
Post #42





Group: Members
Posts: 319
Joined: 2-July 10
Member No.: 81991



QUOTE (vincefalks @ May 19 2011, 19:55) *
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.
Go to the top of the page
+Quote Post
oynu
post 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?
Go to the top of the page
+Quote Post
kode54
post Aug 13 2011, 01:17
Post #44





Group: Admin
Posts: 4499
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.
Go to the top of the page
+Quote Post
mudlord
post Aug 13 2011, 07:32
Post #45





Group: Developer (Donating)
Posts: 797
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.
Go to the top of the page
+Quote Post
lvqcl
post Aug 13 2011, 08:41
Post #46





Group: Developer
Posts: 3208
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
Go to the top of the page
+Quote Post
mudlord
post Aug 13 2011, 11:31
Post #47





Group: Developer (Donating)
Posts: 797
Joined: 1-December 07
Member No.: 49165



Excellent, thanks.
Go to the top of the page
+Quote Post
ingosl
post 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
Go to the top of the page
+Quote Post
lvqcl
post Aug 17 2011, 16:31
Post #49





Group: Developer
Posts: 3208
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.
Go to the top of the page
+Quote Post
ingosl
post Aug 18 2011, 08:55
Post #50





Group: Members
Posts: 12
Joined: 12-August 11
Member No.: 92970



QUOTE (lvqcl @ Aug 17 2011, 17:31) *
QUOTE (ingosl)
it shows up "1"


This means that you use foo_input_sacd, not foo_input_dsdiff.



OK, and what do I have to do to change DSDIFF ID3 Tags correctly?

Best,

ingosl
Go to the top of the page
+Quote Post

3 Pages V  < 1 2 3 >
Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 18th April 2014 - 11:04