Foobar2000:Preferences:Output: Difference between revisions

From Hydrogenaudio Knowledgebase
(→‎Dither: I attempted to explain this setting in greater detail, based on my understanding and experimentation. If I've made any technical errors, please fix them!)
(→‎Dither: In my previous edit, I forgot to provide a basic explanation of what the checkbox is for.)
Line 18: Line 18:


== Dither ==
== Dither ==
This checkbox controls whether to perform dithering when playing audio that's encoded at a higher bit depth than the chosen output format.
[[Dither]] is noise which has been added in a manner which masks quantization noise: the distortion which is sometimes audible when playing digital audio at a lower bit depth than the original. The result gives the signal greater dynamic range than the lower bit depth allows, and can be perceived as improved, smoother sound quality, but it always comes at the price of added background noise, which, when audible, sounds like tape hiss. Dither exploits a feature of human hearing—the ability to distinguish signal from background noise—in order to preserve the higher bit-depth signal within the confines of the lower bit-depth format.
[[Dither]] is noise which has been added in a manner which masks quantization noise: the distortion which is sometimes audible when playing digital audio at a lower bit depth than the original. The result gives the signal greater dynamic range than the lower bit depth allows, and can be perceived as improved, smoother sound quality, but it always comes at the price of added background noise, which, when audible, sounds like tape hiss. Dither exploits a feature of human hearing—the ability to distinguish signal from background noise—in order to preserve the higher bit-depth signal within the confines of the lower bit-depth format.



Revision as of 22:49, 7 September 2010

Foobar2000_Logo.png foobar2000
Preferences
Screenshot of the Output page
Screenshot of the Output page

Deprecated pages


Pages marked * are added via third-party components.

Output Device

Controls the physical device that played audio stream is sent to. Commonly available options include:

  • Primary Audio Driver - your system default audio device as configured in Windows Sound control panel.
  • Null Output - does nothing; useful mainly for development/testing purposes.

Additional output devices can be added using optional output components.

Buffer Length

To protect playback from glitches during heavy system load or file access lag, resource-heavy operations such as decoding and DSP are always performed ahead of currently heard sound (this is not unique to foobar2000, all or nearly all media players behave this way). This setting controls the distance between decoding/DSP and output.

  • High buffer sizes offer stronger protection against glitches but introduce side effects such as long delay between changing DSP settings (eg. adjusting equalizer bands) and changes in sound output.
  • Low buffer sizes allow faster responses to DSP configuration changes at cost of higher risk of stuttering during high system load / file access lag / etc.

WARNING: Setting too low buffer length may cause certain visualizations to stop working correctly. Use of buffer lengths below 500ms is not recommended.

Output Format

Controls the audio data format passed to the operating system / audio drivers / etc. You should refer to your soundcard's documentation to find the optimal setting; using bit depth higher than supported by your hardware might work but will not improve output audio quality in any way and may degrade performance.

Note that this option is not available with some output modes such as ASIO - ASIO architecture doesn't support variable data formats by design, the format that needs to be sent is determined by the driver.

Dither

This checkbox controls whether to perform dithering when playing audio that's encoded at a higher bit depth than the chosen output format.

Dither is noise which has been added in a manner which masks quantization noise: the distortion which is sometimes audible when playing digital audio at a lower bit depth than the original. The result gives the signal greater dynamic range than the lower bit depth allows, and can be perceived as improved, smoother sound quality, but it always comes at the price of added background noise, which, when audible, sounds like tape hiss. Dither exploits a feature of human hearing—the ability to distinguish signal from background noise—in order to preserve the higher bit-depth signal within the confines of the lower bit-depth format.

For a dramatic demonstration of the effect of dither, set the output format to 8-bit (if your soundcard supports it), and play an ordinary 16-bit audio file both with and without dither. The version with dither will have a fair amount of extra noise, but it will be less fuzzy/gritty than the version without. This is an exaggerated demonstration, because for the average human listener, the distortion that occurs when converting 16-bit to 8-bit is far more noticeable than that which occurs when converting 32-bit to 24-bit, or 24-bit to 16-bit.

If your soundcard can only handle a maximum of 16-bit input, but you tend to play, at loud volume, 24-bit audio files with very quiet sections that have no background noise, then you may want to enable dither, because it can make those extreme quietest parts of the audio audible, albeit with the addition of hiss. However, dither uses extra CPU power, and generally isn't necessary because the signal in most recorded audio is well within the 96 dB limit of 16-bit, and because the distortion introduced in 24-to-16-bit conversion is so quiet as to almost always be masked by the signal, at least for human hearing.