JackTrip
CompressorPresets.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <array>
4 
6  float ratio;
7  float thresholdDB;
8  float attackMS;
9  float releaseMS;
10  float makeUpGainDB;
11  CompressorPreset(float r, float t, float a, float rel, float m)
12  : ratio(r)
13  , thresholdDB(t)
14  , attackMS(a)
15  , releaseMS(rel)
16  , makeUpGainDB(m)
17  {}
18  ~CompressorPreset() = default;
19 };
20 
22 {
23  // name ratio thresh attack rel mugain
24  const CompressorPreset voice { 2.0f, -24.0f, 15.0f, 40.0f, 2.0f };
25  const CompressorPreset horns { 3.0f, -10.0f, 100.0f, 250.0f, 2.0f };
26  const CompressorPreset snare { 5.0f, -4.0f, 5.0f, 150.0f, 3.0f };
27  const uint numPresets { 3 };
28  const std::array<CompressorPreset,numPresets> standardPresets { voice, horns, snare };
30 }
31 
32 #if 0 // not yet using this
33 // Dynamic extension of CompressorPresets:
34 struct CompressorPresetList {
35  std::vector<CompressorPreset*> presets;
36  CompressorPresetList() { // define some standard presets
37  presets.push_back( new CompressorPreset(CompressorPresets::voice) );
38  presets.push_back( new CompressorPreset(CompressorPresets::horns) );
39  presets.push_back( new CompressorPreset(CompressorPresets::snare) );
40  }
41  ~CompressorPresetList() = default;
42 };
43 #endif
44 
45 /* Settings from http://www.anythingpeaceful.org/sonar/settings/comp.html
46 
47  Name Thresh(dB) Att(ms) Rel(ms) Ratio:1 Gain(dB) Comments
48  Vocal 1 -20 31 342 2.5 2 Compressor for Solo Vocal
49  Vocal 2 -8 26 331 2.5 1.5 Variation of Solo 1
50  Full Comp 1 -8 60 2500 2.5 0 For Overall Volume Level
51  Full Comp 2 -18 94 447 3.5 2.5 Variation of Total Comp 1: Harder ratio
52  Full Comp 3 -16 11 180 6 6 Nearly a limiter effect
53  Kick Comp -24 9 58 3 5.5 Compressor for Acoustic Bass Drum
54  Snare Comp -17 8 12 2.5 3.5 Compressor for Acoustic Snare Drum
55  Guitar -10 5 238 2.5 1.5 Compressor for Acoustic Guitar
56  Brass Sec -18 18 226 1.7 4 Brass Sounds for Strong Attacks
57  Bass 1 -12 15 470 2 4.5 Finger Picked Bass Guitar
58  Bass 2 -12 6 133 1.7 4 Slap Electric Bass
59  E Guitar -8 7 261 3.5 2.5 Electric Guitar Compressor
60  Piano 1 -9 17 238 2.5 1 Brightens Piano
61  Piano 2 -18 7 174 3.5 6 Variation of Piano 1
62  Kick -14 2 35 2 3.5 For sampled Bass Drum
63  Snare -18 8 354 4 8 For sampled Snare Drum
64  Strings 1 -11 33 749 2 1.5 For String instruments
65  Strings 2 -12 93 2500 1.5 1.5 For Violas and Cellos
66  Strings 3 -17 76 186 1.5 2.5 Cellos or DoubleBass
67  Syn Bass -10 9 250 3.5 3 Adjust level of Synth Bass
68  Syn Pad -13 58 238 2 2 Prevents diffusion of sound in synth pad
69  Limiting -1 0.1 325 20 0 Slow release limiter
70  Chorusing -9 39 225 1.7 2.5 For vocal Chorusing
71 
72  From https://www.dummies.com/art-center/music/recording-music/dynamic-music-compression-settings-for-horns-piano-and-percussion/
73 
74  Horns –8 100 300 2.5-3 2 Brasses not normally compressed [jos gain estimate based on above table]
75  Piano -10 100-105 115 1.5-2 2 Normally not compressed ["]
76  Kick -6 40-50 200-300 4-6 3 Looks more like a limiter to me [jos] ["]
77  Snare -4 5-10 125-175 4-6 3 Crucial for a tight, punchy sound
78  Bongos -6 10-25 100-300 3-6 3 "Hand Drums" - protect against excess "slap"
79  Perc. -10 10-20 50 3-6 3 Transient overdrive protection in mix
80 
81 */
CompressorPreset::CompressorPreset
CompressorPreset(float r, float t, float a, float rel, float m)
Definition: CompressorPresets.h:11
CompressorPresets::snare
const CompressorPreset snare
Definition: CompressorPresets.h:26
CompressorPresets::horns
const CompressorPreset horns
Definition: CompressorPresets.h:25
CompressorPresets::CPN_VOICE
@ CPN_VOICE
Definition: CompressorPresets.h:29
CompressorPreset::ratio
float ratio
Definition: CompressorPresets.h:6
CompressorPreset::makeUpGainDB
float makeUpGainDB
Definition: CompressorPresets.h:10
CompressorPresets::voice
const CompressorPreset voice
Definition: CompressorPresets.h:24
CompressorPresets::standardPresets
const std::array< CompressorPreset, numPresets > standardPresets
Definition: CompressorPresets.h:28
CompressorPreset::thresholdDB
float thresholdDB
Definition: CompressorPresets.h:7
CompressorPreset::attackMS
float attackMS
Definition: CompressorPresets.h:8
CompressorPreset::~CompressorPreset
~CompressorPreset()=default
CompressorPresets
Definition: CompressorPresets.h:22
CompressorPresets::numPresets
const uint numPresets
Definition: CompressorPresets.h:27
CompressorPresets::CompressorPresetNames
CompressorPresetNames
Definition: CompressorPresets.h:29
CompressorPresets::CPN_SNARE
@ CPN_SNARE
Definition: CompressorPresets.h:29
CompressorPresets::CPN_BRASS
@ CPN_BRASS
Definition: CompressorPresets.h:29
CompressorPreset
Definition: CompressorPresets.h:5
CompressorPreset::releaseMS
float releaseMS
Definition: CompressorPresets.h:9
CompressorPresets::CPN_NUMPRESETS
@ CPN_NUMPRESETS
Definition: CompressorPresets.h:29