Hi Guys,
It all started off as a request by FM to check out ASIO Driver with foobar to get bit-perfect sound. I also had a few 192Khz flac files that I had downloaded from High Resolution Music DOWNLOAD services .:. FLAC in free TEST BENCH and always wanted to hear how they sounded.
I will first do a brain dump of my understanding and then go into how to play 192Khz files (in Linux first).
After a little research I found the following (Gurus Please correct me if I am wrong in my understanding )
1. Bit perfect sound is the sound where the hardware/software does not do any DSP or other transformations like Down-sampling / Up-sampling on the source bit stream. So playing a 192Khz WAV Hits the DAC at 192Khz.
2. Most audio cards do not support sample rates above 48Khz so even if you play songs encoded at a higher rate , they gets down-sampled by the hardware/software before hitting the DAC.
2. To Play bit perfect hi-bitrate files in a PC we would need a Sound card that
has a high-end DAC or an external USB Sound Card.
3. To play bit-perfect files you would also have to bypass standard Windows audio drivers and mixers which have high latency and also down-sample the stream.
3. ASIO was developed to solve the above issue. This allowed the hi-end audio card Manufactures to bypass windows drivers altogether and send hi-bitrate streams directly to their hardware among other things.
4. Since not all hardware manufactures provided an ASIO driver, ASIO4All project was born. ASIO for all will work only if the hardware supports it. If the sound card is a low-end one then ASIO will not help.
The other Option to play Bit-perfect files is to bypass the Mother board DAC completely and get the Digital stream out using SPDIF and feed it to an extrenal DAC that supports 192Khz. I just had such a device, Marantz NA7004 Network Streamer.
It Plays FLAC only up to 96Khz over the network but supports 192Khz Audio Streams over SPDIF (Optical or Coax).
Next I needed to locate a PC Motherboard that supported SPDIF, I hunted for a few and the ones with Optical SPIDF were expensive. Then I remembered that most of the modern motherboards have a SPDIF header on the motherboard to feed graphics cards and wondered if this can be used as a Coax SPDIF connector. I found that It can, provided the SPDIF header
is not 5V TTL type.
I had a Motherboard that had a SPDIF header, so I connected two jumpers and tested the voltage and it was 0, then I went and un-muted the SPDIF in the Mixer and the Voltage jumped to 1.6 V. This meant that I could use the SPDIF header to connect to my DAC so I rigged up a simple Cable with Two jumpers on one end and a RCA Jack on the other and connected it to my NA7004. I could see that the DAC picked up the carrier and was showing 48Khz. So next I played a 192Khz FLAC file using mplayer and Voila I could see the DAC playing at 192Khz .
I have used Linux since I am familair with it and I could make a standalone player later.
If you guys need, I will test this out for WinXP and Win7 in the following posts.
The following commands are for Linux cmdline users (GUI Should be similar).
First you need to list the audio hardware using
#aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 1: ALC887-VD Digital [ALC887-VD Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
Here we see that the SPDIF device is Card1evice1.
Next we need to run alsamixer and unmute all the spdif devices by pressing 'm'.
Now we can play a 192Khz file using mplayer using the following command.
#/opt/player/bin/mplayer -ao alsa:device=hw=1.1 /media/Mozart_192.flac
I am using Linux currently since I want to make this into a cheap 192Khz HardDisk MediaPlayer for all my Music. So others with Just DACs can also use this. We can use either XBMC or Music Player Daemon , since these come with android remote apps it should be easy to control them too.
It all started off as a request by FM to check out ASIO Driver with foobar to get bit-perfect sound. I also had a few 192Khz flac files that I had downloaded from High Resolution Music DOWNLOAD services .:. FLAC in free TEST BENCH and always wanted to hear how they sounded.
I will first do a brain dump of my understanding and then go into how to play 192Khz files (in Linux first).
After a little research I found the following (Gurus Please correct me if I am wrong in my understanding )
1. Bit perfect sound is the sound where the hardware/software does not do any DSP or other transformations like Down-sampling / Up-sampling on the source bit stream. So playing a 192Khz WAV Hits the DAC at 192Khz.
2. Most audio cards do not support sample rates above 48Khz so even if you play songs encoded at a higher rate , they gets down-sampled by the hardware/software before hitting the DAC.
2. To Play bit perfect hi-bitrate files in a PC we would need a Sound card that
has a high-end DAC or an external USB Sound Card.
3. To play bit-perfect files you would also have to bypass standard Windows audio drivers and mixers which have high latency and also down-sample the stream.
3. ASIO was developed to solve the above issue. This allowed the hi-end audio card Manufactures to bypass windows drivers altogether and send hi-bitrate streams directly to their hardware among other things.
4. Since not all hardware manufactures provided an ASIO driver, ASIO4All project was born. ASIO for all will work only if the hardware supports it. If the sound card is a low-end one then ASIO will not help.
The other Option to play Bit-perfect files is to bypass the Mother board DAC completely and get the Digital stream out using SPDIF and feed it to an extrenal DAC that supports 192Khz. I just had such a device, Marantz NA7004 Network Streamer.
It Plays FLAC only up to 96Khz over the network but supports 192Khz Audio Streams over SPDIF (Optical or Coax).
Next I needed to locate a PC Motherboard that supported SPDIF, I hunted for a few and the ones with Optical SPIDF were expensive. Then I remembered that most of the modern motherboards have a SPDIF header on the motherboard to feed graphics cards and wondered if this can be used as a Coax SPDIF connector. I found that It can, provided the SPDIF header
is not 5V TTL type.
I had a Motherboard that had a SPDIF header, so I connected two jumpers and tested the voltage and it was 0, then I went and un-muted the SPDIF in the Mixer and the Voltage jumped to 1.6 V. This meant that I could use the SPDIF header to connect to my DAC so I rigged up a simple Cable with Two jumpers on one end and a RCA Jack on the other and connected it to my NA7004. I could see that the DAC picked up the carrier and was showing 48Khz. So next I played a 192Khz FLAC file using mplayer and Voila I could see the DAC playing at 192Khz .
I have used Linux since I am familair with it and I could make a standalone player later.
If you guys need, I will test this out for WinXP and Win7 in the following posts.
The following commands are for Linux cmdline users (GUI Should be similar).
First you need to list the audio hardware using
#aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 1: ALC887-VD Digital [ALC887-VD Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
Here we see that the SPDIF device is Card1evice1.
Next we need to run alsamixer and unmute all the spdif devices by pressing 'm'.
Now we can play a 192Khz file using mplayer using the following command.
#/opt/player/bin/mplayer -ao alsa:device=hw=1.1 /media/Mozart_192.flac
I am using Linux currently since I want to make this into a cheap 192Khz HardDisk MediaPlayer for all my Music. So others with Just DACs can also use this. We can use either XBMC or Music Player Daemon , since these come with android remote apps it should be easy to control them too.
Attachments
Last edited: