Mp3car Home Page The mp3Car.com Forums The mp3Car.com Store The mp3Car.com Blog About mp3Car.com    

Sponsored links

Go Back   MP3Car.com > MP3Car.com Wiki

Notices

Personal tools

Bit-perfect

From MP3Car.com Wiki

Bit-perfect
This is how the audio stream will come from your PC. If you are running bit-perfect, you will have a more true reproduction from the media that you are playing. If you are looking for the best possible audio from your system, you will want to know about bit-perfect.

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 may have a detrimental effect on the quality of the output even with bit perfect playback enabled if you are using an old receiver/amplifier. The timing and/or jitter can vary between sound cards, usually with the lower end sound cards having a higher likelihood of jitter. However most modern DACs reclock the samples internally in order to avoid jitter induced errors.

Contents

[edit] KMixer

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).

To bypass the Windows KMixer you either need to use ASIO or Kernel Streaming.

[edit] ASIO

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 http://www.mp3car.com/vbulletin/faq-emporium/82498-faq-all-you-need-know-about-asio.html

[edit] Kernel Streaming

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. Also, kernel streaming has been officially abandoned with the latest edition of Windows, Vista.

[edit] Software

[edit] Media Players That Support Kernel Streaming

[edit] Foobar2000

http://www.foobar2000.org
Foobar2000 supports kernel streaming natively. To activate it do the following:
Foobar 2000 -> Preferences -> Ouput -> change Output Method to Kernel Streaming.
Then you will need to change the sound device to the sound card you are using.
If you are experiencing audio dropouts, you may want to change the buffer length. The default is 2048ms.

[edit] WinAmp

http://www.winamp.com
WinAmp will support kernel streaming with the addition of a kernel streaming plug-in.
[edit] Kernel Streaming Plug-ins for WinAmp
For some discussion or possibly for some support on this plug-in, check this thread - http://www.hydrogenaudio.org/forums/index.php?showtopic=4569&st=0
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.

[edit] Media Players That Support ASIO

[edit] J. River Media Center

http://www.musicex.com/mediacenter
Media Center natively supports ASIO.
Tools -> Options -> Playback -> change Output Mode to ASIO
Then you will need to change the sound device to the sound card you are using. Or, if you are using a ASIO -> KS wrapper, choose it.
If you are experiencing audio dropouts, you may want to change the buffer length.

[edit] Foobar2000

http://www.foobar2000.com
Foobar2000 does not support ASIO natively.
[edit] Foobar2000 ASIO Plug-ins

These plug-ins can be found here: http://otachan.com (For a translated version of the page, see here:[1])

Foobar2000

Foobar 2000 -> Preferences -> Ouput -> change Output Method to your sound device

[edit] WinAmp

http://www.winamp.com
Winamp does not support ASIO natively.
[edit] WinAmp ASIO Plug-ins

These plug-ins can be found here: http://otachan.com (For a translated version of the page, see here:[2])

WinAmp 5

Options -> Preferences -> Output -> change the output plug-in to the ASIO Output Plug-in -> Configure
Then you will need to change the sound device to the sound card you are using. Or, if you are using a ASIO -> KS wrapper, choose it.
Thread Priority - for audio only, Time Critical should be fine.
If you are experiencing audio dropouts, you may want to change the buffer length.
Turn resampling off, if it is on, you will no longer be playing bit-perfect.

[edit] Using an ASIO Wrapper

Since many sound cards do not support ASIO natively, you will need to use an ASIO wrapper. There are a few options for this:

Upon installing ASIO4ALL, you will get a control panel for it on your desktop. Open that up and set it up as follows. The buffers I have described here are huge, but it is better to have large buffers when trying to get it to work, and then work the buffers down once you know things are functional.
Audio Device = Your Sound Card
Sample Rate = (greyed out)
Buffer Size = 2048
KS Buffers = 4
Always resample @ 44.1khz = off
Disable input = on
Force 16 bit samples = off
Direct DMA Buffer I/O = off

Now, go grab Winamp and the ASIO plugin and set up the plugin as described below. Try playing an MP3/CD Audio track and see if you ::have success. It works? Good! The battle is half won! If you are using SPDIF in your setup, and have a reciever that does DTS ::decoding, then you need to do a 44.1 khz DTS test. If the DTS test passes as well, then you are one step closer. Do one last test ::with a DVD or Divx with an AC3 track and see if that still works. If it does, then you are good to go. Welcome to the bit perfect ::world! At this point you should fiddle with the buffers in the ASIO control panel and Winamp to see how low you can get them ::without noise/dropouts. Of course you can also use other ASIO-enabled programs as well now, but I will leave the details of that ::up to you. You know the concept of getting this to work, that was my aim.
But let's say you weren't lucky, and things aren't working. Or AC3 output is now dead. Uh-oh. First, double-check your settings. ::The ASIO4ALL Control Panel is dynamic, and as such it can be used while Winamp is open and any changes you make will take place ::immediately. There is also one other thing that may need to be done. There is an exploit in the Envy24HT-S driver's Control Panel ::that you can take advantage of, but I believe this is only valid for SPDIF output. Go to the Digital Out tab and select PCM Only. ::Then select the 8 Channel output tab and go to Sample Rate & Immerzio 3D. Under Sample Rate Select uncheck Automatic, select ::44.1khz, and re-check Automatic. Go back to the 2 Channel tab and go to Digital Out. Select AC3 or PCM Autoselect (48khz only). ::This should result in the Envy24HT-S Control Panel essentially being tricked into letting AC3 or PCM at 44.1 and 48khz autoselect ::between eachother. I don't know why it doesn't just work like that in the first place, but, whatever.
Thanks to Signal and B3b0p for the above Control Panel trick!

[edit] Bit-Perfect Audio Codecs

  • ACL880
  • ACL882

All AC97s codec are NOT capable of bit perfect playback by design at sample rates other than 48 kHz.

[edit] 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.
  • 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 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

[edit] Testing 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.

[edit] Bit-Perfect CD/DVD drives

This is from the Alcohol Software web site. Those listed under the 120% column are considered to be bit-perfect capable CD players.

[edit] Resources

  • AVS Forum [3] – darklordjames
  • DIY Audio [4]
  • CD Freaks Forum [5]
  • Hydrogen Audio Forum [6]

--Redgtivr6 15:43, 24 October 2006 (EDT)


All times are GMT -5. The time now is 02:25 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0
Powered by vbWiki Pro 1.3 RC4. Copyright ©2006-2007, NuHit, LLC
Copyright © 1999 - 2008 Mp3Car.com Inc.Ad Management by RedTyger
Message Board Statistics