Opened 12 years ago

Last modified 4 years ago

#9340 new enhancement

SACD/DSD decoding support

Reported by: forart.eu Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Audio & Video/Codecs Version: R1/Development
Keywords: SACD Cc:
Blocked By: Blocking:
Platform: All

Description

It would be great to add SACD(iso)/DSDIFF and DSF files playback capability...

This should help: http://sourceforge.net/projects/sacddecoder/

Hope that helps or at least inspires !

Marco Ravich

Change History (8)

comment:1 by forart.eu, 11 years ago

Version 0, edited 11 years ago by forart.eu (next)

comment:2 by pulkomandy, 10 years ago

Milestone: R1Unscheduled

The discs are DVD, with no filesystem and a DCD encoded audio stream (similar to CDDA which uses PCM audio). There are discs with both a CD and a SACD layer (we probably need some special ATAPI commands to handle this?) and some divergence from the DVD format as a means of copy protection, making the discs difficult to read on a standard DVD drive.

The DCD format itself can be decoded with an usual media add-on, however it is a 1-bit format with a very high bitrate (above 2MHz). Our media kit would need to be extended to support this, as it doesn't go below 8-bit audio currently.

comment:3 by axeld, 10 years ago

1 bit audio doesn't really make much sense, though; it sounds like something like VBR (ie. they are packaged in some way, and don't really know there actual rate)? In any case, what comes out of the media add-on will be 8-bit or more audio in either case, so I don't think we need any special support for this.

comment:4 by pulkomandy, 10 years ago

It's really 1-bit, however it's not an usual PCM encoding but pulse density modulation. This can be decoded easily with an analogic electronics circuit, removing the need for a classical DAC and the noise and nonlinearities it introduces.

We could transcode to 8-bit audio, but this would result in a stream at about 2.5megabytes per second (the sampling rate is very high to compensate for the 1-bit resolution), and using only 8-bit would result in low quality. Decoding to 16 or 32 bits audio would result to 5 or 10MB/s bitrate, for a single channel (there can be 6 channels in a 5.1 disc).

And if we make the decoder itself downsample everything, then the high quality of the format is lost and I don't see much point in the whole effort.

http://en.wikipedia.org/wiki/Direct_Stream_Digital

Last edited 10 years ago by pulkomandy (previous) (diff)

in reply to:  4 comment:5 by bonefish, 10 years ago

Replying to pulkomandy:

And if we make the decoder itself downsample everything, then the high quality of the format is lost and I don't see much point in the whole effort.

AFAICT, wrt. quality it doesn't have any practical advantage over 32 bit FP @ 48 kHZ. The latter has a (much) smaller frequency response -- but it is beyond human hearing anyway -- and a greater dynamic range. So transcoding should be just fine. Besides, the "point of the whole effort" is to support the format at all and the easiest way is to decode to a supported standard format.

comment:6 by forart.eu, 10 years ago

Another resource (this time for DVDAudio): http://sourceforge.net/projects/libdvd-audio/

About DSD support: to me the best way to implement is like Foobar's plugin does (user can choose frequency, etc).

EDIT: forgot to say that you need a BluRay reader to access a SACD (did you ever heard about ripping SACDs through PS3 ? http://www.ps3sacd.com/faq.html)

Last edited 10 years ago by forart.eu (previous) (diff)

comment:7 by forart.eu, 5 years ago

Here's some fresh resources that may help devs:

https://github.com/xbmc/vfs.sacd -> SACD VFS support for Kodi

https://github.com/notspiff/vfs.sacd/tree/fix_vfs_input

https://forum.kodi.tv/showthread.php?tid=106329 -> Official discussion 3ad

https://github.com/piaozhiye/libiconv -> libiconv for vfs.sacd

https://github.com/billlin0904/xamp2 -> Cross-platform native DSD and low latency playback music player

https://github.com/autch/kpidsd -> DSD player plugins (DoP and DSD2PCM) for KbMedia Player and its dependencies

comment:8 by rocket, 4 years ago

sacd is not dvd, it's a different physical format altogether. it can't be burned, only pressed, and it needs a suitable reader (some blu-ray players, sacd players). dsd discs are dvds which can be burned and read in any dvd reader that can recognize the format, including dsd disc players (teac makes one, vaio computers with a certain chip can play them natively). dvd-audio is yet Another format, entirely pcm.

dsd and wsd (its open standard counterpart) are formats used in mastering and archiving recordings, as an alternative to analog 2-inch magnetic tape. many high resolution portable audio players recognize the format and function also as DACs to play dsd natively from a computer. it would be good to support it; mpd has implemented support and is a great place to look. there are other formats also – so-called dxd or "dsd-wide" that are two or four bits at the same frequency as dsd. in each case, it's the bitstream generated between conversion from analog and into pcm – it's gone through fewer stages of destruction and most closely represents the recorded audio (including the entire signal chain).

Note: See TracTickets for help on using tickets.