I stumbled on this post while searching if I could turn on the 'bit perfect led' in my Asus Xonar Essence One Dac which shares many features with the DAC which the OP has. The led has actually nothting to do with 'bit perfect' it is just turned on when you use the ASIO driver on windows. Now to the real question
What player?
How to achieve bit perfect output?
Which Player.
There are plenty to choose from. If you want a player along with the ability to manage tons of files, I have only two of them which can manage large number of files without getting slowed down clementine and strawberry. There is amarok too, but I have always got stuck with the interface.
Clementine
=========
If you chose clementine, you will lose the ability to get bit perfect output, because the developers removed the ability to chose a specific ALSA device in the Tools --> Preferences --> Audio output. You can just chose to have "Default device on Output to a sound card via ALSA". The default device will be set somewhere outside the player by your distro and each distro is different (Fedora, Ubuntu, Debian, etc). But there is a hack in clementine to choose the device for bit perfect play. This is what needs to be done
1) run the command aplay -l
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: STH6 [Xonar ST+H6], device 0: Multichannel [Multichannel]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: STH6 [Xonar ST+H6], device 1: Digital [Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: CODEC [USB Audio CODEC], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 4: UAC2 [hiFaceTWO UAC2], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 5: One [ASUS Xonar Essence One], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
You can see each device has a card number and also a short name. In the above, my Xonar Essence One dac is card number 5 and the name is "One". So any software which can use ALSA devices can use any of the two names for the device
"hw:5,0" or "hw:One"
Now you just need to modify the file $HOME/.config/Clementine/clementine.conf and have the following in the section [GstEngine]. e.g.
[GstEngine]
bufferduration=4000
bufferminfill=33
device="hw:5,0"
monoplayback=false
rgcompression=false
rgenabled=true
rgmode=1
samplerate=-1
sink=alsasink
The above will result in bit perfect output in clementine.
2) strawberry
strawberry is based on clementine. It does not have visualizations. Apart from that, it is still being developed by the same developers who wrote clementine. It is less buggy and the UI interface itself makes it possible to chose bit perfect output. All you have to do is go to
Tools ---> Setings ---> Backend and select the following
Engine: Gstreamer
Output: Output to a sound card via ALSA
Device: ASUS Xonar Essence One USB Audio --> This will be a drop down list showing all your hardware sound cards
Now there are too many things that happen during playback. By using ALSA you have ensured that your player is sending the music bits directly to the sound card without any software coming in between (other than the player itself). If your computer is running too many things, your player may not be able to send the bits to the sound card at the right time (remember that there is buffering to happening but if the OS becomes very slow and your buffer doesn't gets filled, you might get drop outs. So the best sofware to play music is somethng which is small, tiny and lightweight. One of the best sofware to play bit perfect output on linux is mpd. mpd doesn't have any capability like album management, album art. It is just a daemon and you send it commands to play a music file and it plays it perfectly. To use mpd, you have to setup /etc/mpd.conf and chose a client. mpd has many clients (gnome music player, cantata on linux and mpdroid on android and many other clients on IOS too). e.g. If you want to setup mpd, you have to do the following
1) install mpd (this will be a part of your OS distribution in most cases). For my distro (fedora), I just had to do the following
# dnf -y install mpd
# systemctl enable mpd # to have mpd run when the os starts
2) setup /etc/mpd.conf. The two most important parameters are the music_directory and the device in audio_output. I could have chosen hw:5,0 too
music_directory "~/Music"
db_file "/var/lib/mpd/mpd.db"
zeroconf_enabled "yes"
zeroconf_name "Music station"
audio_output {
type "alsa"
name "Xonar EssenceOne"
device "hw:One" # optional
mixer_type "software" # optional
}
The first time you start mpd, it will build a sqlite database named /var/lib/mpd/mpd.db and store just the filename, author and title.
Once you have setup mpd, all you need to do is install a good client on your mobile phone, PC or your linux desktop. The client will need the IP address of your server running mpd. If zeroconf is setup and your client is running on the same network as your linux computer running mpd, you will automatically see a mpd server with the name "Music station". Select that and you should be able to see your music in your client. Hit the play and the music will play as bit perfect as possible.
Setting up mpd is more difficult than strawberry, clementine, deadbeef, etc but nothing IMHO beats the quality of the output of mpd. mpd can also run with realtime. In fact I use mpd on a raspberry pi kind of device with the Music folder from a large computer mounted on it using NFS.
If you want help in setting up mpd, you could IM me and I will be glad to share my full setup with you