Red GTI VR6
10-20-06, 07:50 PM
Thanks to this forum and a few others, I have been able to research bit-perfect in great detail.
However, I'm no expert. I'm trying to better understand bit-perfect playback and as such I have written a quick guide to it. I would greatly appreciate it if someone who is knowledgeable on this topic would review what I've written and give me some feedback. Am I on track? Are my thoughts coherent? Have I confused anything? Am I completely off track on anything?
I've gathered this info from various forums and Google searches.
So here goes:
Bit Perfect / Bit Accurate
Lets start off with a bit of explination of how Windows handles audio.
What is the KMixer?
The KMixer is a part of Windows that enables your computer to take multiple audio sources and play them back at the same time and at the same bit rate. The KMixer is also how Windows handles your volume control. Regular CD audio is 44.1 kHz. Many times, due to poorly written drivers, sound cards that will interact with the KMixer wil cause this 44.1kHz data to be resampled to 48kHz. Obviously this will result in an undesireable result when trying to achieve the upmost in sound quality. The mixing algorithm as implemented by Microsoft has been shown in many cases to only have a signal to noise ratio of about 92dB. CDs have a signal to noise ratio of about 96dB (technically 97.5dB). The KMixer effectively reduces the data from 16bit to 14 bit.
To bypass the Windows KMixer you either need to use ASIO or Kernel Streaming.
ASIO
ASIO is a professional audio standard that provides for a low-latency audio stream from the computer. ASIO bypasses the KMixer entirely. ASIO is used by the recording industry as a standard. For more information on ASIO, please see here: MP3Car.com thread (http://www.mp3car.com/vbulletin/showthread.php?t=82498)
Kernel Streaming
Kernel Streaming is just about the same thing as ASIO. It is Microsofts answer for being able to play audio files in a bit perfect format on a Windows machine. Kernel Streaming make efficient real-time streaming of audio possible. However, Kernel Streaming is not an industry standard. ASIO will have many more supported plugins avaliable for various media players. Kernel Streaming requires less CPU time than the regular ‘wave out method’.
What does this mean?
By bypassing the Windows KMixer and running either ASIO or Kernel Streaming, you are ensuring that you are hearing the music as it was encoded on the CD.
The downside to this? If there are errors on the CD, you will hear them as there is not any correction being made to overcome the error.
In essence, by runinng bit-perfect, you are ensuring that there is no difference in information between the CD that is being read and what makes its way out of the digital output of your sound card.
The quality of a sound card can have an effect on the quality of the output, even with bit perfect playback enabled. The timing and/or jitter can vary between sound cards, usually with the lower end sound cards having a higher likely hood of jitter.
Software:
For ASIO plug-ins:
Http://otachan.com (For a translated version of the page: Translated Web Page (http://translate.google.com/translate?u=http%3A%2F%2Fotachan.com%2F&langpair=ja%7Cen&hl=en&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools))
WinAmp5:
.dll version (http://otachan.com/out_asio(dll)_67.7z) – From 10/4/2006
.exe version (http://otachan.com/out_asio(exe)_70.7z) – From 10/4/2006
x64 version (http://otachan.com/out_asio(x64)_71.7z) – From 10/4/2006
Foobar 2000:
.dll version (http://otachan.com/foo_output_asio(dll)_051.7z) – From 2/25/2005
.exe version (http://otachan.com/foo_output_asio(exe)_054.7z) – From 2/25/2006
.x64 version (http://otachan.com/foo_output_asio(x64)_054.7z) – From 2/25/2006
For Kernel Streaming plug-ins:
You can find a Kernel Streaming plug in for WinAmp 2 available here from Steve Monks: http://www.stevemonks.com/ksplugin/
For some discussion or possibly for some support on this plug-in, check this thread: Hydrogen Audio (http://www.hydrogenaudio.org/forums/index.php?showtopic=4569&st=0)
For a Kernel Streaming plug in for WinAmp, as well as FLAC and VolumeLogic: Torrent Download (http://www.demonoid.com/files/details/223468/)
A note about this plug-in for WinAmp: Sometimes the play list will not advance automatically when a song finishes. You will have to manually press Next or select another song. This can be resolved by combining the Kernel Streaming plug-in with the VolumeLogic plug-in also included in this torrent. In Winamp’s output plug-in list, double click on VolumeLogic (setting it as the output plug-in for Winamp to use) and a window will pop up asking you to select the out put plug-in. Select Kernel Streaming from here. This will fix the play list advance issue so everything works. When you double click a song, however, rarely, it will not start. Just press pause twice and it will start like normal.
Audio Codecs that are capable of Bit Perfect:
ACL880 and ACL882
The AC97 codec is NOT capable of bit perfect playback.
Some rules of thumb for bit-perfect:
When Bit Accurate mode is applied to the playback, adjusting the volume control or applying EAX effects will not have any effect on digital output signals.
Once Bit Accurate playback starts, the digital output sampling rate is automatically set to the current playback's sampling rate regardless of the current digital output sampling rate.
Bit-perfect can only truly be tested using the tos-link out of either your sound card or a compatible audio codec for onboard sound for some motherboards and a DTS-decoder.
Any software DSP or sound processing will cause the benefits of bit perfect to become null.
Play with the buffering options. The buffer settings will vary depending on your system. Lower buffers are better, obviously as you will have a lower latency, however, if they are too low you will run into issues with audio drop-out with a system that is under a heavy load.
Bit Accurate mode is only applicable to .WAV files with the following specifications:
Stereo Format
PCM audio data
16-bits and above (maximum 32-bits with 24-bits resolution)
44.1, 48, or 96 kHz
Once Bit Accurate playback starts, the digital output sampling rate is automatically set to the current playback's sampling rate regardless of the current digital output sampling rate.
How do I know that I am getting bit-perfect?
If you have successfully achieved bit-perfect playback, you should be able to play a DTS file off of a CD (16-bit, 44.1kHz). If you only get static from trying to play the file, then you know that you haven’t achieved bit-perfect playback.
A list of CD Players that are Bit-Perfect.
This is from the Alcohol Software web site. Those listed under the 120% column are considered to be bit-perfect capable CD players.
A-H (http://forum.alcohol-software.com/efm/a-h.htm)
I-P (http://forum.alcohol-software.com/efm/i-p.htm)
Q-Z (http://forum.alcohol-software.com/efm/q-z.htm)
Any input would be greatly appreciated.
And yes, I will be citing all sources, I've got another document saving those.
Thanks in advance!
Jan
However, I'm no expert. I'm trying to better understand bit-perfect playback and as such I have written a quick guide to it. I would greatly appreciate it if someone who is knowledgeable on this topic would review what I've written and give me some feedback. Am I on track? Are my thoughts coherent? Have I confused anything? Am I completely off track on anything?
I've gathered this info from various forums and Google searches.
So here goes:
Bit Perfect / Bit Accurate
Lets start off with a bit of explination of how Windows handles audio.
What is the KMixer?
The KMixer is a part of Windows that enables your computer to take multiple audio sources and play them back at the same time and at the same bit rate. The KMixer is also how Windows handles your volume control. Regular CD audio is 44.1 kHz. Many times, due to poorly written drivers, sound cards that will interact with the KMixer wil cause this 44.1kHz data to be resampled to 48kHz. Obviously this will result in an undesireable result when trying to achieve the upmost in sound quality. The mixing algorithm as implemented by Microsoft has been shown in many cases to only have a signal to noise ratio of about 92dB. CDs have a signal to noise ratio of about 96dB (technically 97.5dB). The KMixer effectively reduces the data from 16bit to 14 bit.
To bypass the Windows KMixer you either need to use ASIO or Kernel Streaming.
ASIO
ASIO is a professional audio standard that provides for a low-latency audio stream from the computer. ASIO bypasses the KMixer entirely. ASIO is used by the recording industry as a standard. For more information on ASIO, please see here: MP3Car.com thread (http://www.mp3car.com/vbulletin/showthread.php?t=82498)
Kernel Streaming
Kernel Streaming is just about the same thing as ASIO. It is Microsofts answer for being able to play audio files in a bit perfect format on a Windows machine. Kernel Streaming make efficient real-time streaming of audio possible. However, Kernel Streaming is not an industry standard. ASIO will have many more supported plugins avaliable for various media players. Kernel Streaming requires less CPU time than the regular ‘wave out method’.
What does this mean?
By bypassing the Windows KMixer and running either ASIO or Kernel Streaming, you are ensuring that you are hearing the music as it was encoded on the CD.
The downside to this? If there are errors on the CD, you will hear them as there is not any correction being made to overcome the error.
In essence, by runinng bit-perfect, you are ensuring that there is no difference in information between the CD that is being read and what makes its way out of the digital output of your sound card.
The quality of a sound card can have an effect on the quality of the output, even with bit perfect playback enabled. The timing and/or jitter can vary between sound cards, usually with the lower end sound cards having a higher likely hood of jitter.
Software:
For ASIO plug-ins:
Http://otachan.com (For a translated version of the page: Translated Web Page (http://translate.google.com/translate?u=http%3A%2F%2Fotachan.com%2F&langpair=ja%7Cen&hl=en&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools))
WinAmp5:
.dll version (http://otachan.com/out_asio(dll)_67.7z) – From 10/4/2006
.exe version (http://otachan.com/out_asio(exe)_70.7z) – From 10/4/2006
x64 version (http://otachan.com/out_asio(x64)_71.7z) – From 10/4/2006
Foobar 2000:
.dll version (http://otachan.com/foo_output_asio(dll)_051.7z) – From 2/25/2005
.exe version (http://otachan.com/foo_output_asio(exe)_054.7z) – From 2/25/2006
.x64 version (http://otachan.com/foo_output_asio(x64)_054.7z) – From 2/25/2006
For Kernel Streaming plug-ins:
You can find a Kernel Streaming plug in for WinAmp 2 available here from Steve Monks: http://www.stevemonks.com/ksplugin/
For some discussion or possibly for some support on this plug-in, check this thread: Hydrogen Audio (http://www.hydrogenaudio.org/forums/index.php?showtopic=4569&st=0)
For a Kernel Streaming plug in for WinAmp, as well as FLAC and VolumeLogic: Torrent Download (http://www.demonoid.com/files/details/223468/)
A note about this plug-in for WinAmp: Sometimes the play list will not advance automatically when a song finishes. You will have to manually press Next or select another song. This can be resolved by combining the Kernel Streaming plug-in with the VolumeLogic plug-in also included in this torrent. In Winamp’s output plug-in list, double click on VolumeLogic (setting it as the output plug-in for Winamp to use) and a window will pop up asking you to select the out put plug-in. Select Kernel Streaming from here. This will fix the play list advance issue so everything works. When you double click a song, however, rarely, it will not start. Just press pause twice and it will start like normal.
Audio Codecs that are capable of Bit Perfect:
ACL880 and ACL882
The AC97 codec is NOT capable of bit perfect playback.
Some rules of thumb for bit-perfect:
When Bit Accurate mode is applied to the playback, adjusting the volume control or applying EAX effects will not have any effect on digital output signals.
Once Bit Accurate playback starts, the digital output sampling rate is automatically set to the current playback's sampling rate regardless of the current digital output sampling rate.
Bit-perfect can only truly be tested using the tos-link out of either your sound card or a compatible audio codec for onboard sound for some motherboards and a DTS-decoder.
Any software DSP or sound processing will cause the benefits of bit perfect to become null.
Play with the buffering options. The buffer settings will vary depending on your system. Lower buffers are better, obviously as you will have a lower latency, however, if they are too low you will run into issues with audio drop-out with a system that is under a heavy load.
Bit Accurate mode is only applicable to .WAV files with the following specifications:
Stereo Format
PCM audio data
16-bits and above (maximum 32-bits with 24-bits resolution)
44.1, 48, or 96 kHz
Once Bit Accurate playback starts, the digital output sampling rate is automatically set to the current playback's sampling rate regardless of the current digital output sampling rate.
How do I know that I am getting bit-perfect?
If you have successfully achieved bit-perfect playback, you should be able to play a DTS file off of a CD (16-bit, 44.1kHz). If you only get static from trying to play the file, then you know that you haven’t achieved bit-perfect playback.
A list of CD Players that are Bit-Perfect.
This is from the Alcohol Software web site. Those listed under the 120% column are considered to be bit-perfect capable CD players.
A-H (http://forum.alcohol-software.com/efm/a-h.htm)
I-P (http://forum.alcohol-software.com/efm/i-p.htm)
Q-Z (http://forum.alcohol-software.com/efm/q-z.htm)
Any input would be greatly appreciated.
And yes, I will be citing all sources, I've got another document saving those.
Thanks in advance!
Jan