I set up foobar to use ASIO output and used ASIO4ALL to get it working with my soundcard. It is working ok.
ASIO is supposed to bypass windows kmixer for bitperfect output. But I can adjust the volume with the master control in windows volume control. This is a digital volume control, yes? So if at 50% then it is making the music 8 bit instead of 16 bit? If ASIO is used why is this not getting bypassed? I have read that this is normal and is working ok with bit perfect output... but I do not understand how if the digital volume control can adjust the volume :S
ASIO is supposed to bypass windows kmixer for bitperfect output. But I can adjust the volume with the master control in windows volume control. This is a digital volume control, yes? So if at 50% then it is making the music 8 bit instead of 16 bit? If ASIO is used why is this not getting bypassed? I have read that this is normal and is working ok with bit perfect output... but I do not understand how if the digital volume control can adjust the volume :S
Asio by itself does bypass the kmixer, however if your hardware does not support Asio and you install Asio4all I don't think necessarily that Asio4all can bypass the mixer. You might try selecting the kernel streaming driver if available in Asio4all - I think this might do the trick.
More to the point though is to check whether or not your sound card or onboard sound support Asio directly. My experiments with Asio4all were very limited as I abruptly discovered to my surprise that the Realtek ALC650 chip in my mobo had drivers that supported asio directly.
I found that I was unable to defeat the 48kHz resampling that the realtek chip implemented in hardware, and ended up purchasing an M-Audio Audiophile 2496 which has user controllable sampling rates and can be set up not to resample as desired. (My media player software can control the sample rates as required for the media I am currently playing.)
Should your chipset not support Asio you might want to try the kernel streaming driver if your chipset supports it. I believe this is one of the options in Foobar.
One sure way to know for sure is if you have an HDCD capable external decoder connected by spdif, if the decoder recognizes the material as HDCD rather than standard pcm you are all set. Some have recommended DTS or Dolby digital as a way to check, but this is not reliable as realtek chips amongst others have a pass through mode that is not available for conventional pcm - although it ought to be.
My memory is a bit sketchy on the details, so my apologies if this is a red herring.
More to the point though is to check whether or not your sound card or onboard sound support Asio directly. My experiments with Asio4all were very limited as I abruptly discovered to my surprise that the Realtek ALC650 chip in my mobo had drivers that supported asio directly.
I found that I was unable to defeat the 48kHz resampling that the realtek chip implemented in hardware, and ended up purchasing an M-Audio Audiophile 2496 which has user controllable sampling rates and can be set up not to resample as desired. (My media player software can control the sample rates as required for the media I am currently playing.)
Should your chipset not support Asio you might want to try the kernel streaming driver if your chipset supports it. I believe this is one of the options in Foobar.
One sure way to know for sure is if you have an HDCD capable external decoder connected by spdif, if the decoder recognizes the material as HDCD rather than standard pcm you are all set. Some have recommended DTS or Dolby digital as a way to check, but this is not reliable as realtek chips amongst others have a pass through mode that is not available for conventional pcm - although it ought to be.
My memory is a bit sketchy on the details, so my apologies if this is a red herring.
The master volume slider in the windows mixer window does not have to necessarily change volume directly in the kmixer stream. E.g. in linux, the master volume slider is manipulating HW volume control of most sound cards. Only few cards do not feature the HW master volume control, requiring a volume control "emulation" in SW. The following link would suggest it is similar in windows
http://www.audioasylum.com/forums/pcaudio/messages/2/26008.html
That means the volume slider would work even if the kmixer path is avoided. If it is true (I have not studied the windows sound system API), it would be a job of the sound card driver to implement the volume control hook. Just as it is a job of the driver to implement ASIO support. Every sound card can be ASIO compatible, if its manufacturer decides to write a driver supporting the ASIO API.
Nevertheless, most cards control volume in the digital domain anyway, which basically makes it equal to any SW volume control in the OS.
http://www.audioasylum.com/forums/pcaudio/messages/2/26008.html
That means the volume slider would work even if the kmixer path is avoided. If it is true (I have not studied the windows sound system API), it would be a job of the sound card driver to implement the volume control hook. Just as it is a job of the driver to implement ASIO support. Every sound card can be ASIO compatible, if its manufacturer decides to write a driver supporting the ASIO API.
Nevertheless, most cards control volume in the digital domain anyway, which basically makes it equal to any SW volume control in the OS.
A while ago Aykman and myself did some tests. Asio does not automatically bitperfect playback. Its only eliminating the sample rate conversion and the 1bit loss.
Usually you should set the volume pot in windows to 100% and regulate it externally on your amp etc.
Article "what is bit perfect": http://www.mp3car.com/vbulletin/faq-emporium/88852-faq-what-bit-perfect.html
Some thread talk: http://archive.avsforum.com/avs-vb/showthread.php?postid=4751670
Asio4all Explained: http://www.head-fi.org/forums/f46/asio4all-explanation-221237/
Is Asio necessary: http://www.head-fi.org/forums/f46/asio-necessary-292109/index3.html#post3751475
Well, first of all....Asio is a good step to better sound but not all sound cards are really bit-perfect.
regards
Alan
Usually you should set the volume pot in windows to 100% and regulate it externally on your amp etc.
Article "what is bit perfect": http://www.mp3car.com/vbulletin/faq-emporium/88852-faq-what-bit-perfect.html
Some thread talk: http://archive.avsforum.com/avs-vb/showthread.php?postid=4751670
Asio4all Explained: http://www.head-fi.org/forums/f46/asio4all-explanation-221237/
Is Asio necessary: http://www.head-fi.org/forums/f46/asio-necessary-292109/index3.html#post3751475
Well, first of all....Asio is a good step to better sound but not all sound cards are really bit-perfect.
regards
Alan
phofman, thanks that makes sence. That ties in with everything else I have read about it as well.
I have also read you will get bit perfect output if you set all volumes to 100% and assuming you have no other sounds playing and no resampling going on, then output should be the same as if you were using ASIO to bypass kmixer.
I have also read you will get bit perfect output if you set all volumes to 100% and assuming you have no other sounds playing and no resampling going on, then output should be the same as if you were using ASIO to bypass kmixer.
mr.duck said:phofman, thanks that makes sence. That ties in with everything else I have read about it as well.
I have also read you will get bit perfect output if you set all volumes to 100% and assuming you have no other sounds playing and no resampling going on, then output should be the same as if you were using ASIO to bypass kmixer.
And that last one is a big if, an awful lot of current sound cards use chipsets that resample by default. Most anything made by Realtek apparently does so by default in hardware. (ALC650/ALC850 etc.) Realtek chips are widely used in Asus, Gigabyte and other boards with onboard sound.
(I went so far as to even turn off system sounds and use kernel streaming with the ALC650 but everything was still leaving my asus mother board at a 48kHz sample rate.)
The Realtek codecs themselves support all standard frequencies up to 48kHz - just see their datasheets. The problem is caused by the audio controller, mostly Intel i810 which supports just 48kHz. I know, it does not help though 🙂
phofman said:The Realtek codecs themselves support all standard frequencies up to 48kHz - just see their datasheets. The problem is caused by the audio controller, mostly Intel i810 which supports just 48kHz. I know, it does not help though 🙂
My boards don't use intel chipsets as they are all AMD processor based, usually VIA or similar chipset, and in the case of the Realtek ALC650 I vaguely recall that it resamples everything to 48kHz in hardware regardless of original sample rate, except for dts and dolby ac3 which is passed through without modification. It worked fine and even sounded pretty decent through the spdif output, but everything was 48kHz all of the time.
Take a look at the datasheet http://www.datasheet4u.com/download.php?id=609191
The AC97 specifications support 44.1kHz in an interleaved fashion http://inst.eecs.berkeley.edu/~cs150/Documents/ac97_r23.pdf , however it is common for the AC97 controllers to output only 48kHz signal. Thus, the resampling is done either by the AC97 controller in HW, or the driver in SW.
The culprit is the AC97 norm which emphasizes 48kHz and the AC97 controllers which do not support the interleaved 44.1kHz mode.
All in all, the resampling to 48kHz occurs and it does not really matter which part is responsible for it 🙂
A solution would be to upsample to 48kHz in user space using proven quality software before handing the data to the driver. Some people do so and are satisfied with the results.
The AC97 specifications support 44.1kHz in an interleaved fashion http://inst.eecs.berkeley.edu/~cs150/Documents/ac97_r23.pdf , however it is common for the AC97 controllers to output only 48kHz signal. Thus, the resampling is done either by the AC97 controller in HW, or the driver in SW.
The culprit is the AC97 norm which emphasizes 48kHz and the AC97 controllers which do not support the interleaved 44.1kHz mode.
All in all, the resampling to 48kHz occurs and it does not really matter which part is responsible for it 🙂
A solution would be to upsample to 48kHz in user space using proven quality software before handing the data to the driver. Some people do so and are satisfied with the results.
My Creative X-FI Xtreme Music card has a program that came with it called Creative Media Source Player, that gives audibly superior results to any other playback program,due to bypassing the Microsoft Mixer. It also has it's own volume control. The program will also play music videos of different resolutions (both video and audio), but with video clips you lose adjustable volume. This can normally be remedied by your external preamplifier/amplifier. I do not know if there is any resampling involved, but it always sounds superior to Power DVD, Win DVD, Windows Media Player etc. There is another Creative program supplied that will also play DVD-A, and I understand that the more expensive X-FI cards also support SACD playback
SandyK
SandyK
- Status
- Not open for further replies.
- Home
- Source & Line
- Digital Source
- ASIO and KMixer's volume control question