Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright

Negative and Positive Theshold Value for compressor?

For general discussion related FlowStone

Negative and Positive Theshold Value for compressor?

Postby JeffEstrada@live.com » Mon Feb 09, 2015 12:43 pm

Hello everyone,

My first time posting here, I've been working on an compressor but i ran into an issue while dealing with the Threshold.

Currently all of the compressor examples in Flowstone that I've found have values of 0 to -40 (negative value only) for example.
For my situation I need a threshold that can be set to +20 to -20 (a positive and negative value) Just like an SSL Compressor.

Here is Waves SSL Buss comp, you can see what I mean about the negative/positive threshold value :
http://thebeatresource.com/wp-content/u ... 40x300.jpg


Any help on this subject would be GREATLY appreciated, I've been pulling my hair out on this one!
JeffEstrada@live.com
 
Posts: 2
Joined: Fri Feb 06, 2015 11:31 am

Re: Negative and Positive Theshold Value for compressor?

Postby KG_is_back » Mon Feb 09, 2015 4:42 pm

This topic is much more complicated than it seems on a first glance. The compressor in Flowstone measures threshold in reference to peak limit. When audio is encoded in as 32bit float (as is in Flowstone streams and internally in all modern DAWs) the signal ranges in <1,-1> range. When signal gets outside this range it is clipping - 1 is the peak limit. Decibels are relative units - they reference the signal level relative to some value. Compressor in flowstone and also peak meters in most DAWs are in dBFS scale - decibels relative to full scale (which is the peak limit = numerically amplitude of 1). That naturally means, all signals that are not clipping have negative dBFS values - having positive values for threshold is therefore unnecessary, since the signal normally doesn't reach such levels.

However, dBFS is just one of many scales. Other common scales are dBU and VU and their relationship to dBFS may change form country to country - every country has its own standard (they have different definitions of to which signal strength 0dB refers to). dBU and VU measurements often involve pre-filtering the signal or measuring average over time (for example RMS), so conversion from dBFS is often completely impossible.
See this article for example: http://www.audiorecording.me/what-is-the-difference-between-dbfs-vu-and-dbu-in-audio-recordings.html

The SSL compressor seems to simply use other scale (most likely VU) to place the threshold. It is very likely that +15dB on SSL compressor places the threshold somewhere near -3 dbFS.

Why there are so many different forms of representing loudness of signal? Well analog devices have two problems. They add noise, so when the input/output signal is too low (referred to as "cold"), you'll get poor signal to noise ratio (SNR). When you push the signal too high (referred to as "hot") the circuits can't handle such voltages and signal gets distorted. The zero on their measuring devices usually refers to a sweet spot - the most optimal compromise between SNR and distortions. To retain compatibility of different devices, standards were set on how strong the signals should be on input and outputs.
In digital processing, there's no such problem. floating point numbers may represent signals as low as -200dBFS or as strong as 200dBFS without adding any noise or distortion (unless specifically coded by the programmer). However, recording and playback devices are still analog, so standard was set, so that signal peaking at 1/-1 covers their full dynamic range. Programmers often add clippers to keep the signal in <1,-1> range, therefore it is recommended to avoid clipping.
KG_is_back
 
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: Negative and Positive Theshold Value for compressor?

Postby Perfect Human Interface » Mon Feb 23, 2015 11:19 am

KG_is_back wrote:When audio is encoded in as 32bit float (as is in Flowstone streams and internally in all modern DAWs) the signal ranges in <1,-1> range. When signal gets outside this range it is clipping


32 bit audio won't clip, but it will be clipped as soon as it's converted to another format, which includes being sent to an output device (soundcard) and subsequently converted to analog. Working within flowstone you can pretty much push audio signals to whatever levels you want, but as KG explained, there's little reason to ever set a compressor threshold to anything above 0 dBFS (the standard scale for working in digital audio) since your audio will eventually be expected to never exceed that. Also worth noting is that audio in 32 bit float can be boosted or attenuated effectively any amount at any point without any loss of fidelity, so you can easily get your signal into whatever range you require by simply multiplying it.
Perfect Human Interface
 
Posts: 643
Joined: Sun Mar 10, 2013 7:32 pm

Re: Negative and Positive Theshold Value for compressor?

Postby Nubeat7 » Mon Feb 23, 2015 1:09 pm

about the dynamic range -1 to +1, here is some info from the vst sdk:
Audio Processing

Audio processing in the plug is accomplished by one of 3 methods, namely process (), processReplacing () and processDoubleReplacing (). While process () takes input data, applies its processing algorithm, and then adds the result to the output (accumulating), processReplacing () and processDoubleReplacing (), overwrite the output buffer.
Note:
The accumulating process mode is deprecated in VST 2.4. Please implement processReplacing (mandatory!) and processDoubleReplacing (optional).
Audio data processed by VST Plug-Ins is 32 bit (single precision) and optionally 64 bit (double precision) floating-point data. The default used range is from -1.0 to +1.0 inclusive [-1.0, +1.0] (where 1.0 corresponds to 0dB, 0.5 to -6dB and 0.0 to -oodB). Note that an effect could generate values above this range.
All parameters - the user parameters, acting directly or indirectly on that data, as automated by the host, are 32 bit floating-point data. They must always range from 0.0 to 1.0 inclusive [0.0, +1.0], regardless of their internal or external representation.

http://www.dith.it/listing/vst_stuff/vstsdk2.4/doc/html/intro.html
User avatar
Nubeat7
 
Posts: 1347
Joined: Sat Apr 14, 2012 9:59 am
Location: Vienna


Return to General

Who is online

Users browsing this forum: No registered users and 55 guests