Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Homebrew CMI 8738 drivers (Read 529179 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Homebrew CMI 8738 drivers

Reply #225
the only thing im constantly fighting with is the microfone.
With your drivers i cant get voice tools like ventrilo working properly.
when i start ventrilo it says: "Failed to open input device. Another program might have it open already"
If i set up direct sound input i get an "createcapturebuffer error" and if i try the regular CMI8738/8768 Wave device input i get an "open input wave device failed" error.

what OS do you use, what version do you run (32 or 64 bit), and do you have any other programs opened which might use the soundcard while Ventrilo is running?

Quote
One nice additional feature would be a "monitor output, a.k.a. second zone" on analog ports, if it is possible at all...

uhm... what input port should be monitored onto what output port exactly?

Homebrew CMI 8738 drivers

Reply #226
Quote
One nice additional feature would be a "monitor output, a.k.a. second zone" on analog ports, if it is possible at all...

uhm... what input port should be monitored onto what output port exactly?


Here it is:
- application (media center) plays a DVD;
- your WaveRT driver bypasses Vista's internal DSPs, renders audio stream into cmedia chip;
- chip outputs to SPDIF endpoint;
- SPDIF is hooked to audio receiver, which decodes AC3 audio to 5.1 speakers;
All of above is excellent.
Now, if I want  to use stereo headphones and dont want to mess with default playback device changing?
I thought it would be greate, if it is possible to force cmedia chip to do what it was originaly designed for but at the same time with SPDIF passthroug:
- route the same DVD audio stream into Vista DSPs;
- use software decoders;
- downgrade to 2 chanels;
- output via analog connectors.

Well, it contradicts with Vista's idea of endpoints, as it outputs same source twice (but in different form). Again, it only make sense if it can be done in parallel and at the same time as SPDIF passthroug.
Hope this time I explained better

Homebrew CMI 8738 drivers

Reply #227
Yep, now it's crystal clear - I'm afraid the hardware is limited to one playback stream at a time so that an AC3 stream and a decoded stereo stream can't be played simultaneously.

Homebrew CMI 8738 drivers

Reply #228
Hi d0gbert or anyone who might help
I'm desperate to get my dts audio files to play on my htpc via spdif, but no joy.
Came across your drivers bought an aureon 5.1 new clean install of xp sp3 (3311).
Stereo plays well but dts gives me static (when flac, receiver says pcm 44) or nothing (when wav, receivr says dec. err).
I'm using foobar 0.9.5.1 kernelstreaming or not doesn't change a thing.
I reinstalled vista sp1, xp sp2, xp sp3 so many times, used onboard alc889 (including dts interactive!), used an audigy2 used a m-audio 2496 and now this one, it drives me crazy.
Also using two recievers to compare (denon/sony) and of course they behave different.
This really seems the hardest thing to do.

Hints anyone?
Really, any help appreciated.

PS: Interesting: When I enable windows sounds they play as 96kHz...

Homebrew CMI 8738 drivers

Reply #229
are your receivers capable of decoding DTS? have you tested them against other DTS files?

foobar with KS is bitperfect if no prior DSP plugin processes the sound.

Homebrew CMI 8738 drivers

Reply #230
are your receivers capable of decoding DTS? have you tested them against other DTS files?

foobar with KS is bitperfect if no prior DSP plugin processes the sound.


yes the sony is doing well with dts interactive and the denon avr3805 has all logos up tp 192 kHz, but doesn't even play with the onboard dts interactive. The denon is the target but i'm testing against the sony de-695 right now.

I have no dsp active and it's a plain vanilla installation with only the grafx driver, your driver and foobar installed. ok touscreen driver and irtrans are present also, but that's it.

Homebrew CMI 8738 drivers

Reply #231
well, make sure that the volume in foobar is set to 0dB and there is absolutely no signal processing, and if it still doesn't work, try winamp with its KS plugin.

Homebrew CMI 8738 drivers

Reply #232
Foobar is at 0 db... winamp with ks plugin...no audio
installed kmplayer, configured spdif, dvds play their dts track fine, just not my audio files
and I tried many of them, also dts cds don't play.
As if only 48kHz is working...

Homebrew CMI 8738 drivers

Reply #233
have you tried 48kHz DTS files in .wav format? do your receivers specifically support 44.1 kHz DTS?

ac3 files can be packaged as .wav, too - maybe it's worth a try to test some 44.1kHz ac3 files. If this doesn't work, the hardware (soundcard) might be defective.

Homebrew CMI 8738 drivers

Reply #234
Solved! What a relief!
Your comment "do your receivers specifically support 44.1 kHz DTS?" made me check my receivers documentation and I found
- Sony str-de695 has a default decoding setting "PCM" that needs to be changed to "AUTO"
- Denon AVR3805 has a per input setting 'Auto Surround" that needs to be enabled

both work flawlessly now.
Some of the older flacs need to be reencoded it seems, peace of cake.

Thank you so much for the drivers and your support.
You just made my easter weekend!


Homebrew CMI 8738 drivers

Reply #236
Dear Dogbert,

I got a question:

If i understood this and this articles correctly, WaveRT driver supposes to work on WASAPI interface. That shall lead to almost any windows audio processing not having effect on audio stream. So, by using your drivers, I was expecting to have Vista volume slider no effect. Lets say for Windows media player, I expected it to decode (if encoded at all) the file into pcm and then to output it straight onto SPDIF.

In reality, when I play AC3 or DTS files, it really does pass to SPDIF without Vista volume interfearance, but if I play WMA file - Vista volume is effective. This somehow doesnt seem pure "pass through".

Could you please clarify that?

Best regards.

Homebrew CMI 8738 drivers

Reply #237
In Windows 2k, XP and Vista, there's the so called "passthrough" mode which can be called from the WaveOut / DirectX interface - this enables dd/dts streams to be sent to the soundcard's driver and subsequently ot the spdif without any processing by the kmixer.  All the common video player and their codecs use this, and it is limited to 48kHz streams. Also, the passthrough mode is based on a rather quick&dirty hack job than on a thorough design.

The so called "exclusive mode" of Vista is a feature of a new API called "WASAPI". Applications which use this mode can read and write directly into the sound driver's buffers without after-processing from the kmixer. This works for both WaveRT- and non-WaveRT-versions of the driver, but it has to be specifically supported by the application.

Afaik, WMP does not support it out of the box - it still uses WaveOut / DirectSound and it hence can't be bitperfect unless the "passthrough mode" is employed because the kmixer of Vista isn't bitperfect anymore.

I've recently written a small article on the subject: http://code.google.com/p/cmediadrivers/wiki/Bitperfect

Homebrew CMI 8738 drivers

Reply #238
Afaik, WMP does not support it out of the box - it still uses WaveOut / DirectSound and it hence can't be bitperfect unless the "passthrough mode" is employed because the kmixer of Vista isn't bitperfect anymore.


All right, I got the point. In other words, to use WaveRT, application has to call for that. Apparently this is not the case for WMP (WMC) and generally speaking any other existing today application (with very few exclusions).

Questios remains: how to get bitperfect SPDIF output for other than DD or DTS content? It is clear that application "X" can be used for that. But, could there be a way to "enforce" it by your  driver, be it even such "dirty pass throug" way?

Regards.

Homebrew CMI 8738 drivers

Reply #239
In other words, to use WaveRT, application has to call for that.

s/WaveRT/exclusive mode of WASAPI

Quote
Questios remains: how to get bitperfect SPDIF output for other than DD or DTS content? It is clear that application "X" can be used for that. But, could there be a way to "enforce" it by your  driver, be it even such "dirty pass throug" way?

The driver has no effect on whether the kmixer is bypassed or not. However, there is a DirectShow filter which can be used to force kernel streaming for all media: ReClock. It might be worth a try - the windows media player and windows media center both use the DirectShow API to build a filter graph in order to play the media, so ReClock might be set up in a way that it is always prioritized as output sound renderer. I haven't personally tested this though.

Homebrew CMI 8738 drivers

Reply #240
The driver has no effect on whether the kmixer is bypassed or not. However, there is a DirectShow filter which can be used to force kernel streaming for all media: ReClock. It might be worth a try - the windows media player and windows media center both use the DirectShow API to build a filter graph in order to play the media, so ReClock might be set up in a way that it is always prioritized as output sound renderer. I haven't personally tested this though.


Dear Dogbert,
Thank you very much for your answers.
ReClock is outdated and messes alot with recoding, hence can't be bitperfect.
I was just thinking (as not programmer of cours):
- Wavert option of a driver is called by application;
- driver presents its capabilities to OS:
Now, what would happen if driver will say "I am ONLY capable of wavert and nothing else"?
Is it possible at all?
Will OS somehow still try to render all audio to such driver?

Regards

Homebrew CMI 8738 drivers

Reply #241
ReClock is outdated and messes alot with recoding, hence can't be bitperfect.

yeah, but it shows that a DirectShow filter can in fact utilize KS/WASAPI's exclusive mode and hence potentially make WMP/WMC bitperfect.

Quote
I was just thinking (as not programmer of cours):
- Wavert option of a driver is called by application;
- driver presents its capabilities to OS:
Now, what would happen if driver will say "I am ONLY capable of wavert and nothing else"?

WaveRT is another flavour of the WDM - in essence, it is knitted around a somewhat different sound buffer handling than the regular WaveCyclic/WavePCI designs. This has nothing to do with bitperfect.
WASAPI is an application interface. The kernel audio mixer can be bypassed when an application uses its "exclusive mode".
The driver presents input and output pins in so called pin factories which can be instantiated by the OS. There is (almost) no differentiation between a pin getting instatiated by kmixer or by an application using WASAPI/KS.

Homebrew CMI 8738 drivers

Reply #242
[There is (almost) no differentiation between a pin getting instatiated by kmixer or by an application using WASAPI/KS.


Means, driver can absolutely not force aplications (OS) to bypass mixer     

You don't plan, by chance, to develop such DirectShow "exclusive mode" filter?
It looks (for non-profesional) much simple comparing to what ususal filters do, in fact, instead of doing anything, this filter has to say "do nothing, go to exclusive" (if I got it right).
Extending your driver reach to PCM streams will be much appreciated by the comunity, I beliave.

Many thanks for all explanations.
Best regards.


Homebrew CMI 8738 drivers

Reply #244
and nope, I'm not planning to develop such a filter - I'm currently packed with other stuff.


 

Any hope for other cmedia's chips support, 8788?

Regards

 

Homebrew CMI 8738 drivers

Reply #246
Thanks for the driver.

Been playing with it for a week with my Asus A7S333 motherboard.  Haven't built a spdif RCA plug yet, so it's only analog playback for now.  Couple of questions I like to ask.

1) the "enable pcm/dac" option works (i.e. if blank then no analog out).  However if I blank the "enable spdif out" option --- there is no analog sound even if the "enable pcm/dac" option is on.  Don't know if you notice that.

2) I plug my cd-rom's spdif out into the motherboard's spdif-in (I split a 4 pin soundcard cable into 2) and tried to record sound thru spdif-in --- but there is no sound.  The CD-ROM has its own playback, volume buttons and headphone jacks on the front panel.  I tried it with window's sound recorder and nero's soundtrax and wave editor.  I tried it with every possible combination of your driver's control panel --- inverse,.... --- no sound.

