![]() ![]() |
Audio Asylum Thread Printer Get a view of an entire thread on one page |
For Sale Ads |
76.26.218.147
I have the latest stable release of Foobar to play FLAC files via my EMU 0404 USB box. The connection between the laptop and EMU is USB.I configured F2K with the ASIO Addon and it is able to talk to the native EMU ASIO drivers ... but the sound quality is much more analytical (bright?) and less airy than the direct sound option. Even my wife preferred the DS option since it sounded more analog.
Also, even when using DirectSound ... the computer volume control has no effect ... perhaps thats because its connecting via USB (and not S/PDIF etc.)
Please see my system details.
Suggestions ?
Edits: 11/29/07Follow Ups:
ASIO does sound different, and most likely it is more true to the source. I hear more detail with ASIO. It is more important with ASIO to set up a larger buffer, since it does not benefit from Windows Directsound buffering.
However, in this case something may be wrong with your setup. The Foobar volume control should work for ASIO and Directsound. The Windows volume control will usually not work work with ASIO, but will with Directsound.
I suggest looking at your Foobar installation first and get the Foobar volume working. If that does now work, perhaps it is a driver installation issue.
"The Foobar volume control should work for ASIO and Directsound. The Windows volume control will usually not work work with ASIO, but will with Directsound."
YES! Software player levels have nothing to do with "post player" level controls. Even some ASIO output plugins allow Winamp to retain level control. In these cases, you only need to ensure you have the volume set to 0dbfs - which for me was 50% slider for Winamp. For Foobar, 0dbfs is always 100% slider, which is why you get 0dfs when the Foobar level control is bypassed by the Otachan ASIO output plugins. Otachan plugins for Winamp also bypass, by in doing so, you get 200% (+6db gain) - at least you do on the audio interfaces I have.
Even with ASIO, software levels and SOUNDCARD mixer levels will still work. It has nothing to do with kmixer.
FOr Directsound, you do not NEED the audio device to be selected as a Windows default audio device. Windows volume control only works for the DEFAULT audio playback device. But windows mixer functions are still there (kmixer) whether or NOT the device is selected as the default. This can be proven by "injecting" other sounds into an audio stream during Directsound playback evem when said device is NOT the Windows default playback device! This is simply not possible with kernel streaming or ASIO since the latter get exclusive access to the audio interface. The sounds mixed by WIndows show up from higher up in the audio stack and are basically given a "busy signal".
This is how things are designed to work! ;) Most people do not want their music to "stop" all other PC sounds because most people are not audiophiles demanding bit-perfect playback, but instead are "multitasking multimedia power users" that are chatting, gaming and lisetning to MP3's at the same time. Bashing Microsoft for using a kmixer is silly, but they should have upped the sample rate of the conversion for XP. Thing is - why would they? The highest sample rate MOST users needed was 16/48 for DVD Video. DVD-A software players were not even around when kmixer was invented - even handling 16/48 was "future ready" at the time to handle the coming DVD-V software players. Apparently, Vista's mixer is much better, using higher sample rate mixing. But it's still sample rate conversion, and it's still (in my mind) unecessary.
PC audio. The fun never ends.
Directsound when device = Windows default: kmixing + Windows volume control active
Directsound when device not default: kmixing only - no Windows volume control
Once again, we see in the above example that Windows level controls are NOT a definitive test to see if Kmixer is being used! In both cases the kmixer will function, and multiple streams can be mixed.
Of course, if your audio interface has hardware mixing, this CAN work ALL THE TIME - no matter what you are using (Waveout, DS, KS, or ASIO). Trick is - most audio interface "mixers" are just for level control and setting input/recording levels. They don't really "mix" at all, but just route and control the level of outputs. At 100% (0dbfs) slider, most mixers will pass bitperfect right through to the DACs. The non-ASIO soundcard mixers are up to their own sneaky business - they're working backwards, and actually mimic the WINDOWS mixer!
People confuse level controls of hardware mixers and software players with Windows level controls and soundcard mixers that USE windows level controls. The confusion comes in when dual function (hybrid) ASIO/WDM drivers make the Windows level control shadow the hardware mixing level. They move "codependently" in unision (never independently). This instance tricks people into thinking a KS or ASIO stream is being routed through kmixer but its really only going through the hardware mixer. Windows level control simply is given control over the hardware mixers level control, probably because people know where to FIND the windows audio level control. This created WAY MORE CONFUSION than it was ever worth.
I thought this was common knowlege by now, but there are still Kmixer-phobics out there that see a functional level control and yell "KMIXER!" before they understand what is really going on. They probably think that the volume control on their amplifier is controlled by kmixer too.
I too was once a kmixer-phobic. But after much testing, I was able to prove to myself when it was actually working.
Directsound: KMixer only working with multiple streams, Volume only working when interface is the default Windows device.
KS/ASIO: Kmixer NOT working. The following volume controls will STILL WORK:
1) Software player (if plugin allows for it)
2) Windows Volume over Hardware mixer level (if assigned by driver)
3) Audio interface (soundcard level control) MIGHT work*
Some soundcard mixers that are NON-ASIO will lose their level control when kernel streaming to these cards. This is because these soundcard mixers are "working backwards" and mimic the Windows mixer and level control, having no real "independent" hardware mixing capabilities of their own.
THIS IS WHERE THE "REVERSE" (and thus FAULTY) LOGIC WAS BORN.
Although it's true that LOSING volume control means you have bypassed a mixer point (likely with kernel streaming to a non-ASIO card) it is NOT TRUE AT ALL that "all volume sliders must stop working" for kmixer to be bypassed. This was only true for specific instance of the non-ASIO card - most of which where Audigy 2 series soundblasters (on which most of the kmixer tests were done on the forums). NOBODY seemed to be doing testing using professional or prosumer cards with hybrid WDM/ASIO drivers. The Audigy 2 fan-boys would say "You have level controls - therefore YOU have kmixer!". I would say, "No, not all sliders are the same, and sliders can be controlled by different things - they can be "slaved" to other level controls depending on how drivers are written and whether or not the device is set to be the Windows default device". They didn't believe me.
Any of the three types of volume controls can be working and bitperfect can be had. Trick is - if the level control is not set to 0dbfs the level change alone disqualifies the signal for bitperfect (the guys doing the dts file test got passthrough ONLY when sliders were at 0dbs). Now for more confusion. Windows (and some software players) use 50% slider as 0dbfs. Foobar and most professional mixers uses 100% slider as 0dbfs. I think Creative uses a strange number like 75% slider as 0dbfs! There is NO COMMON SLIDER LOCATION for 0dbfs. This is another common source of myth and misinformation.
Some ASIO output plugins DO keep software player plugin level controls active. This does not prevent bitperfect playback, but forces one to know where 0dbfs is on that slider - and it varies from player to player.
I can see where Mac people find all of this reverse-engineering silly and pointless. But I like figuring out how things work.
Plus, these "disadvantages" turn into flexibility once you separate truth from myth.
Here are the questions one must answer to be "Sure".
1) Does my software player have a level control and if so, is it internal, or does it simply control WINDOWS mixer levels?
2) Does my output plugin disable or bypass this control?
3) Does my soundcard use hybrid WDM/ASIO drivers that assign level control to the Windows main level slider? OR does my non-ASIO soundcard simply mimic Windows mixer levels for LACK of it's own independent mixer?
This sure does differ from "working sliders = kmixer is working" theories...
Lunch is over. Back to work! :o)
Cheers,
Presto
The windows volume control has no effect when I choose EMU 0404USB as my default audio device.
"The windows volume control has no effect when I choose EMU 0404USB as my default audio device."Does it have no effect at all? Or just no effect when using KS or ASIO? The reason I ask is this is potentially another source of faulty logic. With other devices, you CAN have level control when it's the default audio device. In fact, for most... especially WDM/ASIO hybrid drivers... you DO!
For most other WDM/ASIO capable soundcards, one of two things can happen:
1)The soundcard driver has no mixer and just mimics the Windows mixer funcitons. (In this case, volume control is lost when using KS)
2)The soundcard driver can "slave" the windows level control to the soundcard mixer master level.(In this case, volume control still WORKS when using ASIO or KS!)The trick is to test for TRUE EXCLUSIVE access and NO KMIXER is to attempt to play two songs at once using two players.
-If you are using KS or ASIO, you CANNOT send a second stream to the audio interface.
-If you are using Waveout or DS, you CAN send a second stream to the audio device and you CAN do this THANKS to kmixer!!
-If you are playing ONLY ONE stream using DS, then kmixer MAY NOT EVEN BE RESAMPLING. (I still need to test this by using direct sound to play a dts file over SPDIF and decode it using an external DTS decoder. If it's kmixed at all, it can no longer be decoded and comes out as noise).One guy had DTS files working simply by setting the level control in windows to 50% and by playing no other streams.
This guy caused a WHOLE WHACK of confusion because he proved that kmixer is not always resampling, and you CAN get bitperfect playback with a non-ASIO soundcard... so long as level are set to "0db" (aka - no modification to level). A lot of people didn't know 50% slider was 0dbfs in Windows.
Even more don't know 50% slider *can* be 0dbfs in WINAMP too - and may be for ALL devices. I only proved this out for two devices.
Cheers,
Presto
If you are using KS or ASIO, you CANNOT send a second stream to the audio interface.
Well, I'm using an M-Audio Transit with optical out to a Benchmark DAC. I set up Foobar and WinAmp to both use the M-Audio ASIO interface. I can play music on both players at once and the sound combines. So I don't know what's going on here.
What a can of worms! :-)
nt
nt
Okay, with Foobar (for example) I have often THOUGHT I had ASIO going, but only CONFIGURED it, and another plugin was still active. Are you SURE SURE you're using ASIO for Foobar too? Winamp is more of a no-brainer.
This mixing is not consistent with 'typical' ASIO operation. SOMETHING is doing mixing. Question is: What?
Cheers,
Presto
I have an M-Audio Audiophile 2496 and the Delta 410. Both allow multiple clients to access the ASIO driver at the same time. There is such a thing as multi-client ASIO drivers, but I guess the question is if the ASIO spec allows multi client or if it is just supposed to allow exclusive access..
ASIO can be multiclient or not depending on implementation by the manufacturer. It takes a bit of DSP on board of the card itself to correctly mix the different streams from multiple clients (aplications). Some cards will even allow access from two different clients through different drivers. For example the Emu cards will accept a stream from WMP through DS and pass it on to ASIO bus while simultaniously playing back sound from an app like Console through ASIO driver.
My RME card will accept multiple client ASIO streams but only if they are at the same sampling frequency.
nt
Are you SURE SURE you're using ASIO for Foobar too?Yes, just checked again. I suspect flakey M-Audio drivers. The last second or so of the last song on a playlist in Foobar gets cut off with native ASIO. ASIO4All has no such problem, nor does DS.
But yes, native ASIO on both pieces of software.
Edit: I think I am going to get rid of this Transit POS. I originally got a Squeezebox and bought the Transit only to do in-room frequency response measurements with my laptop. But the SB kicked the bucket, so I set up my laptop with the Transit going into the DAC1. I think I'm going to get an E-MU 0404 USB to drive the DAC1.
Hey Andy,
I agree with Presto that it is somewhat easy to THINK you have asio going, but not in Foobar.
Would it be too much trouble to post a few screen shots so we all can rule that out? Otherwise, you could maybe have the same issues.
I can switch back and forth between DS and ASIO and have the truncation of the end of the last song come and go. I know that ASIO is present because I can identify this bug by moving the slider to the end of the last song in the playlist and see if it gets cut off.
I always click "Save All" when changing the output device if that's what you mean. After doing this, the changes "take" when you stop and resume playback.
Hey AC:
Are you using two different instances of Foobar at the same time? If so, are they the same version? Do they use the SAME PROCESS NAMES??
See where I am going with this??
Whenever I do tests on ASIO or KS (to check for mixing) I always use Foobar for one ASIO source and Winamp for the other. Why? I am usually very reluctant to run multiple instances of a program simultaneously.
Get back to me...
Cheers,
Presto
Hi Presto,
I'm only using a single instance of each program. I just tried to launch separate instances of Foobar, and its default configuration won't allow this. I can't find an option to allow multiple instances, but I haven't looked very hard.
So the configuration is - single instance of Foobar2000 (0.9.5 Beta 5), and single instance of WinAmp.
I know that proper ASIO behavior is to not allow what I'm seeing, but I suspect the drivers of the M-Audio Transit are not a proper implementation.
I just ordered an E-Mu 0404 USB last night.
"I just ordered an E-Mu 0404 USB last night."
Know when to walk away... know when to run? :o)
Who would have thought to test this on a USB device?? Good work. This phenomenon could have significant repercussions for other USB based devices - especially those from our friends at M-Audio!! ;)
Cheers,
Presto
Hey Vulcanman.
On my Audio PC, I have an onboard codec (C-media motherboard sound) selected as my Windows default playback and record device - to keep Windows away from my "real" soundcard as much as possible.
So, last night I tried to stream two audio files simultaneously to my "other" (M-Audio) soundcard to see if Directsound 2.0 has exclusive access. It does not. I was able to play two songs AT THE SAME TIME using TWO DIFFERENT players (Foobar 0.8.3 and 0.9.5), both using Directsound.
Of course, since Windows is set to see the C-media card, NO VOLUME CONTROL of Windows is affecting the volume, yet MIXING is still going on! Since the M-audio card does not support hardware mixing, what is doing the mixing then? Kmixer is doing the mixing, and volume control don't have a darned thing to do with anything. The fact my M-audio volume control in it's software mixer works ALSO means nothing, and it's a different volume control than Windows. The only time the M-audio volume control and the Windows volume control act TOGETHER (in tandem) is when I've selected the M-audio as the default audio device in Windows. But like I said, I have the C-media selected as the DAD in Windows.
Further to this experiment, I tried the same thing (playing two songs at once) using Kernel streaming (KS) and ASIO outputs. In both cases, the player start FIRST gets exclusive access to the M-audio, and the second one simply will not start! THis is the behaviour we expect.
So, indeed, (as I've said before) most of the Kmixer "volume control" tests posted on internet forums are either based on total misinformation or are simply not definitive tests (aka - don't prove anything of value, other than how volume controls are programmed to work in specific cases.)
The "simultaneous playback test" is much more definitive IMO.
The fact you like Directsound better could mean that the sonic character invoked by kmixer is actually doing something beneficial - making a very revealing or "bright" speaker sound less forward. I too have owned speakers that are very picky, and sounded harsh, brittle, lean or hard with sources that are supposed to be very accurate.
I've been much happier since I've parted with these speakers! (And one pair in particular was a $3000 DIY labor of LOVE - thank goodness a good friend found them particularly enjoyable FOR HIM. He LOVES the high-end, but likely has hearing damage from being around generators. My "fussy and brittle" high end is his beloved high-end detail. Go figure.
But is lowering resolving power a good way to make a bright sounding speaker or system sound more "analog"? That's for you to decide! Some would sure "sure why not" and others would cry "BLASPHEMY! HERETIC!". I'm not that religious about audio - but I do tend to prefer "bit-perfect", unless I am using a VERY transparent DSP which has function that outweighs any possible "micro-veil".
These days, I find that any time I am using ASIO or Kernel Streaming in ANY player in XP that supports these two output formats I am happy. This excludes Winamp these days because of issues with Winamp's default level settings. In my experience, Winamp ASIO plugins BYPASS the default winamp level setting which happens to be 50% = 0dbFS and goes to 100% = 6dbFS. Some refute this, but I've had this happen on TWO different cards on TWO different computers. I've stopped using Winamp with ASIO or kernel streaming. I have also had clipping issues with Winamp when using Kernel streaming for digital outputs into a Behringer DCX2496 and always wondered why that was. Now I know. There is one ASIO output plugin for Winamp from Christian Budde that includes a level control that permits one to put the level "back to" 50% and get 0dbFS, but it's honestly kind-of buggy, seems like he did not really finish the thing, since this is the only plugin of his that is this way: everything else he's contributed is just awesome stuff. Nothing wrong with a level control - if one knows what it is DOING!
Just my 4 cents on the subject.
Cheers,
Presto
Hi Vulcanman,
I haven't compared the direct sound output to the ASIO output in Foobar, but I will this weekend. You should be able to use the volume control in Foobar if the Windows volume control does not effect the sound. The Foobar volume control works for me when using the 0404 USB ASIO output so I imagine it will when using the DS ouput as well. I generally use the volume control on the 0404 USB, but I do have my remote control set to adjust the Foobar volume control when needed.
Alan
Thanks ... and I did find the "remote control for foobar" concept interesting ... can you please elaborate ?
Thanks again.
I have also used the Firefly remote to control Foobar (and other software). It has a very flexible XML-like scripting language so you can do just about anything with it. It is RF so line of sight is not an issue and has a long range.
Lynn
I use an iMon IR remote control that came with my Silverstone media PC case. It includes software that allows you to assign a remote control key to any function that can be controlled by a keyboard, so I mapped remote buttons to raise and lower the volume, as well as move through playlists and such. The iMon can be purchased on its own as well.
Alan
Hey V,
Foobar is easy to control with the remote linked below. YOu just use hot keys and assign what you want foobar to do to each key of the remote.
I recently bought the remote below and it works great, with the only draw back being that it is IR (other remotes I used were RF and didn't have the big clunky receiver but had a lot less buttons.)
Currently, I am using Mp3toys as a front end for Foobar, and was able to get the remote to pause, skip, display lyrics, change album, etc in mp3toys and do volume and mute in foobar. All 17 buttons were able to be assigned to do something.
It is pretty easy to do and the remote is cheap:
FAQ |
Post a Message! |
Forgot Password? |
|
||||||||||||||
|
This post is made possible by the generous support of people like you and our sponsors: