DSD audio over USB: an XMOS Reference Design implementation

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Installed the Voyage MPD 0.8.5 and verified that the install problem are not related to the Voyage MPD 0.8.0 Custom distro.

Both connects only to Japan before an upgrade is performed,
and Voyage Linux | { x86 Embedded Linux = Green computing } was not reachable from me for a couple of days...

I expect that maybe the tweaked / slimmed nature of Voyage MPD is the cause for the limited connections.

The issues with display of cover pictures are also nearly identical with 0.8.5
There was one test folder with AIFF files that was treated differently.

I hope someone can explain how this cover pictures are supposed to works or can point to a place with this information.
 
Hi RayTech, perhaps someone at the mpd forum can help you more with you your aiff / cover troubles. I have encountered a few problems in the past mainly with mpeg files that were along side with flacs, mpd somehow mixed them up. In any case if you did like voyage, perhaps you can take the next step and use your linux distribution of choice, along with the great linux gui clients out there.

Back on the main topic, DSD capability seems to be a great addition to my system :) So keep up the good work guys!
 
In any case if you did like voyage, perhaps you can take the next step and use your linux distribution of choice, along with the great linux gui clients out there.

The next steps are already taken:D

I have setup on a 40GB mSATA drive with four "candidates".
1. Voyage MPD
2. Voyage MPD with gnome desktop
(will reinstall with a lighter variant of the desktop)
3. Debian squezze 64bit with MPD
4. Linux Mint 13 64bit (ubuntu) with MPD
 
The next steps are already taken:D

I have setup on a 40GB mSATA drive with four "candidates".
1. Voyage MPD
2. Voyage MPD with gnome desktop
(will reinstall with a lighter variant of the desktop)
3. Debian squezze 64bit with MPD
4. Linux Mint 13 64bit (ubuntu) with MPD

After some testing with various Linux variants (more than listed) with various desktops (more than listed) I am nearly back to "square one" :rolleyes:

I ended up with Voyage MPD 0.8.5 with the custom MPD version.
4GB RAM (due to 32bit Linux).
Voyage Linux / Voyage MPD is I experience it superior to all the other tested variants when it is the audio performance that matters :)

Due to the fact that the playlist is loaded into RAM and there is no access to the SD card or to the NAS the next times you plays from the playlist I would like to use (if possible) a 64bit Voyage Linux version due to I then can use 8GB RAM.. With 4GB RAM there is space for ca. 3.5GB music, with 8GB there would have been space for ca. 7.5GB..
This is maybe not important to most users, but I have a lot of DXD studio master recordings that range from 500MB to 12GB in size of each track.

With regards to the display of tagging and cover pictures I discovered that there is two issues - one is depending on the libav version used by MPD - the second is how the MPoD app handles the data itself.

http://news.gmane.org/gmane.linux.distributions.voyage.general
Scroll down to "Tagging issue".

The question then is:
Is the MPD compilation in the custom version using the newer libav ??
 
