Bug Report OBS Clipping Audio at -6db

julesgilson

New Member
Pretty new to OBS - was using other tools before.

I have noticed that audio clips at -6db if recorded with OBS. The exact same mic etc etc does not clip if recorded with Premiere Pro (or Audacity).

An image of the waveforms is below and show OBS recording on top, and Premiere recording underneath. I just used loud sounds to demonstrate - but it sometimes doesn't clip (left most waveform, clips at the beginning then raises, weird!). You can see the clipping by the fact the peak of the waveform is flat for the duration of the sound.

That cutoff point is at -6db, whereas the Premiere recording goes to 0.

(These are not the same clips - hence the difference, but both have been forced to over saturate)

Is there a reason for that an preferably a fix?

Clipboard01.jpg
 

Suslik V

Active Member
Is some enhancements enabled by Windows Recording devices (Playback devices as well), Properties, Enhancements or Levels tabs? If yes, try to disable all enhancements. Are you using same encoder (AAC) to compare the output?
 

julesgilson

New Member
There are no enhancements to any audio device - no boost gain. All settings are default on Windows config.

The Premiere recorded audio clips are .wav - didn't really notice what codec - but I can't see how that matters (it might effect the comparison but...) the issue is that OBS is clipping audio way below levels it should.
 

Suslik V

Active Member
Try to record in Simple mode (Settings>Output). Recording Quality: Lossless Quality. It uses lossless audio codec.

The view mode of the editor probably represent frequencies and its strength. It's not volume of the sound. The AAC (default encoder and only supported by streaming option) is encoding with loss of data. So, some high frequency sound masked by other sound can be removed by encoder from the encoding. Similar to how is MP3 works.

