Multiple Audio Inputs

Pawkette

New Member
Something I'd really like to see would be more audio input sources and support for ducking. Similar to how you can select an input device and a master sound device it would be great to support more and allow you to mute or lower the volume on some sources when others are playing sound.

Use case would be:

I have two sound cards, one for speakers and a second for a headset (voip) and I'd like to combine those sources into the stream and duck the speaker sound when voip is active without effecting what I hear.

I have a bit of C++ experience so I might have a poke around and see if I can set this up, or if it's even doable.
 

dodgepong

Administrator
Community Helper
By "ducking", you mean automatic attenuation of sounds on stream except for the mic?
 

Pawkette

New Member
Yes, but applied in a way that is configurable to the user. As in, I want to lower the volume on Source 1 when Source 2 has sound. However, I want to lower the volume on both Source 1 and Source 2 when I speak (Source 3). If that makes sense?
 

dodgepong

Administrator
Community Helper
Would you want that lowering to happen to what you hear AND the stream? Or just the stream?

I know Mumble has some neat attenuation options where everything except Mumble lowers in volume when people speak, though it doesn't lower when you speak.
 

Pawkette

New Member
This would only impact the audio being encoded with the stream. As in, I could combine multiple sound sources into my stream and then set up a system where certain sources would receive priority over others if multiple sources were playing at the same time.
 

dodgepong

Administrator
Community Helper
More than 2 audio sources is something that is planned, but I don't know how soon it might be worked on. As for the "ducking" you're describing, it sounds like a neat feature but chances are it will have to be coded by someone besides Jim.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
A long since suggested plan. Another guy in another forum was lamenting over the lack of deinterlacing as well. There are tons of these things that I need to get in that just keep getting delayed. Fortunately more programmers have been coming along and helping implement lacking features, like palana who implemented quicksync recently, so I've been having some help, but other than the occasional feature or two it's usually on my shoulders to get all these things in and I haven't had enough time to fully dedicate to it lately
 
I'd love to add my +1 for some sort of ducking options. The more (options) the better, IMO!

What I would like personally, and what I think would be easiest to start off with, is to simply lower the system volume when speaking with a voice bind. Say... lower it by 80% or so. (Configurable?) And then preferable have it fade back to normal volume after a short duration (configurable?).

Having the system volume lowered let's you, the speaker, hear yourself more clearly. And since the sound output would be lower, then the sound going to the stream would be more quiet as well. A feature that would only lower the volume on the "recorded end" on OBS could be cool, but I'm someone who wants to know something is working each time it's used. It helps manage music/voice comm volume when talking over stuff.

I'm not sure how this would work with a completely open mic setting, but I'm just someone so very used to push-to-talk.
Maybe this would be better as a plugin, but I'd REALLY love some sound ducking action in OBS. Ventrilo has a Ducking option, but since windows 8, it's very buggy, and Vent never gets updated any more.
 

FerretBomb

Active Member
Well, we already have the automatic mic noise gate. Adding in an 'attenuate system volume while speaking' option to that could hook and attenuate the system volume at the same time as the noise gate opens, and fade system up again when the noise gate closes.
Would probably have to talk to the noise gate plugin maintainer for that (if it's someone other than Jim) assuming the Plugin API has access to the volume levels.

The three-source one would require considerably more work, I'd assume (essentially requiring another 'channel' to be added to OBS beyond Mic and System) and for a second instance of the Mic Noise Gate plugin to run... with some way to set what takes priority over what.

Some kind of 'stack' system might work, with System <- Input 2 <- Input 3 <- Mic (assuming two intermediary inputs) and all of them running Noise Gate. So Input 2 would only attentuate the System, 3 would attenuate 2 and system, and Mic would attenuate them all. If multiple were running at once though, System might end up next to silent if 2 and 3 were running, and the mic was being spoken into.

Just spitballing. But if the Mic Noise Gate plugin (or plugins in general) can control the System/Mic volume channels, it'd seem that adding a hook on gate-open to drop System by a set amount, then fade back up by the same amount via a hook on gate-close.

Or just return-to-normal actually, to avoid a race condition if you started speaking again during the fade-up which would end up with System being left quieter than it started. Though that could cause issues if you changed the volume while speaking... yadda yadda yadda, add an 'attenuate by' variable to main OBS' volume channels so the user-set volume and attenuated value are controlled separately, allowing changing volume while speaking too, assuming the attenuate-on-gate was added by the noise gate plugin maintainer.
 

Sleepwalker

New Member
I really would love this to come soon. :)

As you set up different sources in each scene, it should only take the sound from that source. This way you could hide your music program or voip program from the stream and still have the sound. Also, you could talk in a voip program and the stream would never hear it.

I'm not a big streamer, but this is one thing that has bugged me. Else... This program is the best streaming program I have tried. Doesn't take much power from the computer you are running it on.

The only thing that would make it use less CPU/GPU is to have a option to not show what's streaming on in the program. :)

Thanks for a great program, and keep up the good work.
 

paibox

heros in an halfshel
Ability to mute specific applications is most likely not going to get in there, because as far as I can tell, the individual sound streams for applications are only accessible at driver level, which OBS will never be running at. Virtual Audio Cable is what you want to look into for things like that.

The stream preview uses next to no CPU or GPU, so you don't really have to worry about that, but you can already turn it off by right clicking it and unchecking the "Enable View" option, as this was requested for some reason at some point.
 

BullHorn7

Member
I do the same thing. Dobly Digital for my game/music and Astro MixAmp for VoIP.

Right now I have to use Virtual Audio Cable software with a weird set up to send both DDS and the Astro signal into the same channel and that's how I record in OBS.

Would be great if it was a feature in OBS though..
 

Psyrixx

New Member
I would love at least a third audio device selector as I also have an Astro headset (A50).

Astros are wonderful because they create a sort of virtual mixer device: you can select the headset speakers independently of the computer speaker device. The headset then allows you to "mix" the game audio and voice audio on the headset itself so that you can make one or the other louder/softer.

My setup for example:
Speakers (eClaro)
Headset Earphone (Astro A50)
Headset Microphone (Astro A50)

In mumble, I have the input device set to Headset Microphone and I have the output device set to Headset Speakers. When friends are talking to me their voices are routed directly to the headset and do not come through the computer speakers. This results in crystal clear vocals from my friends. Also - the headset plays the computer audio as well, but in a virtualized 7.1 setting and keeps these channels separate... so if I want to make my friends louder I can tap on a rocker on the ear cup and the voices of my friends get louder while the sounds of the game get softer.

This is an awesome feature for the headphones, the ability to have three channels for communications. Unfortunately in OBS I can only select two of the channels!

What would be ideal would be a selection dialog as follows:

Desktop Audio Device 1: Speakers (eClaro)
Desktop Audio Device 2: Headset Earphone (Astro A50)
Microphone / AUX Device: Headset Microphone (Astro A50)

The Astro headphones do not mix the two sources together... it mirrors the Speakers channel from the computer into one channel and has an actual device for the Headset Earphone as the other channel so there's no option to just select "headset sound". The headset device is purely for voice chat even though the earphones play both audio streams.

Perhaps provide up to 3 device drop downs for "desktop audio device" and "microphone/AUX device"? That should cover the majority of users of this software, I'd imagine.

In my case, this would be the Audio Settings screen if this were to be implemented. Personally, I only need the three slots, but suggest six because I have no idea how many audio inputs others would want/need. Just mix them all into the existing Desktop / Microphone streams in OBS and I think it'll tide anyone who looks forward to this feature over. Quick fix for now, more involved fix in the future if needed.

Desktop Audio Device 1: Speakers
Desktop Audio Device 2: Headset Earphone
Desktop Audio Device 3: Disabled / None
Microphone/AUX Device 1: Headset Microphone
Microphone/AUX Device 2: Disabled / None
Microphone/AUX Device 3: Disabled / None


And I have tried using the DirectShow Sound plug-in but as stated in the first post, using 'speaker' devices doesn't work yet and that's exactly what I'm trying to accomplish: two 'speaker' devices and one 'microphone' device.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Yep, I will make this possible (along with many other things semi-related). Still some time before this will be in however.
 

ShortnStubby

New Member
Just going to bring this subject alive again, was wondering if this is still planed for future updates like a 2nd desktop audio device. Thanks
 

Boildown

Active Member
ShortnStubby said:
Just going to bring this subject alive again, was wondering if this is still planed for future updates like a 2nd desktop audio device. Thanks

You can usually find out what they're working on from this thread: viewtopic.php?f=7&t=20

Right now it looks like the refactor is the only priority. Which means short term very few new features added, long term better chance for more things added.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Once the refactor reaches actual completion (and has had a lot of testing) I will finally have so much free time again. I'm so sorry that I keep saying "don't worry it's coming!" and then it's like months later. This refactor was just so important, I'm trying to fix fundamental code flaws/issues, as well as allow multi-platform support. It sucks, but it just had to be done otherwise we would have been stuck with the current codebase.
 

HitmanJustin

New Member
This is something ive been looking for too, Not being able to run my VOIP over the stream sometimes stinks because it sounds like im talking to myself, having almost no luck with Virtual Audio Cable and also purchasing Virtual Audio Streaming ($40) ive had so many issues with both, with hearing double sounds, or not getting my 2nd input at all. Having the option to select multiple audio inputs in OBS would get me donating, mainly because it would save me money buying other programs that fall short on what I want them to do.
 

Flaxe

New Member
I just want to say that I want this feature so much! To have 2 or more desktop audio devices, it would make it so much better for me.
I understand this is not a high-priority feature and therefore it will take some time for it to be added, but all I want to say is that I also request this feature :)

Edit: Please excuse me if this is counted as a bump. :)
 
Top