IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
Filtering all system sounds on a PC, Using directx filters?
Joe Bloggs
post Dec 12 2012, 18:45
Post #1





Group: Members
Posts: 375
Joined: 29-September 01
Member No.: 55



I've been using Virtual Audio Cable and VSTHost to filter system sounds for a long time, but this combination often stutters. I was looking for an alternative and found that DirectX supports native audio processing filters. With a porting program like EffectChainer I can port VST plugins into DirectX. The remaining question is, is there a way to insert DirectX filters between the default system sound output and the actual sound output without doing something like virtual audio cables?
Go to the top of the page
+Quote Post
rick.hughes
post Dec 12 2012, 20:33
Post #2





Group: Members
Posts: 115
Joined: 16-February 07
Member No.: 40679



QUOTE (Joe Bloggs @ Dec 12 2012, 12:45) *
...filter system sounds...

What OS? Can't you use WASAPI Exclusive Mode for this?
Go to the top of the page
+Quote Post
slks
post Dec 13 2012, 09:06
Post #3





Group: Members
Posts: 388
Joined: 31-March 06
From: Houston, Texas
Member No.: 29046



Since DirectX was mentioned that means it's Windows of some variety.

Windows 7 (and probably Vista) provide built-in functionality for this. Hitting the "Mixer" button under the volume slider in the system tray will let you individually control each application's volume, including a slider for "System Sounds".

If you're still on XP it may be useful to consider upgrading, for several reasons: the OS is over 10 years old, it's due to stop receiving security patches soon, and any computer from the last 3 to 4 years (or longer) should be able to handle it.

Otherwise you may be stuck fiddling with VST plugins - although I don't see why simply turning off each individual system sound wouldn't work just as well.


--------------------
http://www.last.fm/user/sls/
Go to the top of the page
+Quote Post
2Bdecided
post Dec 13 2012, 10:35
Post #4


ReplayGain developer


Group: Developer
Posts: 5059
Joined: 5-November 01
From: Yorkshire, UK
Member No.: 409



Aren't the actual system sounds just .wav files on the HDD?

You can simply pull them into an audio editor, filter them to your heart's content, and save them for use by the system. No need for any real time processing.

Cheers,
David.
Go to the top of the page
+Quote Post
Joe Bloggs
post Dec 13 2012, 14:20
Post #5





Group: Members
Posts: 375
Joined: 29-September 01
Member No.: 55



QUOTE (rick.hughes @ Dec 13 2012, 03:33) *
QUOTE (Joe Bloggs @ Dec 12 2012, 12:45) *
...filter system sounds...

What OS? Can't you use WASAPI Exclusive Mode for this?


Windows 7. Filter system sounds means mainly to apply EQ but also stuff like dynamic compression to every sound coming out of the computer, such as youtube videos, spotify streaming music, or video games for that matter.

QUOTE (slks @ Dec 13 2012, 16:06) *
Since DirectX was mentioned that means it's Windows of some variety.

Windows 7 (and probably Vista) provide built-in functionality for this. Hitting the "Mixer" button under the volume slider in the system tray will let you individually control each application's volume, including a slider for "System Sounds".

If you're still on XP it may be useful to consider upgrading, for several reasons: the OS is over 10 years old, it's due to stop receiving security patches soon, and any computer from the last 3 to 4 years (or longer) should be able to handle it.

Otherwise you may be stuck fiddling with VST plugins - although I don't see why simply turning off each individual system sound wouldn't work just as well.


Filter here means to modify the sound, eg EQ, not filter it out. Sorry I wasn't clear about this.

QUOTE (2Bdecided @ Dec 13 2012, 17:35) *
Aren't the actual system sounds just .wav files on the HDD?

You can simply pull them into an audio editor, filter them to your heart's content, and save them for use by the system. No need for any real time processing.

Cheers,
David.


... by "system sounds" I mean all sounds played back through the default directsound renderer, not the beeps and bloops windows makes. I didn't think anyone would care enough about those to filter them sleep.gif

The way I've been going about this so far was to have a Virtual Audio Cable (VAC) as the default sound renderer and VSTHost to take the output of the cable as input, process the audio and output to the actual audio output device. However VAC doesn't officially support windows 7 and it shows--it stutters at the drop of a hat. It also introduces considerable latency to the audio output.
Go to the top of the page
+Quote Post
RonaldDumsfeld
post Dec 13 2012, 16:43
Post #6





Group: Members
Posts: 328
Joined: 12-June 09
Member No.: 70617



VAC costs money. So do most VST plug-ins. Not a lot but it might be worth totalling it all up and comparing the total cost with that of a semi-pro audio interface that comes with suite of EQ and effects processors.

The scarlett-2i2Focusrite Scarlet 2i2 costs 100 and comes with the scarlett-plug-in-suiteScartlet plug in Suite.[/url]


I don't have personal experience with the Focusrite, or have any connection with them at all btw. I have a slightly dearer but functionally similar system from MOTU. 7 band parametric EQ with variable slope, 2 compressors and sophisticated reverb. All available on any combination of 10 ins, 14 outs and 8 mixers. All controlled via an easy to use visual interface.

Then again you may have very good reasons for doing things in the way you suggest. If so. Sorry for wasting your time.
Go to the top of the page
+Quote Post
Joe Bloggs
post Dec 13 2012, 17:00
Post #7





Group: Members
Posts: 375
Joined: 29-September 01
Member No.: 55



Well the two VST effects I use are free so my main outlay for now is Virtual Audio Cable. Actually there's a free alternative to even that, and that is the Stereo Mix output of my built in sound card (which was hidden by Windows 7 by default)