You can try to increase bitrate of the encoding audio up to 320kbit/s or so (but I don't think you can notice the changes by ear).
 

julesgilson

New Member
hmm. The waveforms represent the amplitude of the sound wave - so is very much "volume". A high frequency sound and a low frequency sound at the same amplitude are represented equally on this type of waveform.

I will try OBS with a different (lossless) encoder.
 

julesgilson

New Member
the waveform I showed is not a frequency plot. Maybe the general use of the term waveform (pretty common in video editing!) is not 100% accurate.

Anyway, that's not really the point.

I tried with a few different encoders - they all clip at either -3 or -6dB unless you swamp the microphone.

Below is the waveform (dB) from Audacity - you can see it clip at -3dB here. (lossless codec)

Have a try yourself and see if you can replicate. Just record a mic source and make a loud consistent humming noise. If you open it in Audacity (or anythign else) and view the dB waveform you will see it peaks at either -3dB or -6dB, unless the microphone is completely swamped - then you can get it to peak at 0.

The problem is that it clips vocal audio - constantly.

Clipboard01.jpg
 

Suslik V

Active Member
Either you have build-in limiter (maybe compressor) or you doing something wrong. I can clip my mic in OBS Studio with AAC default encoder (even possible if I disable microphone boost +30dB at Windows Recording devices, Properties, Levels - but without this boost to my equipment, I need to speak directly to mic and much louder or blow up to make it clip the sound).

To highlight the clipping in Audacity (v2.1.3 + ffmpeg-20131004-git-e1f8184-win32-shared libraries to import audio) go to main menu View>Show Clipping. Also, I recommend to use Edit>Preferences>Interface>Meter dB range: -96db setting for the application.

If your mic has low sensitivity and you lack proper hardware - adjust volume by digital filter Gain in OBS Studio.
Just in case, OBS Studio Help Guide: https://obsproject.com/forum/resour...ware-studio-multiplatform-help-guide-pdf.365/

And Please post a log with your issue! Here's how...

The Audacity (v2.1.3) has "Spectrogram" view mode (defaults to 8000Hz upper limit). You can switch to this mode by main menu setting Edit>Preferences>Tracks>Default View Mode: Spectrogram ; the upper limit you can adjust to 24000Hz at Edit>Preferences>Tracks>Spectrograms>Maximum Frequency (Hz): 24000. Then just re-open your track.
 

julesgilson

New Member
Yeah, i think we are misunderstanding each other.

It's not hardware or a question of achieving clipping.

The microphone or audio interface used makes no difference - nothing does. OBS clips at a level lower than 0.

Unless someone understands what I mean I think I will just move on and use something else.
 
  • Like
Reactions: axd

Suslik V

Active Member
We don't. I say to you again: there is no sound clipping produced by OBS Studio itself. Review your setup.
 

Nish

New Member
I'm getting the same thing. The easiest way I can think to explain it is if I were to open OBS and any other program that can record audio and proceed to record me talking - the waveform's peaks in the OBS recording will always be 3-5db lower than the other program (adobe audition, reaper, audacity).

In this screenshot the top waveform was recorded in adobe audition and the bottom is the audio recorded with OBS:

dUCwP1v.png
 

sam686

Member
This looks like there is a problem or bug in OBS-Studio's upmixing and downmixing between 2 channel stereo and 1 channel mono. Other programs like Audacity's sound recorder works fine.

My cheap USB microphone to 3.5mm is affected (quieter), it only supports 1 channel (mono) microphone input.
My on-board microphone port is not affected, as it only have 2 channel (stereo) input. The use of USB is because of my on-board sound (Realtek HD audio) can only capture a maximum of 2 stereo inputs (front line in + back line in, or a line in + mic in).

VB-Audio virtual cable (software only, no hardware) is affected in OBS-Studio if number of channels don't match.
Control panel, Recording, Properties, Advanced, 1 or 2 channel. CABLE output have option for both.
Control panel, playback, Configure, mono (1 channel) or stereo (2 channels). CABLE input have both.
Control panel, playback, Properties, Advanced.
For best quality, match Hz for both playback and recordings on both cable input and output.

Interestingly, OBS-Studio Settings, Audio, Channels, changing this to Mono then restart OBS-Studio. Mono mode fixes the mono microphone to allow full volume. BUT, now stereo inputs are now too loud in OBS-Studio. I have to turn it down to about 70% on all stereo inputs. The stream/record would only be in mono, until it was changed back to stereo.
 

Suslik V

Active Member
Audacity by default recording using MME and this recording is float 32bit 44100Hz (for example). Users in this thread compare OBS Studio's AAC tracks (usually 160kbit 44100Hz 16bit) to uncompressed raw of the Audacity. If you compare lossless OBS Studio track from the Simple recording mode - then there is no any level drop. OBS Studio's internal audio processing is 32bit float too.

If you compare OBS Studio's AAC (imported to Audacity) to lossless Audacity self recordings - then you can notice insignificant level drop (about few dB) in AAC tracks. I think, users in this thread complaining about this drop.

@sam686 two speakers is louder then one, by the way.
 

sam686

Member
Workaround found: I just found that you could just click on the audio toolbar menu next to volume control, filters, add "gain", use 3 dB or maybe higher.

If you compare OBS Studio's AAC (imported to Audacity) to lossless Audacity self recordings - then you can notice insignificant level drop (about few dB) in AAC tracks. I think, users in this thread complaining about this drop.
Re-tested with OBS-studio custom ffmpeg output, AVI using audio: pcm_f32le. Same problem, nothing to with AAC encoder.

With OBS-studio using stereo mode, the green bar on the Mixer for mono microphone and other mono, 1 channel inputs doesn't go all the way to full bar, until a filter "gain" is added with +3 db.

Nearly all analog audio input device like to clip the audio to fit to a full range of 16 bit integer. But then, OBS-Studio or somewhere is making 1 channel mono inputs quieter. This makes it appear it was clipped well before the full range is reached. OBS-Studio is not allowing an easy full volume on mono inputs like USB microphone, until a filter "gain" is added.
 
Last edited:

Suslik V

Active Member
With OBS-studio using stereo mode, the green bar on the Mixer for mono microphone and other mono, 1 channel inputs doesn't go all the way to full bar, until a filter "gain" is added with +3 db.
If mic hard limited - nothing to show as clipping (red level bar in OBS Studio).
If OBS Studio doesn't show clipping then in Audacity (its self recording) that is running simultaneously, there is no clipping too.

Again, Stereo is 2 speakers or 2 sources of power (air pressure that changes in time). Mono is 1 speaker or 1 source of the power. If you mixing 2 power sources into 1 you should expect that it can be overloaded. The reverse mixing (1 into 2) possible in different ways (const power or not).
 

Nish

New Member
@Suslik V

I'm trying to understand what you're saying here, is it that mono input will not be able to reach full levels while stereo input will? I guess the only reason this is an issue is because OBS is the only software that seems to treat levels like this. If I record with stereo or mono in other programs the levels are the exact same, maybe they're doing some fancy stuff to the signal that OBS doesn't do?
 

Suslik V

Active Member
@Nish You should try to record Simple - "Lossless" mode (.avi file) first. If you do not like OBS Studio default encoders - you can use other stuff that can do the same things.
 

Alucard

Member
Is there any solution for this, especially for USB audio mic users?! When you google it there is a huge MS thread and people complaining that especially with a USB mic the sound is to quiet. A workaround woul be to use 'gain' filter but this ends up with clipping because whenever you set the mic vol in windows to max it clips like crazy.
 

sam686

Member
Is there any solution for this, especially for USB audio mic users?! ... A workaround woul be to use 'gain' filter but this ends up with clipping because whenever you set the mic vol in windows to max it clips like crazy.
1. For OBS-studio mono inputs, use gain filter (+3 db) in OBS-Studio to reach full range.
2. Use windows control panel, sound, recording, levels, reduce microphone level to reduce or avoid clipping that causes distortion. This volume adjustment is at the hardware side and can continue to reach full range of input. Don't set microphone level in windows sound settings to max if max will clip and cause sound distortion.

Max microphone level in windows sound settings is like trying to record too loud and then reduce volume, it will not un-clip and not remove distortion. It is better to record/capture correctly with quieter hardware level and then use some filters to improve audio. Most analog hardware use a limited 16 bit integer or 24 bit integer that cannot go beyond the range of full volume at all, so the hardware have no choice but to clip it off.
 
Top