Gain staging / bit resolution

@brad:

a technical question: what internal bit resolution is Cantabile working with? 24 bit integer of 32 bit float?

For me it is relevant for my gain staging: if all connections and gain sliders work at 32 bit float, there shouldnā€™t be problems with either clipping or leaving headroom before the final output. This means that I can

  • on on side leave ample headroom in my individual racks without losing bit resolution and simply adjust the overall output level before D/A conversion
  • on the other hand increase an audio inputā€™s gain to a very hot level in order to drive a guitar amp plugin really hard without risking digital clipping (unless the amp itself is working at 24 bits fixed internal resolution)

if, OTOH, somewhere in Cantabileā€™s routing, the signal path or processing were 24 bit fixed, Iā€™d have to watch gain staging at every step in my setup (of course, I still need to do look at levels so that my plugins perform within reasonable parameters - thatā€™s clear!)

So: is there a 24 bit fixed risk somewhere in Cantabileā€™s signal path?

Thanx

Torsten

Hi Torsten,

Cantabileā€™s signal path is either 32-bit float or 64-bit audio if you enable it in Options ā†’ Audio Engine.

Besides gain controls and mixing, the follow sample manipulations take place:

  • Conversion to sound card format - the very last thing and converts to the (often integer) format as required by the sound driver.
  • Conversion from sound card input - opposite of the above.
  • Using a 32-bit only plugin when 64-bit audio is enabled - the inputs to the plugin are narrowed to 32-bit and the outputs are widened to 64-bit.
  • Sample rate conversion (audio file or metronome sound at different sample rate to engine setting)
  • Audio file playback - format conversion from on-disk format to audio engine format.
  • Audio recording - format conversion from engine format to format selected for recordings (Options ā†’ Recorder)
  • Output limiter - a tanh based limiter that affects signals above the limit selected in Options (as per above screen shot) - applied as the next last operation before output format conversion.

TL;DR - no, Cantabile doesnā€™t convert to integer/fixed within itā€™s own audio pipeline.

Hi @brad,

thanx for the detailed answer - I did read it all :wink:

So essentially I can proceed as intended - boosting signal levels to drive plugins as hot as I need, lower the level at the output stage of a rack to be sure I have enough headroom to mix everything together and then raise the output level at the end of the chain to maximize S/N ratio of my sound card.

One Q: can you say a bit more about the output limiter (found nothing in the Guides section)? if I select a threshold of 80%, does that mean that anything above 80% is flattened - or does it mean (my assumption) that the volume curve is linear up to 80% and then a gentle tanh(x) slope levels everything out up to 100%?

This would mean in musicianā€™s term that the volume increment from 80% to 85% is still significant, whilst the increment from 95% to 100% (full scale) has a lot less impact (and any peak overshoot beyond 100% is simply flattened to 100%) - correct? So no harsh digital clipping should occur (within limits - driving a limiter too hard still sounds ugly :frowning: ) even with the level meters hitting full scaleā€¦

Cheers,

Torsten

1 Like

With the limiter set to 80% it means that signal values from -0.8 to +0.8 will be passed through unaffected. (Assuming signal range of -1.0 to +1.0)

Anything in the range 0.8 to āˆž will be mapped to 0.8 to 1.0 along a tanh curve. (and opposite for -ve values).

ie:

via Wolfram Alpha

Great stuff - needs to be in the documentation!!

Now I can immediately eliminate my master limiter in the master rack of my setup.

BTW: love the formula and Wolfram Alpha reference - serious nerd territory :slight_smile: - takes me back to my computer science degree some 20+ years agoā€¦

Cheers,

Torsten

@brad: thinking about this for a couple of minutes - to be honest, I wouldnā€™t call this a LIMITER - itā€™s actually more a SOFT CLIPPER or a saturator.

True limiting would mean that the overall volume of the total waveform is lowered as long as the threshold is exceeded, not just the peaks shaved off (albeit in a civilized way with the tanh mechanism).

But I guess that for most intents and purposes, this mechanism is enough to avoid any real nastiness from peaks in output; sometimes even a bit more useful than a true limiter - you can drive it hotter if you accept signal coloring.

Cheers,

Torsten

Youā€™re absolutely rightā€¦ in fact the functions I wrote to do this are called ā€œFloat32SoftSatā€ and ā€œFloat64SoftSatā€. Definitely a soft saturation.

To be honest I canā€™t remember why I called the option ā€œoutput limiterā€ - probably because I wanted something a bit more obvious in meaning.

And yes, the Wolfram stuff is very cool - first time Iā€™ve used it. Usually I just use Googleā€™s equation plotting, but couldnā€™t figure out how to do the piece-wise function. I like the Wolfram one better now.

Hi @Torsten ,

I know this an old thread but I had a question. Do you still use the built in "limiterā€™ or set up your own in a master rack? I ask because after I got ā€˜TrackLimitā€™ from DMG and tried it on the master rack output for my setup and I feel that I get better fidelity. Also, if you do it this way what limiter do you like?

Thanks,

Dave

1 Like

Hey @dave_dore,

the built-in ā€œlimiterā€ is more a ā€œsoft clipperā€, so its use is limited :wink: . It introduces distortion even when driven only mildly - which isnā€™t surprising in a soft-clipperā€¦

I use compressors on both my main outputs rather than limiters. Most brick-wall VST limiters have quite significant latency as part of their forward-looking paradigm (e.g. Voxengo Elephant introduces 28ms of latency). While this doesnā€™t hurt in a mixing or mastering setup, it does hurt in a live playing scenario.

I use the fantastic FabFilter Pro-C - great-sounding, easy-to operate compressor. And whatever peaks slip through it will then be clipped by Cantabileā€™s ā€œlimiterā€ - I can live with thatā€¦

Iā€™m interested in your DMG TrackLimit, though - they claim that it is low-latency; how much latency does it truly introduce in your setup?

Cheers,

Torsten

Hey Torsten,

Thanks for the feed back on your output setup. I ran a check using Studio One resource utility and here are the numbers for Tracklimit. 128 sample buffer for audio.

There are six styles each with a different latency :

                Latency                

Aggressive - .2 mS
with ISP ON 1.2 mS
Punchy - .5 mS
with ISP ON 1.2 mS
Warm - 1 mS
with ISP ON 1.2 mS
Smooth - 2 mS
with ISP ON 2.2 mS
Tight - 3 mS
with ISP ON 3.2 mS
Transparent - 5 mS.
with ISP ON 5.1 mS

It employs a 2 stage internal arrangement which is supposed to protect transients. Real life I have been using it for 4 gigs and notice no lag running the punchy setting.

Thanks again,

Dave