Head-Fi.org › Forums › Equipment Forums › Dedicated Source Components › Basic question about adjusting volume on the computer when using a DAC
New Posts  All Forums:Forum Nav:

Basic question about adjusting volume on the computer when using a DAC

post #1 of 14
Thread Starter 

Hi,

 I just got my first external DAC (Audio-gd DAC-19) and it sounds great, but I'm kind of confused. If the DAC is just transferring information from the computer's hard drive, why is there a volume setting on the computer? The computer recognizes the DAC and gives me a volume scale for that device, but in theory, digital info is just that - 0db without any attenuation. When I adjust the output volume on the computer, what is happening? And, where is the "right" place to leave it?

 

Dan

post #2 of 14

The DAC has an input stage and if the voltage is too low coming from the PC then the signal is lost whereas if the signal is too high there will be clipping.  Most DAC units have some sort of voltage-based op-amp which converts the signal you are referring to ( digital ) to something a speaker / headphone can use ( analog ).

 

In most cases you want the PC volume to be set to 100% and use the DAC volume output to your amp.  In my case I keep my m903 ( DAC ) at 86% as I have noticed a little clipping above that level when feeding my BUDA ( amp ).

 

I would say if you can leave it around 80%, but if you hear no distortion at 100% then that will be just fine.  Too low often leads to an amp clipping.

post #3 of 14
Thread Starter 

Weird. I thought transferring audio to a DAC was like transferring an Excel file, and that the whole point of the DAC was to remove any kind of amplification duty from the PC sound card. 

 

For now I'm running Grado headphones that get loud with very little amplification, so I have the PC volume at 20%. The computer is a Dell Precision M4500 with the stock sound card. There is no volume control on the DAC, only on the amp. The amp volume is loud/reasonable at 50%. If I turn the computer volume up to 100%, I would have to keep the amp volume near zero. 

post #4 of 14

Like I said you typically want the volume level on your PC at full going into your DAC.  Try 75%.  Having the volume knob low on your amp is not a problem, but clipping is at higher volumes so why not keep it low?

post #5 of 14

hmm well i'd say the info above is.. somewhat misleading.

 

The digital audio file that is stored on your computer has (effectively) a volume level embedded in each sample. This has nothing to do with whether the signal can be detected by the DAC.

 

In a typical PC application, users expect multiple device signals to be mixed together. For example, system sounds from windows explorer when you change folders can occur at the same time as another application is playing audio. In modern OS's, users are also given the ability to change volume on a per application basis. Also, the audio is mixed to a common sample rate - almost always 48k.

 

Now obviously your nice DAC is going to do a better job than any software mixers so you want to bypass all of this. This is what people are referring to when they talk about 'bit perfect' audio. It means that what the data that is in the audio file is sent perfectly to the DAC, in the same way as your example of an excel sheet.

 

There's a number of ways to bypass the OS mixer; the specifics depend on your OS and preferred application. If you're using windows, you can try foobar with the ASIO driver plugins.

 

You may just be able to use an application like VLC or foobar with audio at 100% and get bit perfect audio, but without some kind of testing you can't be sure. If you are feeding your dac via coax, an easy way to test it is to try feeding the coax signal (that normally goes to the DAC) to a HT receiver. Give it a DTS encoded audio track. If the data is being messed with by the OS mixer, you'll just hear static or silence. If the receiver can decode it as DTS then I believe you are streaming in bit perfect mode. Search google for 'bit perfect' tests and you will find a lot more info.

post #6 of 14

If the volume level does not matter set it to 0%.

post #7 of 14
Quote:
Originally Posted by NA Blur View Post

If the volume level does not matter set it to 0%.


That's not what I said, but actually in some bit perfect configurations (e.g. digital output, ASIO driver exclusive mode, windows xp) the system volume control has no effect, even at 0%.

 

 

Quote:
The DAC has an input stage and if the voltage is too low coming from the PC then the signal is lost whereas if the signal is too high there will be clipping.

 

I think you're confused between digital and analogue signals. The DAC will not "lose the signal" if the volume is too low, it receives a sample with a volume level of zero (i.e. play silence). If this was the case the DAC would lose synchronization at zero volume, which it obviously doesn't.

post #8 of 14
Thread Starter 
Sugarshark, I think you get the source of my confusion. With data there is no component of high or low voltage, there is just information. And since I'm transferring via a USB port, I know the sound card isn't in the chain. Yet somehow the computer is transmitting volume. So it either has to be information based (maybe on a separate wire?) or there is actually a voltage signal somewhere. I know very little about computers but I'm trying to make sense of this, and make sure the computer is not "driving" the signal since that's what a DAC is supposed to fix.

Dan
post #9 of 14
Quote:
Originally Posted by earthtodan View Post

Sugarshark, I think you get the source of my confusion. With data there is no component of high or low voltage, there is just information. And since I'm transferring via a USB port, I know the sound card isn't in the chain. Yet somehow the computer is transmitting volume. So it either has to be information based (maybe on a separate wire?) or there is actually a voltage signal somewhere. I know very little about computers but I'm trying to make sense of this, and make sure the computer is not "driving" the signal since that's what a DAC is supposed to fix.

Dan

 

Alright, I'll try to explain in more detail. I am not an expert in digital signal processing, so I'll be glossing over some details, but it should give you a good idea of the principles of whats going on.

 

