Menu

#22 DSD64/DSD128 Re-Sampler (For PCM Sources)

0.6.x
closed
nobody
None
1
2019-09-12
2012-10-20
Anonymous
No

Hi Max,

Do you think you will be able to come up with a DSD re-sampler that can resample all PCM sources to DSD64 and DSD128 before sending it through to a DSD DAC? I was thinking about what Playback Designs or EMM Labs do (in hardware) when they handle PCM data within their DACs (they up-sample all PCM input into DSD before the DAC chip) and I think it will be really cool if we can handle all that in software with your plugin and have the flexibility of choice again. I believe HQPlayer has such a little facility as well. Hope that suggestion light up the sparks in your little project again! Thanks Max.

Best Regards,

Ivan

Discussion

1 2 > >> (Page 1 of 2)
  • Maxim V.Anisiutkin

    Hi Ivan,

    I even played with this idea a bit in ASIO Proxy by doing CD upsampling :) But the problem is that I can't rely on myself in making decision which way (PCM or DSD upsampled) sounds (whatever it means) "better". If someone could make experiments with DSD upsampling of real high quality PCM records and tell the difference. For example, in Philips ProTECH Audio Format Converter with different PCM->DSD methods.

     
  • Anonymous

    Anonymous - 2012-10-26

    Hi Max,

    I have been converting hi-res PCM material to DSD128 (using Audiogate) for the past few days for experimentation purposes and I generally find that it sounds smoother and not as fatiguing to listen to the PCM version. Maybe it is just me but I actually prefect the re-sampled DSD128 tracks to the original! Strange finding! Now it will be fabulous if you have an option for re-sampling PCM material to either DSD64 or DSD128 on the fly with your plug-in to negate the time needed for such manaul PCM-DSD conversions through audiogate. Have you tried converting them for comparisons before?

     
  • Maxim V.Anisiutkin

    I've never compared such DSD converted tracks to PCM originals. Doing this DSD conversion in software is a bit of resource greedy, but can be done in real time.

     
  • Anonymous

    Anonymous - 2012-10-31

    I would think that for DSD pioneers like Playback Designs and EMM Labs to implement such a DSD128 upsampling topology (for all PCM and DSD64 material) within their DACs, they must have conclusive reasons for doing so, don't you think? With my recent experimental conversions of hi-res PCM material to DSD128, I can personally conclude that such a conversion actually have sonic benefits that I can discern.

    It will be fantastic if you can implement such an upsampler in software but I wonder whether it will complicate matters in your current plugin, or perhaps a separate upsampler module should be conceived? You are the boss and I am sure such an intriguing side project will give that clever mind of yours a good workout! Looking forward to your favourable take on this matter Max!

    Ivan

     
  • Maxim V.Anisiutkin

    I added the rather primitive form of PCM to DSD converter. Works only for x44100 samplerates. Is put in foo_dsd_asio folder.

     
    • Anonymous

      Anonymous - 2012-10-31

      Oh my goodness! Didn't take that long for you to figure that out did you?! I am impressed! Can't wait to go home to give it a test spin!

       
  • Maxim V.Anisiutkin

    As usual debugging of switching between DSD/PCM modes is going to be pain in the brain.

     
  • Anonymous

    Anonymous - 2012-10-31

    Hi MAX!

    I just tested out the new ASIOProxy and I must say it worked right out of the box! Fantastic job! All my 44.1, 88.2 and 176.4 PCM material upsampled to DSD128 without a hitch! And the switch between DSD64 and upsampled DSD128 isn't all that bad at all. On my Mytek at least, there was just a soft transitional pop, nothing that I haven't encountered before when I am just playing DSD only. However, I really need you to enlighten me on the 4 various types of SDM conversions. After a brief initial comparison between A, B and C, I kinda prefer type C! Hmmm... Need more time for experimentation!

    By the way, would upsampling x48kHz material be a pain in the ass to implement in SDM conversions? If so, would it explain why Playback Designs and EMM Labs have to implement it in hardware so that they can upsample both families of sampling frequencies? If you are able to overcome x48kHz upsampling, this ability to handle both x44.1 and x48 kHz rates would negate the need to worry about PCM/DSD transitions as there won't be any because all PCM material are upsampled, no?

    Finally, the implementation of the upsampler is beautifully handled in the ASIOProxy and I think it would be a complete package if it can both handle x48kHz rates and upsample DSD64 to DSD128 as well as an option! Boy, you are really a tough one to beat... Hope to hear more revisions to your ASIOProxy and share your explanations of the various SDM conversion types while I occupy myself with more listening tests!

    You are a wonder worker as usual! Thanks for always coming up with such innovative ideas in pushing DSD to the forefront of the current revolution in audiophilia!

     
  • Maxim V.Anisiutkin

    I'm thinking of x48 series. Anyway, this converter is just a draft and needs much more elaborated PCM->PCM upsampling stage. Yes, if everything is upsampled to, say, DSD64 transition between PCM and DSD tracks will be smoother. SDM types A,B,C,D are very close to what is called "SigmaDelta type <X>" in Philips ProTECH Audio Format Converter user manual. SDM types A,B,C,D have filters of orders 4, 5, 3, 5 with different resonator sections.

     
  • J. ackL.

    J. ackL. - 2012-11-01

    I second Ivan's idea about giving a little more info about the different modes or at least a more descriptive name than just A to D.

    Another question, 48K based PCM material when upsampled would give 3.072MHz DSD64 and 6.144 DSD128? Sounds very, very interesting.

    Last one, I've seen there are some new filters in 0.6.1's filetrs folder, can you give a little info about them?

    Thanks

    Javier

     
  • Maxim V.Anisiutkin

    Philips has named converters just SigmaDelta type A to D. At least with these names they make direct reference to AFC docs.

    Some DACs can do such "overclocked" DSDs, but I think it's better to resample 48k to the standart 2.8/5.6 DSDs for compatibility.

    Sorry, my mistake about these additional filters. Can't even remember what they were for... I removed them.

     
  • J. ackL.

    J. ackL. - 2012-11-02

    I found the ProTech manual, it doesn't describe how the different SDM modes work but at least gives a description of what to expect from each of them:

    SDM

     
  • Anonymous

    Anonymous - 2013-03-22

    Hi Max,

    Hi Max!

    This is Ivan again... How is it going? Figured out a way to perform 48kHz PCM conversion to DSD64/DSD128 yet? I was posting on the computeraudiophile forum and the author of HQPlayer suggest that it is possible to do a direct conversion to 2.8/5.6 MHz DSD without having to convert it to 44.1kHz PCM at all. I wonder what tricks does he have up his sleeves to get it going! Anyway I have personally been using and advocating the DSD upsampling feature since the day you released it and I just realised that the Mytek is able to handle 3.072MHz and 6.144MHz DSD as well! I mean I can understand why you didn't include it in the current ASIOProxy because of compatibility concerns but if you would be so kind as to post or send me (privately) the version that does upsample 48kHz PCM to either 3.072MHz and 6.144MHz DSD so we don't confuse the majority of the other users for evaluation purposes? Thanks so much as usual Max, you have enabled a lot DSD DAC users to be able to access their DSD material so readily.

    Ivan, Singapore
    ivantankj@gmail.com

     
  • Maxim V.Anisiutkin

    Yes, it is possible. PCM to DSD converter works approximately like this: It up-samples an original PCM to DSD64/128/256 frequency PCM and then uses SDM unit to decimate up-sampled PCM to 1-bit DSD signal. Ok, next week I hope I'll prepare such proxy for testing.

     
  • J. ackL.

    J. ackL. - 2013-03-22

    Hi Max,
    Did you really mean DSD256 (11.289/12.288MHz) will be included or was it a typo?
    Could you even push it to DSD512 (22.579/24.576MHz)? it is supported by my USB adapter (www.amanero.com) among others.

     
  • Anonymous

    Anonymous - 2013-03-26

    Hi Max,

    I'm a user of your plugin (I love it!) For the next version, could you force it to upsample high sample rate PCM files as well? (Like 352 and 384). For now, I have to get round it by playing a normal DSD file and immediately forcing foobar to play the high-res file to force the upsample. It works but it needs user intervention.

    Thanks from a fan!

     
  • Maxim V.Anisiutkin

    x48000 DSD to PCM converter for compatible DACs added.

     
    • Anonymous

      Anonymous - 2013-03-27

      Thanks Max for the hard work! I just saw your new asioproxy post and tried it with both the Mytek and TEAC UD-501 and unfortunately both DACs don't seem to be able to decode both 3.072 & 6.144 MHz DSD (upsampled from 1fs=48kHz PCM) signals at all. I am trying to get affirmation as to whether the Mytek does indeed decode such DSD signals as claimed. Hmmm...

      Ivan

       
      • Anonymous

        Anonymous - 2013-03-28

        It would seem that the USBPAL ASIO driver for the Mytek does not allow the use of the 1fs=48kHz clocks for DSD. However, this can be circumvented by using DoP instead which bypasses the ASIO driver for DSD. Unfortunately the Mytek does not support DSD128 over DoP yet so the 48kHz based PCM upsampling to DSD128 is not possible at the moment. The TEAC UD-501 DAC is not capable of such 'overclocked' upsampling either through ASIO or DoP.

        Since we are already at the topic PCM upsampling to DSD, any motivation to round up the package to provide for DSD64 upsampling to DSD128 and beyond?! Hahaha! Anyway, thanks once again as always!

        Ivan

         
  • J. ackL.

    J. ackL. - 2013-03-26

    I've just tested proxy 0.6.1 converting from 24/48 to both DSD64 and DSD128.

    It works great at DSD64 but I get funny behaviour when outputting DSD128, it changes from music to noise and back. It can be the DAC's fault though as it misbehaves also when playing 352.8k and 384K PCm, possibibly due to "lowish" spped XO.

    System is Foobar ASIO/native DSD-> Amanero Combo384 USB to I2S/DSD adapter -> Twistedpear Buffalo II DAC with 80Mhz XO.

    Would it be possible to add DSD256 and DSD512 upsampling or the output modes are determined by the ProTech soft?

    As always, thanks a million Max.

    Cheers
    Javier

     
  • Maxim V.Anisiutkin

    Sure DSD256/DSD512 up-sampling is possible.

     
  • J. ackL.

    J. ackL. - 2013-03-26

    It'll be fantastic if you could. I tried another commercial media player's demo (140€) and it didn't quite work, a powerful Core i5 was mandatory to get half decent results. On the other hand your Proxy upsampling barely hits 4% CPU usage on a Core i3 2100 (3.1GHz).

     
  • Maxim V.Anisiutkin

    Hi Ivan,

    I've got your message about Mytek and TEAC, but strangely it didn't appear here. Thanks for testing!

     
  • Anonymous

    Anonymous - 2013-04-24

    Hi Max,

    Thanks for your great work.

    I'm interested in looking at how real-time PCM to DSD upsampling is done. I can't find the source code for foo_dsd_asio though. Is there any reference I can look at? Thanks.

    Cheers,
    Peter

     
  • Maxim V.Anisiutkin

    foo_dsd_asio is very auxiliary part of the project and I decided not to share source code.
    By this time it is done in 3 steps:

    1. Linear interpolation of PCM to DSDXXX / 8.
    2. "Sample and Hold" (zero order 8x interpolation) of up-sampled PCM to DSDXXX.
    3. SDM of PCM. A good reference with source code is: Derk Reefman and Erwin Janssen "Signal processing for Direct Stream Digital".
     
1 2 > >> (Page 1 of 2)

Anonymous
Anonymous

Add attachments
Cancel