DSD audio over USB: an XMOS Reference Design implementation - diyAudio
Go Back   Home > Forums > Source & Line > Digital Source

Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 1st February 2012, 09:18 PM   #1
sp502 is offline sp502  Greece
diyAudio Member
 
Join Date: May 2006
Default DSD audio over USB: an XMOS Reference Design implementation

Hello all,

I just want to make happy the XMOS USB Audio 2.0 Reference Design owners by announcing
the implementation of the DSD audio over USB open standard (proposed by DCS).
DSD over USB standard bypasses the need for special drivers by using 176.4k/24b PCM samples
to encapsulate DSD data (more info in "Playback of DSD Audio over USB A Suggested Open Standard")

Detailed info and the modified firmware can be found here:
https://www.xcore.com/projects/dsd-audio-over-usb

In a few words:
The board has test points for the I2S signals where you can easily "hijack" the signal
and route it to any external DAC. (it has an on-board DAC that is not DSD friendly)
The implementation outputs DSD signals on the I2S pins with the following mapping:

1. Bit Clock - SCLK

2. Left channel DSD data - LRCK

3. Right channel DSD data - DAC DATA

It has been tested by fellow diyAudio member adelias with a properly modified version of mpd
in combination with a Sabre32 DAC and it works (and sounds) great.

It accepts all sampling rates and changes DSD/I2S on the fly!
In Sabre32 DAC the same pins accept I2S & DSD, so the DAC also changes between I2S and DSD on the fly.

The only serious drawback is that everything at 176.4kHz sampling rate is treated as DSD,
essentially loosing the ability to playback 176.4kHz PCM files. This is temporary until DCS
finalizes the standard. Until then do not try to playback normal PCM files at 176.4kHz!

Enjoy listening DSD audio!
  Reply With Quote
Old 1st February 2012, 11:08 PM   #2
diyAudio Member
 
Join Date: Jan 2008
Location: Virginia
What does "encapsulate data" mean? I hope that it is straight DSD, not converted to PCM "on the fly".
  Reply With Quote
Old 1st February 2012, 11:59 PM   #3
sp502 is offline sp502  Greece
diyAudio Member
 
Join Date: May 2006
Quote:
Originally Posted by SoNic_real_one View Post
What does "encapsulate data" mean? I hope that it is straight DSD, not converted to PCM "on the fly".
There is no conversion happening. The PCM 176.4k/24b format is being used as a "carrier".
The true DSD data are being transferred but for reasons explained quite well in the DCS' standard,
a special "header" (10101010) is added in the MSB of each 24b sample and is removed by the USB
device before sending the actual DSD data (the rest 16bits) to the DAC.

A look at DCS' document "Playback of DSD Audio over USB A Suggested Open Standard"
will enlighten you.
  Reply With Quote
Old 2nd February 2012, 12:53 AM   #4
diyAudio Member
 
Join Date: Jan 2008
Location: Virginia
Cool... I love the DSD recordings sound and I have a bunch of SACD's.
But playing straight DSD files was limited to my computer sound card, Foobar2000 and the associated plug-in. Which is done by converting to PCM.

Now, I have to mention that a DSD capable DAC will not decode the eventual DSD programs compressed with Direct Stream Transfer (DST). That should be done in the XMOS, based on MPEG-4 DST (that was published as ISO/IEC 14496-5:2001/Amd.10:2007).
  Reply With Quote
Old 2nd February 2012, 08:18 AM   #5
diyAudio Member
 
Join Date: Jan 2011
Location: Madrid - Spain
Sonic, there is another (better) Foobar plugin for DSD/DST decoding over here:

Super Audio CD Decoder - Browse /foo_input_sacd at SourceForge.net
  Reply With Quote
Old 2nd February 2012, 09:14 AM   #6
diyAudio Member
 
merlin el mago's Avatar
 
Join Date: Sep 2009
Location: Catalonia - Europe
Quote:
Originally Posted by Jackal29a View Post
Sonic, there is another (better) Foobar plugin for DSD/DST decoding over here:

Super Audio CD Decoder - Browse /foo_input_sacd at SourceForge.net
Thanks for the link.
  Reply With Quote
Old 2nd February 2012, 09:43 AM   #7
sp502 is offline sp502  Greece
diyAudio Member
 
Join Date: May 2006
Quote:
Originally Posted by SoNic_real_one View Post
Now, I have to mention that a DSD capable DAC will not decode the eventual DSD programs compressed with Direct Stream Transfer (DST). That should be done in the XMOS, based on MPEG-4 DST (that was published as ISO/IEC 14496-5:2001/Amd.10:2007).
The DST compression should be handled at the playback application and not in the USB device,
for various reasons and irrespective of the DSD to USB implementation.
Jackal's link plugin is an example that does DST decoding in the application.
  Reply With Quote
Old 2nd February 2012, 11:33 AM   #8
diyAudio Member
 
Join Date: Jan 2008
Location: Virginia
Agree, it was just a mention. I think I know why cannot be done in the device.

@jackal29a - Didn't know about that plugin. Thanks... looks that it has better options.

Last edited by SoNic_real_one; 2nd February 2012 at 11:43 AM.
  Reply With Quote
Old 2nd February 2012, 10:30 PM   #9
sp502 is offline sp502  Greece
diyAudio Member
 
Join Date: May 2006
Regarding compatible playback software, here is the link for the mpd with a modified DSD module by Jurgen Kramer.
It is tested and works great!

mpd with DSD over USB support

In case you want to test the firmware without the need of special playback software, use the test file that is mentioned in the project page.
The test file is also a good example for testing how it sounds through a non DSD over USB aware device.

Last edited by sp502; 2nd February 2012 at 10:38 PM.
  Reply With Quote
Old 3rd February 2012, 11:58 PM   #10
diyAudio Member
 
Join Date: Dec 2007
Thanks sp502. DSD-over-USB output with Music Player Daemon is what I have been waiting for.
I see that "taggsupport" options are listed as:

- none No tagging (default)

- id3only only use id3 tags when available

- native only use the tags native to the file format
- DFF: only artist and title
- DSF: ID3

- id3pref use id3 tags when available otherwise use native one


In terms of tagging our DSD files, I presume that the "native" tags are those created by Korg AudioGate?

And since ID3 tags are non-standard for DSD, what's the best way to add ID3 tags - Foobar with the SACD-plugin?
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
XMOS-based Asynchronous USB to I2S interface Lorien Digital Source 2241 13th December 2014 08:51 PM
DSD Playback system, DSF Player + USB DDC + DSD Amplifier KOON3876 Digital Source 116 5th September 2012 12:20 AM
XMOS Async USB interface (UAC 2.0) dwk123 Swap Meet 1 16th August 2011 05:01 AM
FS: XMOS USB interface/dac ultrafi Swap Meet 2 27th May 2011 08:32 PM
Pre-amp: INA217 reference implementation jamesd256 Analog Line Level 11 13th June 2010 12:27 PM


New To Site? Need Help?

All times are GMT. The time now is 07:58 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2