Guide Improve your music playback

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 :P) , 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 !

imd44tx5.gif


at 44 khz

imd48km8.gif


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
:ohyeah:

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 :D(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 :D

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 !
 
Wasapi does not sound nice with my onboard sound. I tried that and only got music that sounded really bad. The beats were amped and broken, and sound was missing the mid ranges a lot.
 
I've heard that this whole point of Kernel streaming is pointless in vista/win7 due to the different architecture. a better resampler should be enough?

I dont have win7. Anybody who has ?
 
greenhorn said:
yours looks like a 16 bit chipset. stick to 48Khz/16 bit ?
It is, and i think the card does the 48khz already, supposedly its cheaper to make a card that plays 48khz than one that does 44khz. I tried resampling to 48khz in another app and the CPU got pegged like 40% so thats not much use.

This is on a P3 700Mhz with XP. The only reason i was considering ASIO4all is because its supposed to communicate directly with the card and bypasses kmixer. But will be using only for playback so no sound inputs at all.

Ppl seem to be raving about how it sounds better with ASIO4all but its just a wrapper not a driver in itself so could not figure out how sounds were improved by ASIO4all alone.
 
the cpu usage depends on the src algorithm. pphs (the default in foobar) doesnt take up much, but quality is no great shakes. try with ssrc at one of its lower quality settings.

what you said about asio is pretty much it. it doesnt improve sound by itself, only great thing is that the asio4all emulates an ASIO interface, for folks who cant get ks to work right
 
blr_p said:
It is, and i think the card does the 48khz already, supposedly its cheaper to make a card that plays 48khz than one that does 44khz. I tried resampling to 48khz in another app and the CPU got pegged like 40% so thats not much use.

This is on a P3 700Mhz with XP. The only reason i was considering ASIO4all is because its supposed to communicate directly with the card and bypasses kmixer. But will be using only for playback so no sound inputs at all.

Ppl seem to be raving about how it sounds better with ASIO4all but its just a wrapper not a driver in itself so could not figure out how sounds were improved by ASIO4all alone.

If your soundcard doesn't support 44.1k then asio4all will do automatic High quality resampling apart from bypasing kmixer.
Try asio4all, the difference on cheap soundcards is really significant IME.
 
Back
Top