This guide is mainly aimed at all those people who have an audigy soundcard, and to a lesser extent , those using their onboard AC'97 sound , and those who care to have good sound quality ( and by that i mean more detail in the sound , not better bass ) , and with speakers with a good high end.
Have you ever wondered why movies sound just right on your rig, but music not so? Well, the root cause of it is the mediocre quality resampling in the hardware. This is most obvious in the audigy series cards, and to a lesser extent , in AC'97's
to get an idea about it, check out the IM Distortion graphs at 44.1 Khz and 48 Khz The difference is pretty obvious !
at 44 khz
at 48 khz
original measurements
Thankfully, help isn't far away!
The cure involves using a much higher quality software resampling and output direct to the sound card( and in doing this ,we bypass the windows default mixer which removes one less component) .
note : using software resample eats up CPU cycles like hell so attempt this only if audio fidelity matters more to you hyeah:
There are two ways ...
ASIO
ASIO stands for Audio Stream Input/Output , a low latency interface , which by itself has only the low latency bit as its merit, but combined with external resampling , proves to be just the ticket to audio heaven!
Kernel streaming
Unfortunately, all cards don't support ASIO, ( of course , there is always ASIO4all, a generic ASIO driver ) and thats were kernel streaming comes in. it works pretty much like ASIO functionally, and streams the audio direct , (bypassing the windows mixer) to the soundcard. the drawback being that KS tends to be buggy ( it didn't work at all on my Nforce onboard audio)
Now to utilize these, you need to use the appropriate playback plugin for playback
I'll talk about foobar ( actually i was a fan of QCD player , but its ASIO output plugin doesnt seem to work with my audigy ASIO , but it strangely has no issues with nVidia ASIO..)
Install foobar ( howto for winamp given at the end)
Setting up foobar
First of all you need the SSRC resampling plugin for foobar, as it is better than the stock PPHS resampler that comes with foo. Then you need the out_asio and if you're feeling adventurous , the out_ks plugins.
Extract the plugins to the foo plugins folder, and restart foobar
Enable the SSRC plugin, and set it to resample to 48 Khz.The higher the quality, the better ... but at the same time , keep an eye out for CPU. I use these settings as mine's an old barton (20% cpu at these settings) ( if you have a 96/24 capable card, then set to 96K !audigy users: disable all the EAX, CMSS , speaker calibrator.. pretty much all the ear candyif you want 96/24 playback.... The audigy DSP engine runs at 48Khz )
also remember to add the mono to stereo converter as ASIO doesnt detect mono
now for playback. If you're going the KS route, all you have to do is choose the KS instead of DS in the list.
ASIO... you need to choose from the list of possible ASIO devices , and in case of the foobar plugin, you can custom map the channels. If you plan to playback multichannel files (say dts) you need to have all the channels mapped. Then choose the newly added ASIO device in the playback list. Enable dithering if you know what dithering means and intend to use it (and your card supports it )
Winamp: the basic idea remains the same... the options here are much more varied , as a number of plugins and ways exist to accomplish the same thing..
1)resample to 48 khz
2)output to ASIO or Kernel streaming , or if neither works , directsound
Links
ASIO 4all :ASIO4ALL - Universal ASIO Driver
FOOBAR
ASIO for foobar: http://www.foobar2000.org/components/foo_out_asio.zip
Kernel streaming for foobar : http://www.foobar2000.org/components/foo_out_ks.zip
SSRC for foobar: http://otachan.com/foo_dsp_ssrc_057.7z
Sercret Rabbit code Resampler : Secret Rabbit Code Resampler for Foobar2000.
Winamp
Kernel streaming for winamp : Assorted Steve Monks Related Stuff
this plugin does not resample by itself, you need to use another resampler like the
Hqsoft resampling plugin: HighestQuality Software Processing - Homepage
and then route it to kernel streaming output
ASIO for winamp : a) dll version : WINAMP5? ASIO??????? (dll version) - ??????MIDI/Audio???
b) exe version : WINAMP5? ASIO??????? (exe version) - ??????MIDI/Audio???
c) x64 version : WINAMP5? ASIO??????? (x64 version) - ??????MIDI/Audio???
scroll down to the 4th point to download the file
don't ask me the difference ... i have no idea
all these ASIO plugins support built in Sample rate conversion so configure them right and you're set!
And lastly for the faint of heart, a directsound plugin (very much like the default DS plugin , with added SSRC ) : http://nunzioweb.com/sawgstuff/wa/out_ds_ssrc.zip
DISCLAIMER : a few of these plugins are betas or (in some case ) alphas , so use at your own risk !
Have you ever wondered why movies sound just right on your rig, but music not so? Well, the root cause of it is the mediocre quality resampling in the hardware. This is most obvious in the audigy series cards, and to a lesser extent , in AC'97's
to get an idea about it, check out the IM Distortion graphs at 44.1 Khz and 48 Khz The difference is pretty obvious !
at 44 khz
at 48 khz
original measurements
Thankfully, help isn't far away!
The cure involves using a much higher quality software resampling and output direct to the sound card( and in doing this ,we bypass the windows default mixer which removes one less component) .
note : using software resample eats up CPU cycles like hell so attempt this only if audio fidelity matters more to you hyeah:
There are two ways ...
ASIO
ASIO stands for Audio Stream Input/Output , a low latency interface , which by itself has only the low latency bit as its merit, but combined with external resampling , proves to be just the ticket to audio heaven!
Kernel streaming
Unfortunately, all cards don't support ASIO, ( of course , there is always ASIO4all, a generic ASIO driver ) and thats were kernel streaming comes in. it works pretty much like ASIO functionally, and streams the audio direct , (bypassing the windows mixer) to the soundcard. the drawback being that KS tends to be buggy ( it didn't work at all on my Nforce onboard audio)
Now to utilize these, you need to use the appropriate playback plugin for playback
I'll talk about foobar ( actually i was a fan of QCD player , but its ASIO output plugin doesnt seem to work with my audigy ASIO , but it strangely has no issues with nVidia ASIO..)
Install foobar ( howto for winamp given at the end)
Setting up foobar
First of all you need the SSRC resampling plugin for foobar, as it is better than the stock PPHS resampler that comes with foo. Then you need the out_asio and if you're feeling adventurous , the out_ks plugins.
Extract the plugins to the foo plugins folder, and restart foobar
Enable the SSRC plugin, and set it to resample to 48 Khz.The higher the quality, the better ... but at the same time , keep an eye out for CPU. I use these settings as mine's an old barton (20% cpu at these settings) ( if you have a 96/24 capable card, then set to 96K !audigy users: disable all the EAX, CMSS , speaker calibrator.. pretty much all the ear candyif you want 96/24 playback.... The audigy DSP engine runs at 48Khz )
also remember to add the mono to stereo converter as ASIO doesnt detect mono
now for playback. If you're going the KS route, all you have to do is choose the KS instead of DS in the list.
ASIO... you need to choose from the list of possible ASIO devices , and in case of the foobar plugin, you can custom map the channels. If you plan to playback multichannel files (say dts) you need to have all the channels mapped. Then choose the newly added ASIO device in the playback list. Enable dithering if you know what dithering means and intend to use it (and your card supports it )
Winamp: the basic idea remains the same... the options here are much more varied , as a number of plugins and ways exist to accomplish the same thing..
1)resample to 48 khz
2)output to ASIO or Kernel streaming , or if neither works , directsound
Links
ASIO 4all :ASIO4ALL - Universal ASIO Driver
FOOBAR
ASIO for foobar: http://www.foobar2000.org/components/foo_out_asio.zip
Kernel streaming for foobar : http://www.foobar2000.org/components/foo_out_ks.zip
SSRC for foobar: http://otachan.com/foo_dsp_ssrc_057.7z
Sercret Rabbit code Resampler : Secret Rabbit Code Resampler for Foobar2000.
Winamp
Kernel streaming for winamp : Assorted Steve Monks Related Stuff
this plugin does not resample by itself, you need to use another resampler like the
Hqsoft resampling plugin: HighestQuality Software Processing - Homepage
and then route it to kernel streaming output
ASIO for winamp : a) dll version : WINAMP5? ASIO??????? (dll version) - ??????MIDI/Audio???
b) exe version : WINAMP5? ASIO??????? (exe version) - ??????MIDI/Audio???
c) x64 version : WINAMP5? ASIO??????? (x64 version) - ??????MIDI/Audio???
scroll down to the 4th point to download the file
don't ask me the difference ... i have no idea
all these ASIO plugins support built in Sample rate conversion so configure them right and you're set!
And lastly for the faint of heart, a directsound plugin (very much like the default DS plugin , with added SSRC ) : http://nunzioweb.com/sawgstuff/wa/out_ds_ssrc.zip
DISCLAIMER : a few of these plugins are betas or (in some case ) alphas , so use at your own risk !