So in this example, we have a USB connection between your computer and the DAC. This wire is obviously transferring an electrical signal, and of course all electrical signals are analogue by nature. So if it is an analogue signal, how come it's referred to as digital?

 

Different links encode information differently, and I'm not going to find a data sheet on USB (which would be too confusing for this example anyway), but imagine a simple encoding scheme where you sample the signal, and if you read 1.0v it means "1" and 0.0v it means "0". The receiver will check the voltage on the input at fixed intervals, and record the results (i'm glossing over complexities around timing between sender/receiver here). To transfer the message "hello world" you could send the following bit stream:

 

"01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111 01110010 01101100 01100100"

 

The message above was formed by taking each character and looking up the special binary value in the ASCII table (very common character encoding scheme). The receiver of the message uses the table in reverse to reconstruct the message.

 

So now imagine that instead of receiving 1.0v to indicate the current data bit should be a "1", the receiver instead receives 0.9v. In real systems you do get some variance, and the receiver might be set up to accept a range of 0.7v-1.3v as a "1". The reason I mention this is because it illustrates an important difference between analogue and digital signals. In an analogue encoded signal, this would irreversably alter the input signal. However, on a digitally encoded system, it would still be read as the correct value.

 

Getting back to your original example. What the PC is actually sending to the DAC is chunks of digitally encoded audio. Practical encoding schemes are a lot more complicated than the above example, but essentially what it boils down to encoding the information of "play frequency X at Y volume" thousands of times per second. When CD audio is encoded (redbook format), the input signal is sampled and encoded 44100 times per second. This is what the 44.1k sample rate refers to. The number of bits (16 for CD) refers to the number of bits used to store that information. A higher bit rate means a small step size between each value, and therefore higher precision.

 

With this in mind, you can clearly see that the input voltage level at any given moment does not directly represent the output volume.

 

Modern OS's do some clever stuff with audio and this leads into what I was talking about earlier. If you have an audio file saved on your computer, when you play it, the bits inside the file are not necessarily exactly the same as what gets sent to the DAC (this is what people aim for though when they talk about "bit perfect" audio). When the music player decodes the stored music and plays it, it doesn't send it straight to the hardware. It sends it to a "virtual device", which is managed by the OS. The OS can then potentially be doing all kinds of other stuff like mixing with other streams, resampling or changing the volume. At some point the OS mixer will re-encode each sample, and send it to your actual hardware (in this case, the DAC).

 

When you are using the volume control in your player it takes 1 (or more) samples and changing the information in it. Instead of 'play X frequency at Y volume' it changes it to Z volume. It's also possible to change the frequency encoded in the sample; this is what software EQ controls do.

 

(full disclosure: I am a software developer but I am not initimately familar with how PCM encoding works. It's not relevant to the type of work I do. Not really keen to spend days poring over RFC specs to find out smile.gif)

 

You can avoid these changes to the stored audio signal, but the details depend on your hardware and software configuration. For my pc at home I am using windows 7, foobar, and the microsoft WASAPI driver. This special driver bypasses the central mixer, and sends the audio straight to the device.

 

hope this helps ..


Edited by sugarshark - 8/20/13 at 4:53am
post #10 of 14
Thread Starter 

Awesome, that definitely helps! So in short, the volume adjustment is digitally encoded in the 44.1khz signal, and is effectively acting as a remote control for the DAC, a.k.a. preamp. So it's very neatly integrated from a UI perspective to act like an analog volume control, however that means it doesn't make intuitive sense for an inquisitive geek like myself, so I need it explained.

 

In conclusion, all forms of amplification happen in the Audio-gd gear, so it doesn't really matter which settings I use. 

post #11 of 14
Quote:
Originally Posted by earthtodan View Post

Awesome, that definitely helps! So in short, the volume adjustment is digitally encoded in the 44.1khz signal, and is effectively acting as a remote control for the DAC, a.k.a. preamp. So it's very neatly integrated from a UI perspective to act like an analog volume control, however that means it doesn't make intuitive sense for an inquisitive geek like myself, so I need it explained.

 

In conclusion, all forms of amplification happen in the Audio-gd gear, so it doesn't really matter which settings I use. 

 

that's what you want to aim for yep.

 

Might need to make some settings changes in your software to get there. Are you using windows (7? 8?) or mac?

post #12 of 14
Thread Starter 
Windows 7
post #13 of 14
Quote:
Originally Posted by earthtodan View Post

Windows 7

 

Ok, easiest way to get bit perfect audio is to use foobar and WASAPI. There's a few guides out there, this one seems alright: http://www.whathifi.com/forum/computer-based-music/how-tosetup-foobar2000-to-use-wasapi

 

Once you have foobar working through WASAPI, set the foobar volume to 100% and you should be sending your bits unmolested to the DAC !! atsmile.gif

post #14 of 14

Generally, your windows volume should be left at 100% when using a DAC, but if you really want to get the best out of your DAC there are some workarounds for the windows volume. 

 

Download Foobar2000 and install the WASAPI plugin for it. The WASAPI plugin sends the audio directly to the DAC and bypasses the windows sound interface. This way, the music is playing at its "embedded volume" therefore, at its best quality. From there on, windows cant distort the file with digital amplification. 

 

Hope this helped.

New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Dedicated Source Components
Head-Fi.org › Forums › Equipment Forums › Dedicated Source Components › Basic question about adjusting volume on the computer when using a DAC