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 !
 
er, nikhil... sowwie:ashamed:
broar, your sig says you have an older SB live... it can handle only 48K/16bit. In that case, there is no point in resampling to 96..48 is all you need . similarly, no point in dithering. 16 bits is all the resolution there is.

something to remember for everyone
#1) setting to 96 K is useful only for cards which can play back 96K Similarly dithering to 24 bit is also pointless if your card doesnt support 24 bit playback .

#2) to enable 96K, you have to disable CMSS,EAX,speaker calibrator, Equalizer... all the ear candy. the 48K 16 bit DSP unit is just looking for an excuse to jump into the signal path :P, and we need to avoid that at all costs!

CARDS THAT CAN HANDLE 96/24 natively

Audigy series
SB live! 24 bit
HD audio onboards

Cards THAT HANDLE 48/16 only

original SB live
AC'97 onboards
 
TechHead said:
^@greenhorn, nice stuff. Now point me to a version of columns UI that works on 0.9.3.1, I can't find one.
here ya go :)
musicmusic's foobar2000 stuff - components

guru said:
Heres a plugin i use to make music sound better - normalization is built in
WINAMP.COM | Plug-ins
anyone else tried this here?

as far as my experience goes.. people wanting better highs should try out izotope ozone (not freeware though.. but one heck of a DSP )

those wanting better bass ( and having the equipment.. 8 inch or greater woofers at least.. the author says so :P in system requirements) try out jammix .. best of all, its freeware! .. some jammix presets are so :S , you can make a fan out of your sub :bleh:

I've tried enhancer, but it didnt exactly enhance anything for me. but friends with "lesser" speaker systems said that enhancer was of great help.
 
Amazing..!!

Man...thank you so much for your help!!

Sound after installing the ASIO Plugin has been awesome!!

Able to get more punch and bass out of my MX5021s :D.

Now you have to help me configure the Izotope plugin with the Winamp DSP Bridge :D.Reps++!!!
 
Thanks a ton for the SSRC link, hell I didn't even know 0.9.3/4 were using PPHS lol :P

@ Nikhil - You need to have a set of acoustically tuned ears for noting minute differences.

Acoustic tuning can be performed on your ears at houses of most audiophiles, and is usually done for about 10m Monster cables / some FLAC DVD's in return :P
 
I have placed all the three dll (out_ds_ssrc, foo_out_asio, foo_out_ks) in the components directory but I cant select any in foobar. (why does the ssrc filename not start with foo_).

  • Two components are listed in the 'foobar components list' in preferences (see screenshot).
  • The ssrc is not available in the list of DSPs so cant select (see screenshot).
  • ASIO or KS is not available in the drop down list of output devices, only DS is.

Now where am i going wrong..
Edit - configured the srcc part.. maybe I had the winamp plugin earlier
 

Attachments

  • Capture02.JPG
    Capture02.JPG
    43.6 KB · Views: 183
  • Capture01.JPG
    Capture01.JPG
    58.8 KB · Views: 170
Ren, instead of displaying your sound card name, it is reporting not connected - just left click on it - check if it plays test signal. Do the same for right channel too. If it plays the sound, all is fine.

Also, remember it would only resample upto 48k. Why are you using ASIO4ALL btw?

If your sound card driver does not support ASIO natively its better you stick with kernel streaming mode. But i am not very sure on this. The jury is out on which is better kernel streaming or ASIO4ALL.

Else try both with ASIO4ALL@48k and Kernel streaming@96k if your sound card is capable enuf and tell us the results on which is better.

------------
PS: I am no expert on this - wait for reply from Hardcore Audiophiles :)
 
Nope it does not play the test sound.. Also it does not show up KS in the DSP list. Only DS and ASIO, ASIO doesnt work.
I have onboard realtek.
 
ASIO works on my realtek ALC 650.. but its using the NVIdia drivers. I've had this problem with some people . even though you ad the out _ks, it doesnt show up in the foobar config. weird ... but usually asio4all works with everything:).Is your realtek an Ac 97 or HD audio codec? if its the former, 96k is pointless in both KS and ASIO... as AC 97 works at 48 only..

have you configured ASIO4ALL?

btw, try updating drivers... which chip is it ?

your rig says you have a k8S mx.. which has a ADI codec, not realtek... or are you on another one :huh:
 
greenhorn said:
ASIO works on my realtek ALC 650.. but its using the NVIdia drivers. I've had this problem with some people . even though you ad the out _ks, it doesnt show up in the foobar config. weird ... but usually asio4all works with everything:).Is your realtek an Ac 97 or HD audio codec? if its the former, 96k is pointless in both KS and ASIO... as AC 97 works at 48 only..
have you configured ASIO4ALL?
btw, try updating drivers... which chip is it ?
your rig says you have a k8S mx.. which has a ADI codec, not realtek... or are you on another one :huh:

I have the realtek HD audio (thats what the drivers say) with latest drivers. How do I check the chip.

Installed asio4all but not done anything other than whats specified in the first post of this thread.

Its an acer 4061 laptop. That K8S rig is defunct.
 
First of all Nice article :)

Asio wont "improve" quality by much. ASIO is primarily used by music creators to reduce latency between the sound they are trying to create and hear (avoid passing thro the regular DX sound architecture and all that).

Kernel streaming is the best bet for "little" more fidelity than default DirectSound plugins.
 
magnificent, thanks a lot guys...

1 question when i load asio it starts playing in fast speed, am i doing something wrong ??? also i choose anyrate above 48K & nothing plays...
 
Back
Top