Please allow for mono recording of Microphones - I'll explain why...

pkv

Developer
@Suslik V rematrix filter is post resampler so it will still get the -3 dB
@DrWolfsherz the PR does not allow recording of mono tracks alongside stereo tracks. But it solves the level issue. In order to test you have to either compile obs or ping me on obs discord server (@pkv) and I'll provide you a test build.
 

DeMoN

Member
I cannot imagine that your interface cannot do stereo while it has 2 inputs... Is this USB device? Is there any options in Windows Recording devices>Properties>Advanced tab?
It is stereo, but with just one mic connected and not 2. The interfaces have 2 inputs.
So what you get is a stereo with just one channel filled with audio.
The solution is to just remove the 2nd empty channel and keeping just the filled channel instead of mixing both together to mono (which results into the 50% volume then.
 

callybug

New Member
Hi guys, first post because I've had the same problem. This here's my solution.

First of all, make sure "Downmix to mono" is off!

Download the ReaPlugs VST pack (from REAPER's site). Their ReaJS VST has a utility built in called "channelmixer". Turn "L->L Mix" and "L->R Mix" up to 0dB, then "R->R Mix" and "R->L Mix" to -120dB.
2020-12-17 16_38_05-Filters for 'raw mic i'.png


You now have your full level, with no +6dB compensation! The ReaPlugs pack's very useful for OBS generally 'cause they're super lightweight.
 

lizardpeter

New Member
That is a nice plugin, indeed. But it does not help the issue, that the recording is still in Stereo.
What I and others with professional mics severely need is the option to record the game in stereo, and the mic in mono. Everything you do with filters (also the rematrix filter) is applied to the recording AFTERWARDS and at that point the damage is already done, because recording a mono mic in stero results in volume reduction. Putting gain on it AFTERWARDS or mixing it back to stereo damages the audio quality.

Setting OBS to record mono for all sources (Settings > Audio) is problematic for games where you need Stereo for the localisation of enemies for example. You can not use rematrix to mix the audio from game back to stereo as there is only one channel recorded after all.

To conclude: I suggest adding the possibility to set recording mode for several sources. Not mixing them afterwards but how to record them in first place. The OBS wide setting in Settings > Audio is a clue on how this can be achieved. Just add a second setting there for example.
I completely agree with your suggestion. Instead of mixing a mono microphone to stereo in the final output, we need a way to have the output file contain an audio track with stereo for a game, for example, but then in mono for the microphone.
 

AaronD

Active Member
It's been a while since I heard last, but my understanding then was that the devs are essentially frozen on audio stuff at the moment because it's such a mess under the hood that it's not really maintainable anymore. Band-aids on top of band-aids on top of quick-fixes on top of......all the way back to an original good design for a much more limited purpose than what it serves now.

The engineering world calls that "technical debt", and it does need to be cleaned up every once in a while, which is one of several reasons behind major big-deal releases that break compatibility.

So the goal now is not to fix what's there, but to scrap and rewrite it in a way that fixes a number of fundamental issues (*) and allows more flexibility, but without doing too much.

(*Neverending buffer expansion on the Monitor, for a different example than what this thread is about, with associated de-sync, because some sound cards have their own asynchronous clock. Presently, that async causes xruns, which triggers yet another expansion...and another...and another...ad infinitum.)

"OBS must not be a DAW!" And I completely agree with that! There are plenty of DAW's already, and they're far more complex on their own than the team even wants to think about tackling. So if you need that functionality, you need to pick one of those, or a physical console, and use it instead. Connect it to OBS as one or more "dumb wire" passthroughs, and do ALL of your audio work in the DAW or console.

For simple rigs, OBS *can* be enough, without an external tool. But it's a continuous playing field, and you have to draw the line somewhere. Some people will be just barely on the wrong side of that line, no matter where it is. So part of the discussion is where to draw that line.

Is that about right?
 

lizardpeter

New Member
It's been a while since I heard last, but my understanding then was that the devs are essentially frozen on audio stuff at the moment because it's such a mess under the hood that it's not really maintainable anymore. Band-aids on top of band-aids on top of quick-fixes on top of......all the way back to an original good design for a much more limited purpose than what it serves now.

The engineering world calls that "technical debt", and it does need to be cleaned up every once in a while, which is one of several reasons behind major big-deal releases that break compatibility.

So the goal now is not to fix what's there, but to scrap and rewrite it in a way that fixes a number of fundamental issues (*) and allows more flexibility, but without doing too much.

(*Neverending buffer expansion on the Monitor, for a different example than what this thread is about, with associated de-sync, because some sound cards have their own asynchronous clock. Presently, that async causes xruns, which triggers yet another expansion...and another...and another...ad infinitum.)

"OBS must not be a DAW!" And I completely agree with that! There are plenty of DAW's already, and they're far more complex on their own than the team even wants to think about tackling. So if you need that functionality, you need to pick one of those, or a physical console, and use it instead. Connect it to OBS as one or more "dumb wire" passthroughs, and do ALL of your audio work in the DAW or console.

For simple rigs, OBS *can* be enough, without an external tool. But it's a continuous playing field, and you have to draw the line somewhere. Some people will be just barely on the wrong side of that line, no matter where it is. So part of the discussion is where to draw that line.

Is that about right?

That makes sense. The audio section really does seem like a huge mess. At least they were able to add 32 bit audio support fairly recently. But, for example, the mono options appear to be redundant or useless. When you go to each audio device, there's an option to "enable downmixing." When you go to advanced audio settings, there's an option to enable "mono." This checkbox doesn't seem to do anything for me. And, as the OP mentioned, even setting these up properly still results in the output being stereo since all output is in stereo. They need to allow us to define if each individual audio track should be mono or stereo. This should also lead to smaller file sizes because it is currently writing two channels when only one is needed (and desired).
 

AaronD

Active Member
When you go to advanced audio settings, there's an option to enable "mono." This checkbox doesn't seem to do anything for me. And, as the OP mentioned, even setting these up properly still results in the output being stereo since all output is in stereo. They need to allow us to define if each individual audio track should be mono or stereo. This should also lead to smaller file sizes because it is currently writing two channels when only one is needed (and desired).
You can't change the channel count mid-encoding. If you need stereo content *at all*, then the entire stream or file needs to be stereo. If a section only needs centered mono, then you put the same thing on both channels.

It's not as bad as it may seem at first. Most encoders convert stereo into a sum and difference instead (also called mid+side), and then encode *that*. That's because stereo content is often very similar between channels, and so the difference is fairly small. Thus, it allocates most of the quality or bitrate to the sum, and not nearly as much to the difference.

A variable-rate stereo encoder, given centered mono, may not use any bits at all for the difference signal, except for an occasional reminder that it's there and doing nothing. So it's hardly any different from true mono.
 

lizardpeter

New Member
You can't change the channel count mid-encoding. If you need stereo content *at all*, then the entire stream or file needs to be stereo. If a section only needs centered mono, then you put the same thing on both channels.

It's not as bad as it may seem at first. Most encoders convert stereo into a sum and difference instead (also called mid+side), and then encode *that*. That's because stereo content is often very similar between channels, and so the difference is fairly small. Thus, it allocates most of the quality or bitrate to the sum, and not nearly as much to the difference.

A variable-rate stereo encoder, given centered mono, may not use any bits at all for the difference signal, except for an occasional reminder that it's there and doing nothing. So it's hardly any different from true mono.

Wow, good to know. Thanks for the information. Is that always the case? There's no container that allows one track to be stereo and another to be mono?
 

AaronD

Active Member
Is that always the case?
Of course if it's *completely* uncompressed - like WAV for the most common example, and it does this - then you'll likely get each channel recorded separately, as-is. But even FLAC, which is lossless, does the mid+side conversion before compressing.

There's no container that allows one track to be stereo and another to be mono?
*That*, I don't know. I can see arguments either way. But given how centered mono is encoded on a stereo track, I'd say it hardly matters.
 
"OBS must not be a DAW!" And I completely agree with that! There are plenty of DAW's already, and they're far more complex on their own than the team even wants to think about tackling. So if you need that functionality, you need to pick one of those, or a physical console, and use it instead. Connect it to OBS as one or more "dumb wire" passthroughs, and do ALL of your audio work in the DAW or console.
I know this is not the first (or last) time this is likely to come up, but "OBS is not a DAW" irks me every time. The primary purpose of a DAW is post-production editing work, not live mixing work, and by and large, no one is asking for DAW-like features in OBS. People are asking for basic mixer features. If we think of OBS as, well, broadcasting software, the closest thing to that in a non-software world would be a live video production studio. Your local news studio, for example. Video is nothing without audio, and so they need some way to bring in mics, music, etc and mix it. In such a studio, you would expect to find something like this, but fancier and far more expensive: https://www.sweetwater.com/store/de...-5-mic-preamps-and-optional-battery-operation. I chose this one because it is cheap and gets the point across that even basic, cheap mixers have more functionality that OBS.

On this mixer, you can see that each channel has a fader and pan/balance knobs, like in OBS. On most mixers, you would also expect a mute button, again like in OBS. Notice that unlike OBS, none of the channels have level meters; there is instead a single output meter, which is far more useful as it really doesn't matter what the individual levels are, only that the main output level is not clipping. There is also a 3-band EQ, which OBS has, and a monitor knob that allows the engineer to send a completely separate level to a separate monitor output, yet another feature OBS is still lacking (you can send to a monitor output but you can't adjust the level). On a nicer mixer, you might expect to see additional sends and returns that can be used not only to route FX but also to sidechain one channel into another, a feature which is only possible with OBS's included compressor.

These are not DAW features, these are basic analog mixer features. They have been on mixers for decades. These are the features people are asking for, not for the ability to non-destructively splice their audio (which is primarily what a DAW is good for). Just really basic things like monitoring the output level (and, ideally, putting a limiter on that instead of individual tracks), control over a monitor mix, and maybe a way to use sidechaining with our VSTs. And as per this thread, the ability to do things like what XSplit does and choose if you want to treat a stereo source as mono by downmixing (which OBS has) or by copying one channel to the other (which OBS cannot do) rather than having to apply makeup gain to compensate.
 

AaronD

Active Member
The primary purpose of a DAW is post-production editing work, not live mixing work...

...These are not DAW features, these are basic analog mixer features. They have been on mixers for decades. These are the features people are asking for, not for the ability to non-destructively splice their audio (which is primarily what a DAW is good for). Just really basic things...
The heart of a DAW is the mixing console. Same as for an analog studio. That is where most of the "magic" happens, and it's always done live in the moment, even with prerecorded material. The core requirements that put DAW-like features out of reach of OBS are not the ancillary functions around that console or analog-mixer-equivalent, but critical key parts of the console itself.

So yes, people *are* asking for DAW features, despite them being basic to mixing in the first place. Get all of that right, and you already have a DAW, and stepped well past the line that the devs are unwilling to cross. For good reason, because getting all of that right is *amazingly* complex and I don't think they have an audio guy at all at the moment.
 

AaronD

Active Member
Your local news studio, for example. Video is nothing without audio, and so they need some way to bring in mics, music, etc and mix it. In such a studio, you would expect to find something like this, but fancier and far more expensive: https://www.sweetwater.com/store/de...-5-mic-preamps-and-optional-battery-operation. I chose this one because it is cheap and gets the point across that even basic, cheap mixers have more functionality that OBS.

On this mixer, you can see...
In professional work, video and audio are handled completely separately and independently. The video gear is silent, and the audio gear is blind. Often in different rooms even, with only a monitor from the other that the local team doesn't control. Only at the last moment are the two streams combined and sent out.

OBS is the video part. If you're doing much more than a casual bedroom stream, you need something else to do the audio - *that's* where the audio mixer that you mentioned comes in, for a very basic example - and leave OBS silent except for the final, finished soundtrack to pass through completely unchanged.

Have a look at *video* mixers. See which of them have audio at all, what market they're aimed at, and what audio functions they actually have.
 
I have looked at video mixers. Studied them for my degree, even, I've worked with a few of them. I understand that they are separate devices. However, I do not agree that asking for mixer features is asking for a DAW. Having a mixer is only a small part of a DAW. Even Windows has a mixer because really anything that handles audio needs to have one. You may not have seen DAWs in the early days, but initially, all they really did was replace tape. They provided a digital way to record, but you generally still routed everything out to a hardware mixer. After many years, they now have incredibly advanced mixing, routing, etc, but in the beginning, that was barely even a consideration.

The fact of the matter is that OBS has a mixer. If it is going to have one--which it should as it is not only for broadcasting but also encoding and you need to encode the audio, too--then it should have at least some basic mixer features. Either that or someone should write a companion utility that handles all the audio but still allows you to feed it into OBS to encode each track into the video file like OBS does now and then OBS should remove the mixer entirely.
 
Top