Closed audiofool closed 10 months ago
I have added experimental support of DSD_U32_BE in playhrt with commit 27bba19.
I have no files and no device at hand to test this myself. Can you try it and tell me if it works?
Concerning upsampling to DSD: There is no support for this in the libsoxr library and as far as I can tell this is also not planned. (In principle very high sample rates are not a problem but the art lies in good algorithms for dithering and noise shaping a reduction to 1 bit resolution.) And accordingly there is no plan to add it to my frontend resample_soxr. An option was maybe to use a library that provides this functionality, maybe r8brain produces very good results. But since I have no need for this, I have no current plans to implement this.
I tested it, sort of works. High amount of hiss with the music in the background. aplay sort of works the same way.
I'm not sure if you are still using the Topping D90 but I believe it has a native DSD bypass mode option. The bypass mode gets the best performance out of the AKM chips, even ESS chips which cannot be bypassed measure better with upsampled dsd since one or two dsp processes are still bypassed when using dsd.
Easy enough to compare dsd upsampling to pcm with HQPlayer which has a 30 minute runtime in trial mode, then you simply restart it.
My own workflow is to upsample pcm to 11289600 and then use sox-dsd (mansr version from github) to convert f64le to dsd256. I do all the dsp in pcm mode before converting to dsd. sox-dsd is the weak link, it sounds better to me than pcm but not as good as hqplayer. There are only a few examples of opensource pcm to dsd solutions. pcm2dsd is a windows program, foobar2000 has a plugin and of course sox-dsd.
The sdm modulator is the tricky issue with dsd, my prefered solution would be a standalone program to handle pcm to dsd.
Don't spend more effort on playhrt if you are not planning on using dsd yourself.
Again thanks for all your work
On 2024-Jan-04 Thu 12:36pm, frankl-audio @.***> wrote:
I have added experimental support of DSD_U32_BE in playhrt with commit [1]27bba19.
I have no files and no device at hand to test this myself. Can you try it and tell me if it works?
Concerning upsampling to DSD: There is no support for this in the libsoxr library and as far as I can tell this is also not planned. (In principle very high sample rates are not a problem but the art lies in good algorithms for dithering and noise shaping a reduction to 1 bit resolution.) And accordingly there is no plan to add it to my frontend resample_soxr. An option was maybe to use a library that provides this functionality, maybe [2]r8brain produces very good results. But since I have no need for this, I have no current plans to implement this.
— Reply to this email directly, [3]view it on GitHub, or [4]unsubscribe. You are receiving this because you authored the thread. Message ID: @.***>
References
- https://github.com/frankl-audio/frankl_stereo/commit/27bba19462a5e41b30b18bb5e4a3631faca823b9
- https://github.com/avaneev/r8brain-free-src
- https://github.com/frankl-audio/frankl_stereo/issues/1#issuecomment-1877579207
- https://github.com/notifications/unsubscribe-auth/AITEJMXP2V7KBJT4XOCI26DYM3ZDZAVCNFSM6AAAAABBE2ONIKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZXGU3TSMRQG4
Thanks for your comments! In fact, in principle I could use DSD with my Singxer SU-6 feeding Topping D90 with AKM chip. I found some former tests with HQPlayer not inviting enough to follow the DSD route. Maybe I will give it another try at some stage.
For now I close this issue.
Hi, Some dacs perform better when feed upsampled dsd data. I use sox-dsd (https://github.com/mansr/sox) to convert upsampled pcm to dsd. I use squeezelite to send to alsa using DSD_U32_BE.
Is it possible to have playhrt accept dsd256 input and then output using --sample-format DSD_U32_BE? The other performance potential improvement is whether sox-dsd could be improved by implementing dsd features in resample_soxr?