FLStudio Levels Issue

I’m having a weird issue with FLStudio (on Windows). I was working through some of the tutorials, and made the sine wave synth as a VST3 plugin.

Short story - I’m getting an additional +3dB gain in FLStudio that I’m not in Reaper or Ableton. Anyone know why?

After tesing my plugin in the Juce AudioPluginHost, I tried it in FLStudio but the levels were wrong. I inserted debug outputs into my code and returned to the AudioPluginHost to check my values - at 0dB the gain multiplier was x1 as expected, at +6dB the gain multipler was x1.9958 (close enough and probably from juce::Decibels::DeciblestoGain rounding or something) and so on. I started to output the peak values of the samples as I changed the gain and they all matched that expected.

So, I tested in Ableton and the levels were as expected. I downloaded the evaluation version of Reaper, spent ten minutes figuring out to work it, and the levels were as expected.

I’ve checked that the ‘hidden’ plugin volume control in FLStudio (the detailed setting cog exposes this) is at +0dB, the mixer channel is at +0dB, and the master channel is at +0dB. I’ve not tried exporting from all three DAWs to see if they’re actually the same volume though… maybe the problem is labelling? Or does the FLStudio levels actually measure something else (I’m new and still getting my head around all the different ways to measure volume).

I’ve tried googling and searching these forums but can’t find an answer. Is there another-another hidden volume control I’m missing, or is this just FLStudio being weird?

might just be the master limiter that is enabled by default in every new FL studio project

Double-checked before I replied, but I was using a blank project and the levels are +3dB on the mixer channel before the master as well. I put a fruity balance plugin in the mixer channel, it reads the same +3dB. It’s +3dB all the way down, -18dB reads as -15dB, -36dB reads as -33dB.

Experiement 1
I put a third party plugin in the signal chain in FLStudio, they also read the wrong gain. I used my plugin and the same third party plugin in Ableton, it reads the right gain.

Experiment 2
I set my plugin to -18dB in FLStudio, it read as -15dB. I exported a few seconds of the sine wave. I imported the wav file into FLStudio, it read as -15dB. I imported the same wav file into Ableton, it also read as -15dB.

This makes me think the mixer/master levels in FLStudio are correct. I also think that my plugin’s level is correct - it reads correct in Ableton/Repear and the debug outputs from my plugin look correct. Therefore, I’m gaining +3dB between the output of my plugin and the FLStudio mixer insert.

The most logical place for this discrepancy is the ‘hidden’ channel volume in the FLStudio plugin wrapper. By default it is set to -5.2dB. Initially when I encountered problems I was under by ~-2dB rather than over by +3dB and I went rooting through the settings and adjusted this to +0dB. Maybe, it should be at -3dB instead? -shrug-

I did have a thought - the RMS of a sine wave is ~70.7% that of the peak, and a -3dB decrease is an decrease to ~70.7% (but that’s voltage so I’m not sure how transferable that is too audio, I’m new and don’t understand it all yet). I did wonder whether this is just peak vs RMS meters, but why would my export from FLStudio to Ableton have the wrong level in Ableton when the plugin on it’s own in Ableton had the right meters.

I did an experiment to double-triple-check and created a triangle wave synth, similar to the sine one as triangle waves have an RMS of ~0.58% peak - and I still had +3dB in FLStudio and correct in Ableton.

I’m not sure how much more of my time I want to spend on this as a beginner. Might just note it down as a curiosity and move on.

RMS is calculated differently by different DAWs and tools sometimes. I ran into this when first implementing my RMS algorithm. I don’t even recall the reason off-hand but 3dB sounds familiar as the delta. For one there isn’t a single definitive RMS window length and you also need to integrate the channels either by averaging or by some LUFS style weighting.

Sorry I don’t have good specifics I’m on my phone away from code :slight_smile:

It can also be a different default pan law setting

1 Like

Thanks both - I’ve not touched panning yet, and am probably nowhere near understanding LUFS. For the moment, I’m happy that it’s not something I’ve done wrong with what I’ve learnt so far. But I’ll definitely be returning to this once I’ve learned each of those topics.