Last edited:
Merlin, what FB2K version are you using? if it is one of the 1.1.x series (I'd recommend you install latest stable -> 1.1.14a) you don't have to put the plugin manually in the components folder, it has to be done from File->Preferences->Components->Install to make sure everything works as expected. BTW, latest plugin version (0.6.0) allows for custom filter files and provides some FIR as samples.
 
MPD on ARM

The question then is:
Is the MPD compilation in the custom version using the newer libav ??

There have not been much response....
Discovered pretty fast that help is not easy to get when Linux and MPD is involved.

So to solve the issues I had to use time I did no have and learn the bits and pieces myself.
Then I discovered that the "specialists" was not as clever as they thought them selves..

Anyway - I have ended up with a ARM based system (at the time beeing a CuBox) and have compiled kernels, MPD and built the debian wheezy base filesystem with debootstrap.
Both the 3.5.2 kernels and MPD 0.18git is tweaked to suit my needs and my ideas of how they should perform and work.
By tweaking I have patched, edited scripts and edited source code to be able to get it right.
The kernel is compiled with everything inside (that I need) and thus there is no external modules.
Due to I have Mac OSX, Windows and Linux systems I have compiled in support for all the filesystems and partition variants I have as both USB 2.0 and SATA / eSATA storage devices can be connected.
The kernel is a PREEMPT with threadirqs and RT priorities on USB 2.0 Audio adapters, MPD etc..
As the ALSA drivers is compiled into the kernel I have optimized the NRPACKS and other settings in the source code / kernel, and as I have removed all debugging and other functions /proc contains only the most basic informations like the ID of the soundcards. And as the base filesystem is as simple as possible there is not installed commands like lsusb or lspci etc..
There is no graphic support as that is also removed from the kernel - so it is a completely headless system.
MPoD / MPaD auto-discovers MPD and local cover art works and can be configured without knowing IP addresses etc..
Only WAV, AIFF, FLAC and DSD (native or converted to PCM) formats is supported.
Playing 44.1k/16bit on the internal SPDIF and two USB Audio 2.0 adapters simultaneously uses only ca. 1% of the 800MHz ARM CPU.

My i5 supertweaked system with 3.2.x RT kernel and stock MPD 0.17.1 are now "retired" and have become a totally quiet and very fast crosscompiler :D
 
Member
Joined 2009
Paid Member
Merlin, what FB2K version are you using? if it is one of the 1.1.x series (I'd recommend you install latest stable -> 1.1.14a) you don't have to put the plugin manually in the components folder, it has to be done from File->Preferences->Components->Install to make sure everything works as expected. BTW, latest plugin version (0.6.0) allows for custom filter files and provides some FIR as samples.

Thanks for support Jackal29a, finally I fixed the issue but F2K only plays max DSD files with max input sample rate of 96kHz using advanced playback buffer to 800.000 the original sample rate of the file is DSD256 the archive properties shows "original sample rate 11289600", I trtyed to increase the size buffer but F2K can't support, any idea how can increase the max input sample rate? now I'm using my Sony Vaio laptop but I'm waiting a new usb-i2s supporting 384 kHz and I2S 32bit and native DSD 2.8224 Mhz - 3.072 Mhz - 5.6448 Mhz - 6.144 Mhz
 
Thanks for support Jackal29a, finally I fixed the issue but F2K only plays max DSD files with max input sample rate of 96kHz using advanced playback buffer to 800.000 the original sample rate of the file is DSD256 the archive properties shows "original sample rate 11289600", I trtyed to increase the size buffer but F2K can't support, any idea how can increase the max input sample rate? now I'm using my Sony Vaio laptop but I'm waiting a new usb-i2s supporting 384 kHz and I2S 32bit and native DSD 2.8224 Mhz - 3.072 Mhz - 5.6448 Mhz - 6.144 Mhz

I don't understand what you mean by DSD with a maximum input rate of 96KHz, DSD usually comes in DSD64/DST64 format (there may be higher rate files available like DSD128, DSD256 or even DSD512) and those have a sampling rate of 2.8224 MHz. The FB2K plugin allows to output this either in its native DSD format through different options (but you may have to install the ASIOproxy that comes in the zip) or converted to PCM in 44.1, 88.2, 176.4 or even 352.8KHz.

I've sent you a PM.
 
There have not been much response....
Discovered pretty fast that help is not easy to get when Linux and MPD is involved.

So to solve the issues I had to use time I did no have and learn the bits and pieces myself.
Then I discovered that the "specialists" was not as clever as they thought them selves..

Anyway - I have ended up with a ARM based system (at the time beeing a CuBox) and have compiled kernels, MPD and built the debian wheezy base filesystem with debootstrap.
Both the 3.5.2 kernels and MPD 0.18git is tweaked to suit my needs and my ideas of how they should perform and work.
By tweaking I have patched, edited scripts and edited source code to be able to get it right.
The kernel is compiled with everything inside (that I need) and thus there is no external modules.
Due to I have Mac OSX, Windows and Linux systems I have compiled in support for all the filesystems and partition variants I have as both USB 2.0 and SATA / eSATA storage devices can be connected.
The kernel is a PREEMPT with threadirqs and RT priorities on USB 2.0 Audio adapters, MPD etc..
As the ALSA drivers is compiled into the kernel I have optimized the NRPACKS and other settings in the source code / kernel, and as I have removed all debugging and other functions /proc contains only the most basic informations like the ID of the soundcards. And as the base filesystem is as simple as possible there is not installed commands like lsusb or lspci etc..
There is no graphic support as that is also removed from the kernel - so it is a completely headless system.
MPoD / MPaD auto-discovers MPD and local cover art works and can be configured without knowing IP addresses etc..
Only WAV, AIFF, FLAC and DSD (native or converted to PCM) formats is supported.
Playing 44.1k/16bit on the internal SPDIF and two USB Audio 2.0 adapters simultaneously uses only ca. 1% of the 800MHz ARM CPU.

My i5 supertweaked system with 3.2.x RT kernel and stock MPD 0.17.1 are now "retired" and have become a totally quiet and very fast crosscompiler :D

I've just recieved new CuBox to try with my USB Dac.
I think CuBox is very promising unit.
I would much appreciate if you share your compiled RT image.
Thanks a lot.
 
Do you know which chips between combo384 and wm8741?

many thanks.

http://www.diymania.net/data/cheditor5/1310/232ecb1694b4f1dbb23c99cb8d24f4c2_jZNGnjkWy.jpg

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!
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.