Skip to main content

Topic: Filtering all system sounds on a PC (Read 3662 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Joe Bloggs
  • [*][*][*][*]
Filtering all system sounds on a PC
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?

Filtering all system sounds on a PC
Reply #1
...filter system sounds...

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

  • slks
  • [*][*][*][*]
Filtering all system sounds on a PC
Reply #2
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.

  • 2Bdecided
  • [*][*][*][*][*]
  • Developer
Filtering all system sounds on a PC
Reply #3
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.

  • Joe Bloggs
  • [*][*][*][*]
Filtering all system sounds on a PC
Reply #4
...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.

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.

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 

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.

Filtering all system sounds on a PC
Reply #5
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.

  • Joe Bloggs
  • [*][*][*][*]
Filtering all system sounds on a PC
Reply #6
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?

Filtering all system sounds on a PC
Reply #7
Quote
Is this similar to what you propose I do .....


I'd rather throw myself down a well.

  • Destroid
  • [*][*][*][*][*]
Filtering all system sounds on a PC
Reply #8
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?"

  • Joe Bloggs
  • [*][*][*][*]
Filtering all system sounds on a PC
Reply #9
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?

  • mudlord
  • [*][*][*][*][*]
  • Developer (Donating)
Filtering all system sounds on a PC
Reply #10
or hook dsound.dll for games/whatever.

  • Joe Bloggs
  • [*][*][*][*]
Filtering all system sounds on a PC
Reply #11
How...?

  • Joe Bloggs
  • [*][*][*][*]
Filtering all system sounds on a PC
Reply #12
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

  • mudlord
  • [*][*][*][*][*]
  • Developer (Donating)
Filtering all system sounds on a PC
Reply #13
How...?


Write a DLL that hooks dsound interfaces.