JackTrip
CompressorPresets.h
Go to the documentation of this file.
1#pragma once
2
3#include <array>
4
6 float ratio;
8 float attackMS;
9 float releaseMS;
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:
34struct 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*/
Definition: CompressorPresets.h:22
const std::array< CompressorPreset, numPresets > standardPresets
Definition: CompressorPresets.h:28
const CompressorPreset horns
Definition: CompressorPresets.h:25
CompressorPresetNames
Definition: CompressorPresets.h:29
@ CPN_BRASS
Definition: CompressorPresets.h:29
@ CPN_VOICE
Definition: CompressorPresets.h:29
@ CPN_SNARE
Definition: CompressorPresets.h:29
@ CPN_NUMPRESETS
Definition: CompressorPresets.h:29
const CompressorPreset snare
Definition: CompressorPresets.h:26
const CompressorPreset voice
Definition: CompressorPresets.h:24
const uint numPresets
Definition: CompressorPresets.h:27
Definition: CompressorPresets.h:5
float attackMS
Definition: CompressorPresets.h:8
float ratio
Definition: CompressorPresets.h:6
~CompressorPreset()=default
CompressorPreset(float r, float t, float a, float rel, float m)
Definition: CompressorPresets.h:11
float releaseMS
Definition: CompressorPresets.h:9
float thresholdDB
Definition: CompressorPresets.h:7
float makeUpGainDB
Definition: CompressorPresets.h:10