I know it's 100 times easier and better to just rip the music cd thru IDE cable.  Just curious if I can make the spdif-in works --- before I spend the time and money to make the spdif RCA plug.

Homebrew CMI 8738 drivers

Reply #247
1) the "enable pcm/dac" option works (i.e. if blank then no analog out).  However if I blank the "enable spdif out" option --- there is no analog sound even if the "enable pcm/dac" option is on.  Don't know if you notice that.

Nope, I haven't noticed that - but I'll take a look at it when I've got some time.

Quote
2) I plug my cd-rom's spdif out into the motherboard's spdif-in (I split a 4 pin soundcard cable into 2) and tried to record sound thru spdif-in --- but there is no sound.  The CD-ROM has its own playback, volume buttons and headphone jacks on the front panel.  I tried it with window's sound recorder and nero's soundtrax and wave editor.  I tried it with every possible combination of your driver's control panel --- inverse,.... --- no sound.

yeah, the SPDIF-in recording is a bit buggy - sometimes, the recording won't start, and only a reboot can "fix" that.

Homebrew CMI 8738 drivers

Reply #248
I was wondering if it was somehow possible to send trackmarks over an optical output. If you copy a CD to a MD using a TOSLINK connection for example, the MD recorder knows when a track begins and ends even for gapless CDs. This is currently not possible if you are using a computer as source.

Homebrew CMI 8738 drivers

Reply #249
yeah, the SPDIF-in recording is a bit buggy - sometimes, the recording won't start, and only a reboot can "fix" that.


Try the reboot method, it didn't work.

Don't know if it's a voltage issue (0.5 vs. 5v) for spdif signal on the motherboard or a hardware issue for my cd-rom (it's a 2x cd burner) or whether I am actually doing it wrong.

How does one do a spdif-in recording of a music CD from a cd-rom correctly?

1) press the physical play button on the cd-rom or play it in some sort of windows media player software.
2) what software to record (window's sound recorder???)

All I get from pressing the physical playback button on my cd-rom and press record on the "windows sound recorder" is either 0 seconds, or 0.1 seconds or 0.2 seconds.