However a concern with these rerouting methods, aside from the stuttering and latency, is an added noise floor from the windows mixer doing dithering on the output of the first device which is fed into the second device. For whatever reason the dithering noise gets so bad after going through VAC, VSTHost and then the final output device that I can easily hear the difference when switching VSTHost on and off.

I suppose I could get a second sound card, plug a physical digital cable from the out of 1 to the in of the other, then VSTHost from the 2nd card's digital input to the final audio output. But it seems that would still not solve the problem of windows adding dithering noise.

Is this similar to what you propose I do with the Focusrite Scarlet?
Go to the top of the page
+Quote Post
RonaldDumsfeld
post Dec 13 2012, 22:23
Post #8





Group: Members
Posts: 328
Joined: 12-June 09
Member No.: 70617



QUOTE
Is this similar to what you propose I do .....


I'd rather throw myself down a well.
Go to the top of the page
+Quote Post
Destroid
post Dec 14 2012, 13:04
Post #9





Group: Members
Posts: 545
Joined: 4-June 02
Member No.: 2220



The best solution I could imagine would be an alternative volume control applet with a effect host on the output section. I tried searching and found some interesting applets but none having the effects host (or even any built-in for that matter) but I might have missed something too. I'd be intrigued to see an alternative mixer with extendable functionality myself.


--------------------
"Something bothering you, Mister Spock?"
Go to the top of the page
+Quote Post
Joe Bloggs
post Dec 14 2012, 14:38
Post #10





Group: Members
Posts: 375
Joined: 29-September 01
Member No.: 55



Is this what you mean then?

from this thread http://www.diyaudio.com/forums/pc-based/21...r-pc-dsp-2.html
QUOTE
Hi phofman

That isn't quite what I meant. As I understand it, this thread exists because people need to route audio from any source (SPDIF, CD, Windows media player, Spotify, Youtube) via DSP-based processing and finally out to their speakers, and it isn't immediately obvious that this is possible without resorting to two sound cards linked by SPDIF (jitter, re-sampling), or 'virtual audio cables' (re-sampling).

From my limited experience it is possible to do exactly what they need using only a single sound card and nothing else, although it isn't possible with all sound cards. I'd like to know which cards make it possible, and which don't.

The problem, as far as I can tell, is merely that the default routing of most sound cards is to connect any incoming stream internally to the analogue outputs. The Creative Audigy, for example, seems to do this unavoidably when you're using the Creative drivers. However, the open source Kx Project drivers allow you to turn off this internal routing. Unfortunately the Audigy always re-samples internally to 48kHz, reputedly not particularly well - although it sounds OK.

The more up-market Creative X-Fi can work at a variety of sample rates in 'bit perfect' mode, and its re-sampling (should that be necessary) is supposedly very, very good anyway. The card's standard drivers allow you to connect any input to any output with a sort of matrix arrangement. You can also turn off any internal routing - which is what you need for DSP processing.

Once you have turned off the sound card's internal routing, the setup for bit-perfect grief-free active crossover (in Windows at least) is as follows:

Set the Control Panel->Sounds and Audio Devices->Audio->Sound playback->Default Device to be the sound card in question. From now on, any standard media player will route its audio to the sound card's 'Wave' input, and you can also take in SPDIF or analogue line in if you want.

Set your DSP application's source to be the same sound card's input, and select whichever input you want ('Wave', SPDIF etc.) if you have the choice, or the simply the sound card's mixer as the source.

Set your DSP application's destination(s) to be the sound card's analogue outputs (or SPDIF).

You can now process any input that the sound card is capable of handling, and send your processed audio to the same sound card's outputs, locked to the same sample rate.

I must admit, this is one of situations where I'm slightly baffled as to why anyone would consider any other arrangement than this 'perfect' one, but I am also aware of the fact that some cards won't let you do it without wasting at least two of the outputs due to internal routing.

So which cards will let you do this?


Is the Focusrite Scarlet one such device that lets you do the above?
Go to the top of the page
+Quote Post
mudlord
post Dec 15 2012, 06:56
Post #11





Group: Developer (Donating)
Posts: 805
Joined: 1-December 07
Member No.: 49165



or hook dsound.dll for games/whatever.
Go to the top of the page
+Quote Post
Joe Bloggs
post Dec 16 2012, 07:17
Post #12





Group: Members
Posts: 375
Joined: 29-September 01
Member No.: 55



How...?
Go to the top of the page
+Quote Post
Joe Bloggs
post Dec 17 2012, 05:52
Post #13





Group: Members
Posts: 375
Joined: 29-September 01
Member No.: 55



It turns out that my motherboard has both SPDIF in and out next to each other as pin headers on the board like this:


I just bought 2 jumper shorting tabs for $1 and shorted the SPDIF output to the input and now I've got a digital loopback signal on the SPDIF input. The signal is as close to bit perfect as I've seen (96/24 with the typical LSB dithering added by windows) and as resistant to breakup as I've ever heard it. Dumsfeld would apparently rather throw himself down a well than do this but there's something to be said for a solution that costs $1 lol
Go to the top of the page
+Quote Post
mudlord
post Dec 17 2012, 14:21
Post #14





Group: Developer (Donating)
Posts: 805
Joined: 1-December 07
Member No.: 49165



QUOTE (Joe Bloggs @ Dec 16 2012, 01:17) *
How...?


Write a DLL that hooks dsound interfaces.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 25th July 2014 - 01:26