Jump to content
IGNORED

DSD encoding with SoX


mansr

Recommended Posts

I probably do DST encoder as well, but I don't see where it can be used.

 

We can say that (HDD)storage costs some peanuts, but we can hypotetically think that maybe DSD content starts growing in higher speed than now, then DST lossless is a option worth something when someone collects/uses larger archive.

Sorry, english is not my native language.

Fools and fanatics are always certain of themselves, but wiser people are full of doubts.

Link to comment
I wouldn't agree about complexity in algorithmic sense. It's kind of "traditional" FIR filter prediction plus arithmetic encoding of residuals.

 

It's a 30-page spec. Granted, that's a lot less than, say, AAC, but there are still a lot of cases to cover.

Link to comment
We can say that (HDD)storage costs some peanuts, but we can hypotetically think that maybe DSD content starts growing in higher speed than now, then DST lossless is a option worth something when someone collects/uses larger archive.

In this situation of DST decoding on-the-fly you just trade approximately 2x compression ratio for high CPU load. In the case of big DSD collection it surely could save a lot of disk space. But I would prefer to use DST only when it is a necessity. Like playing back SACD ISOs.

Link to comment
It's a 30-page spec. Granted, that's a lot less than, say, AAC, but there are still a lot of cases to cover.
I never saw this 30 page spec, only read DST encoder sources. That made an impression that the most complicated part of algorithm is the actual packing of compressed data into DST stream. If you could give me a link to this DST spec I would appreciate a lot.
Link to comment
I never saw this 30 page spec, only read DST encoder sources. That made an impression that the most complicated part of algorithm is the actual packing of compressed data into DST stream. If you could give me a link to this DST spec I would appreciate a lot.

 

DST compression is included as subpart 10 of the MPEG4 audio spec (ISO 14496-3). Here's a freely available draft version:

https://www.itscj.ipsj.or.jp/sc29/open/29view/29n6213t.doc

 

The final version is available for purchase from ISO, or you can usually find leaked or accidentally published copies with a bit of searching.

Link to comment
In this situation of DST decoding on-the-fly you just trade approximately 2x compression ratio for high CPU load. In the case of big DSD collection it surely could save a lot of disk space. But I would prefer to use DST only when it is a necessity. Like playing back SACD ISOs.

I agree. In case of SACD (=DSD64) compression ratio is actually a bit higher, 2,4-2,6x, depends of signal level.

Sorry, english is not my native language.

Fools and fanatics are always certain of themselves, but wiser people are full of doubts.

Link to comment
I have now added support for DoP encapsulation of DSD.

 

Thanks once again.

One never knows, do one? - Fats Waller

The fairest thing we can experience is the mysterious. It is the fundamental emotion which stands at the cradle of true art and true science. - Einstein

Computer, Audirvana -> optical Ethernet to Fitlet3 -> Fibbr Alpha Optical USB -> iFi NEO iDSD DAC -> Apollon Audio 1ET400A Mini (Purifi based) -> Vandersteen 3A Signature.

Link to comment
  • 1 month later...

In MPD music player (compiled with sox enabled and DSD patches) I use something like this for realtime PCM --> PCM upsampling with sox

 

audio_output_format "768000:32:2"

samplerate_converter "soxr very high"

 

Is there an equivalent for PCM --> DSD conversion?

I have already tried some parameters, but I didn't get it working.

 

EDIT: I guess that libsoxr must be patched and recompiled in some way...

AudioLinux --> https://www.audio-linux.com

developer of AudioLinux realtime OS

Link to comment
In MPD music player (compiled with sox enabled and DSD patches) I use something like this for realtime PCM --> PCM upsampling with sox

 

audio_output_format "768000:32:2"

samplerate_converter "soxr very high"

 

Is there an equivalent for PCM --> DSD conversion?

I have already tried some parameters, but I didn't get it working.

 

Maybe MPD need a patch for this?

 

You probably need to patch MPD to teach it about the new functionality.

Link to comment
  • 3 months later...
Yes. To do that you need to remove the high-frequency noise from the original, resample to 256x rate, and quantise to 1-bit. Like this:

 

sox in.dsf out.dsf rate -v 88200 gain 6 rate -v 11289600 sdm

 

Very cool! Thanks for volunteering this, mansr.

Dedicated Line DSD/DXD | Audirvana+ | iFi iDSD Nano | SET Tube Amp | Totem Mites

Surround: VLC | M-Audio FastTrack Pro | Mac Opt | Panasonic SA-HE100 | Logitech Z623

DIY: SET Tube Amp | Low-Noise Linear Regulated Power Supply | USB, Power, Speaker Cables | Speaker Stands | Acoustic Panels

Link to comment
  • 1 month later...

Can you (or any kind reader) provide the idiot's minimal guide to installation on El Capitan 10.11.4, or failing that, on Xubuntu 15.10?

One never knows, do one? - Fats Waller

The fairest thing we can experience is the mysterious. It is the fundamental emotion which stands at the cradle of true art and true science. - Einstein

Computer, Audirvana -> optical Ethernet to Fitlet3 -> Fibbr Alpha Optical USB -> iFi NEO iDSD DAC -> Apollon Audio 1ET400A Mini (Purifi based) -> Vandersteen 3A Signature.

Link to comment
Can you (or any kind reader) provide the idiot's minimal guide to installation on El Capitan 10.11.4, or failing that, on Xubuntu 15.10?

 

Never mind - needed up to date autoconf and automake, possibly (g)libtool. Now we'll see if it runs.

One never knows, do one? - Fats Waller

The fairest thing we can experience is the mysterious. It is the fundamental emotion which stands at the cradle of true art and true science. - Einstein

Computer, Audirvana -> optical Ethernet to Fitlet3 -> Fibbr Alpha Optical USB -> iFi NEO iDSD DAC -> Apollon Audio 1ET400A Mini (Purifi based) -> Vandersteen 3A Signature.

Link to comment
Innovation is hardly the word I'd use. Quick hack is more like it.

 

I'm guessing Real Life is busy, but do you have time and inclination to optimize for DSD128?

 

Don't know if I'll be able to make head or tail of them, but where are the files with the interpolation filter and sigma-delta modulator settings in case I wanted to try playing around?

One never knows, do one? - Fats Waller

The fairest thing we can experience is the mysterious. It is the fundamental emotion which stands at the cradle of true art and true science. - Einstein

Computer, Audirvana -> optical Ethernet to Fitlet3 -> Fibbr Alpha Optical USB -> iFi NEO iDSD DAC -> Apollon Audio 1ET400A Mini (Purifi based) -> Vandersteen 3A Signature.

Link to comment
I'm guessing Real Life is busy, but do you have time and inclination to optimize for DSD128?

 

I've already added filters tuned for DSD128 and DSD256. They can probably still be improved though.

 

Don't know if I'll be able to make head or tail of them, but where are the files with the interpolation filter and sigma-delta modulator settings in case I wanted to try playing around?

 

It's all in sdm.c

Link to comment
I've already added filters tuned for DSD128 and DSD256. They can probably still be improved though.

 

It's all in sdm.c

 

Much appreciated. Are the parameters "hq" and 5644880 sufficient for best quality conversion to DSD128?

One never knows, do one? - Fats Waller

The fairest thing we can experience is the mysterious. It is the fundamental emotion which stands at the cradle of true art and true science. - Einstein

Computer, Audirvana -> optical Ethernet to Fitlet3 -> Fibbr Alpha Optical USB -> iFi NEO iDSD DAC -> Apollon Audio 1ET400A Mini (Purifi based) -> Vandersteen 3A Signature.

Link to comment
  • 4 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...