wtfplay project - Linux based PC playback system

Hello Everyone,

I would like to introduce to you a new project of mine: wtfplay.

wtfplay is my attempt to create minimalistic Linux based, PC music playback
environment. Initially I wrote the music player software from scratch, later I built a
dedicated Linux distribution for it. It is called wtfplay-live.

wtfplay-live is optimized for playback from local disks. Its main features are:

  • memory based, bit perfect playback of stereo PCM files (WAV and FLAC), 16
    and 24bit, up to 384kHz.
  • command line driven - no graphical mode, no network.
  • runs completely from RAM, all local disks are accessed in read-only mode
  • distributed as LiveCD ISO image that can be written on the optical disk as
    well as onto a memory stick, SD card or hard drive.
  • runs on Intel Core2 Duo and newer CPUs.

In this project, the top priority is the sound quality rather than a number of
features.

Try it and let me know what you think. The downloads and the documentation can
be found at wtfplay-project.org

frd

excellent writeup, thanks, will try it.
 
It is ceratainly possible. That woudl be another thing on my list to test. If I
were you I would not worry too much about your current clock. Based on current
feedback from wtfplay-live users I can say that lower CPU frequency is
generally better, but this is not always the case. I have reports that where
the best results were achieved with CPUs running on nominal frequency.
 
Based on the the section from the manual below, can I not use wtfplay on an Intel Atom x5-Z8300 quad core processor? I ask since I am struggling to boot from the USB.
MINIX NEO Z83-4 Fanless mini PC Review – Part 1: Specs, Unboxing and Teardown

2.1. Supported processors and memory requirements

The wtfplay-live runs on PC with processors compatible with Intel Core2 Duo. At the moment the following ISO images are available:

core2 - optimised for Intel Core2 Duo CPUs.

corei7 - optimised for Intel Core i3/5/7 CPUs.

corei7-avx - optimised for Intel Core i3/5/7 CPUs with AVX instruction set.

amda8 - optimised for AMD family 10 CPUs, including AMD A4/A6/A8 APUs.

amdbd1 - optimised for AMD Bulldozer 1 CPUs and newer.
 
@SAC: Yes, wtfplay-live will run on Atom x5-Z8300 CPU. Both, core2 and corei7 images should run without problem. I believe that you booting problem is related to UEFI. As for now wtfplay-live does not support UEFI boot. I have made a certain progress to add this feature, but I still need to do some work on it.

I do not know what can you change in your PC's firmware - does it include "Legacy BIOS" booting option?
 
Hi frd, thanks for replying. I tried all including those you suggest to no avail. This is the first time I have tried this - never touched BIOS before - but I think I am doing it right.

I did not see a Legacy bios option, but if it getting round UEFI is a feature you are adding in the next few months I will surely wait to try it.

For me, mating Linux with my Amanero USB input (no drivers needed) is an attractive alternative to Windows and the accompanying drivers. All while using my existing PC. I am using HYSOLID currently with Process Lasso, and was considering AO and Fidelizer and, and, and....WTFplayer seems a better way to go for me.
 
hi SAC
did you Change the boot order in the bios, to boot from usb-key?
 

Attachments

  • IMG_6753.jpg
    IMG_6753.jpg
    101.6 KB · Views: 253
I am happy to announce that wtfplay-live 0.5.1 has been released. No new
features this time, but the number of ISOs is growing: Intel Core i3/5/7
with AVX image and AMD optimised images are available.

You can download the images from wtfplay-project.org
The detailed release notes can be found at: wtfplay-project.org/rnotes.html

Enjoy!
Boot is successful but my sound blaster don't found(no sound devices detected):confused:
 
Last edited:
Hi,

I am pleased to announce that wtfplay-live 0.6 is ready for download.

This release includes playback navigation and a few other changes. The details can be found in the release notes at: wtfplay-project.org/rnotes.html

The link to the download directory can be found here.

Enjoy!
Thank You so much.

I have finally giving this a trial, listenning as I am typing this. Was previously putting off for the unfriendly user's interface, but I now can appreciate very much the minimal interface trade off for best SQ!

This player sounds amazing! I have heard/experienced, from Lots of player(s), including JRiver, JPlay6.2, Volumiox86, Dalphile, APL, Bughead, MPD, and squeezelite.

If this player can have better users' interface via iPad's app or web-control interface like Volumio, is simply the icing on the cake!
 
Hi frd___,

Here to report that wtfplayer and wtfplayer-dsd, played well on my Accuphase DC-950. All PCM, flac, waves, and DSD to DSD128, were playing fine. However, DSD256 and higher were not playable. Possibly - the DC-950 driver issue for Linux? Windows via ASIO driver through JPlay6.2 and Jriver were playing fine with DSD256.

Again - thank you for your great works..

Cheers.
 

Attachments

  • IMG_4289.jpg
    IMG_4289.jpg
    413.1 KB · Views: 312
  • IMG_4285.jpg
    IMG_4285.jpg
    694 KB · Views: 285
Hi Chanh,

Linux uses a single generic driver for all USB audio devices that are compliant with UAC1/UAC2 standards. In theory all USB audio devices should follow those standards. In practice this is not always the case. Whether the standards leave room for ambiguity or device manufactures decide not to follow them it is not really important here. In reality, many USB devices require specific interactions with the driver that go beyond UAC1/UAC2 standard.

The problematic part in those standards is DSD, or rather lack of it. The standards do not define a way of transporting DSD data from/to the audio device natively. That leaves the open door for device manufacturers. They can do whatever they want on DSD ground and implement the DSD transport how they want. This is normally not a problem for them, as with the device they need to provide the driver for the popular operating system. Well, for many years that operating system did not even have a generic UAC2 driver.

I order to stream DSD data natively to the USB device, the generic Linux driver needs to know how to do it. Unfortunately, the USB device cannot provide that information to the driver. This information needs to be built-in into the driver. Sometimes the device manufacturers are kind enough to share this information with Linux kernel developers. More often, the developers need to simply try various things and decipher how to stream DSD natively to the particular USB device. Sometimes, the USB device needs a special, proprietary low level USB interaction to be switched into native DSD mode.

Regardless which case it is, this is the reason why Linux kernel does not support many USB devices in native DSD mode. Your DC950 is no exception here.

I should also mention that native DSD streaming is not a subject of interest for most Linux kernel developers. Those interested very often do not have access the hardware and it is very hard to to this kind of things remotely.

However I hope that the situation will improve in time. I mean, more DSD devices will be supported in the mainline kernel, and a standard way of native DSD streaming will emerge.

F

PS. The text above may have holes or some parts of it may be oversimplified. I just wanted to show the current situation at the high level, without going into technical details.