Audacity 3.2.0
DynamicRangeProcessorUtils.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*!********************************************************************
3
4 Audacity: A Digital Audio Editor
5
6 DynamicRangeProcessorUtils.h
7
8 Matthieu Hodgkinson
9
10**********************************************************************/
11#pragma once
12
14#include "Internat.h"
15#include "TranslatableString.h"
16
18{
19template <typename Struct> struct Preset
20{
22 Struct preset;
23};
24
27
28DYNAMIC_RANGE_PROCESSOR_API
29std::vector<CompressorPreset> GetCompressorPresets();
30DYNAMIC_RANGE_PROCESSOR_API
31std::vector<LimiterPreset> GetLimiterPresets();
32
33namespace Detail
34{
35// Public for testing, shouldn't be needed in production code.
36
38{
40 const std::string settings;
41};
42
43const std::vector<SerializedPreset> serializedCompressorPresets {
44//general
45 /*i18n-hint: This is the name of an effect preset.*/
46 { XO("Modern"),
47 "Compressor:attackMs=\"0.2\" compressionRatio=\"4\" kneeWidthDb=\"18\" lookaheadMs=\"1\" makeupGainDb=\"0\" releaseMs=\"210\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-14\""},
48 /*i18n-hint: This is the name of an effect preset.*/
49 { XO("Glue Compressor"),
50 "Compressor:attackMs=\"20\" compressionRatio=\"1.2\" kneeWidthDb=\"12\" lookaheadMs=\"1\" makeupGainDb=\"2.5\" releaseMs=\"1000\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-22\""},
51 /*i18n-hint: This is the name of an effect preset.*/
52 { XO("Gentle"),
53 "Compressor:attackMs=\"1\" compressionRatio=\"1.5\" kneeWidthDb=\"6\" lookaheadMs=\"1\" makeupGainDb=\"0\" releaseMs=\"100\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-18\""},
54 /*i18n-hint: This is the name of an effect preset.*/
55 { XO("Beat Booster"),
56 "Compressor:attackMs=\"14\" compressionRatio=\"4\" kneeWidthDb=\"1\" lookaheadMs=\"1\" makeupGainDb=\"3\" releaseMs=\"9\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-18\""},
57//master
58 /*i18n-hint: This is the name of an effect preset.*/
59 { XO("Deep Dive Master"),
60 "Compressor:attackMs=\"52.2\" compressionRatio=\"1.2\" kneeWidthDb=\"1\" lookaheadMs=\"33.2\" makeupGainDb=\"1.6\" releaseMs=\"12.2\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"1\" thresholdDb=\"-23.5\"" },
61 /*i18n-hint: This is the name of an effect preset.*/
62 { XO("Beefy Master"),
63 "Compressor:attackMs=\"49.6\" compressionRatio=\"1.2\" kneeWidthDb=\"4.9\" lookaheadMs=\"100.4\" makeupGainDb=\"2.5\" releaseMs=\"17.9\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-16.8\"" },
64 /*i18n-hint: This is the name of an effect preset.*/
65 { XO("Make It Right Master"),
66 "Compressor:attackMs=\"1\" compressionRatio=\"1.4\" kneeWidthDb=\"1\" lookaheadMs=\"10\" makeupGainDb=\"1.6\" releaseMs=\"1\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-6.5\"" },
67 /*i18n-hint: This is the name of an effect preset.*/
68 {XO("Brick Wall Master"),
69 "Compressor:attackMs=\"0\" compressionRatio=\"100\" kneeWidthDb=\"2\" lookaheadMs=\"1\" makeupGainDb=\"3\" releaseMs=\"2\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-10\""},
70//Vocal
71 /*i18n-hint: This is the name of an effect preset.*/
72 { XO("Lead Vocals"),
73 "Compressor:attackMs=\"1\" compressionRatio=\"5.2\" kneeWidthDb=\"5.5\" lookaheadMs=\"1\" makeupGainDb=\"0\" releaseMs=\"60\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-14\""},
74 /*i18n-hint: This is the name of an effect preset.*/
75 { XO("Fat Vocals"),
76 "Compressor:attackMs=\"86.9\" compressionRatio=\"1.7\" kneeWidthDb=\"5\" lookaheadMs=\"1\" makeupGainDb=\"2.5\" releaseMs=\"15.2\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-32\"" },
77 /*i18n-hint: This is the name of an effect preset. */
78 { XO("Power Vocals"),
79 "Compressor:attackMs=\"2.8\" compressionRatio=\"1.5\" kneeWidthDb=\"19.6\" lookaheadMs=\"46.2\" makeupGainDb=\"3\" releaseMs=\"356.3\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-16.8\"" },
80 /*i18n-hint: This is the name of an effect preset.*/
81 { XO("Vocal Control"),
82 "Compressor:attackMs=\"0\" compressionRatio=\"3\" kneeWidthDb=\"23.5\" lookaheadMs=\"1\" makeupGainDb=\"4.5\" releaseMs=\"196\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-15\""},
83 /*i18n-hint: This is the name of an effect preset.*/
84 { XO("Vocal Touch-Up"),
85 "Compressor:attackMs=\"2\" compressionRatio=\"1.5\" kneeWidthDb=\"30\" lookaheadMs=\"0\" makeupGainDb=\"3.6\" releaseMs=\"450\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"1\" thresholdDb=\"-22\""},
86 /*i18n-hint: This is the name of an effect preset.*/
87 { XO("Voice Memos Balancer"),
88 "Compressor:attackMs=\"6.5\" compressionRatio=\"10.1\" kneeWidthDb=\"5.8\" lookaheadMs=\"1\" makeupGainDb=\"4.5\" releaseMs=\"3.6\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-22.3\"" },
89 /*i18n-hint: This is the name of an effect preset.*/
90 { XO("Podcast/Radio"),
91 "Compressor:attackMs=\"15\" compressionRatio=\"3\" kneeWidthDb=\"24\" lookaheadMs=\"1\" makeupGainDb=\"1\" releaseMs=\"40\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-15\""},
92//instruments
93 /*i18n-hint: This is the name of an effect preset.*/
94 { XO("Piano"),
95 "Compressor:attackMs=\"0.2\" compressionRatio=\"2\" kneeWidthDb=\"18\" lookaheadMs=\"1\" makeupGainDb=\"1\" releaseMs=\"150\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-16\""},
96 /*i18n-hint: This is the name of an effect preset.*/
97 { XO("Acoustic Guitar"),
98 "Compressor:attackMs=\"15\" compressionRatio=\"2.5\" kneeWidthDb=\"8\" lookaheadMs=\"1\" makeupGainDb=\"1.5\" releaseMs=\"225\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-15\""},
99 /*i18n-hint: This is the name of an effect preset.*/
100 { XO("Bass Guitar"),
101 "Compressor:attackMs=\"1\" compressionRatio=\"3\" kneeWidthDb=\"2\" lookaheadMs=\"40\" makeupGainDb=\"0\" releaseMs=\"50\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-13\""},
102 /*i18n-hint: This is the name of an effect preset. Strings is violins, etc*/
103 { XO("Strings"),
104 "Compressor:attackMs=\"30\" compressionRatio=\"1.8\" kneeWidthDb=\"14.3\" lookaheadMs=\"1\" makeupGainDb=\"2.5\" releaseMs=\"400\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-15\""},
105 /*i18n-hint: This is the name of an effect preset.*/
106 { XO("Kick Drums"),
107 "Compressor:attackMs=\"30\" compressionRatio=\"4\" kneeWidthDb=\"0.5\" lookaheadMs=\"1\" makeupGainDb=\"2\" releaseMs=\"120\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-14\""},
108 /*i18n-hint: This is the name of an effect preset.*/
109 { XO("Drums Control"),
110 "Compressor:attackMs=\"2\" compressionRatio=\"2\" kneeWidthDb=\"29\" lookaheadMs=\"1\" makeupGainDb=\"1\" releaseMs=\"40\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-12\""},
111//SFX
112 /*i18n-hint: This is the name of an effect preset. SFX means sound effects.*/
113 { XO("Climax Impulser SFX"),
114 "Compressor:attackMs=\"172\" compressionRatio=\"23.4\" kneeWidthDb=\"27.4\" lookaheadMs=\"0\" makeupGainDb=\"0\" releaseMs=\"813.4\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-55.1\"" },
115 /*i18n-hint: This is the name of an effect preset. SFX means sound effects.*/
116 { XO("Engine Breathing SFX"),
117 "Compressor:attackMs=\"190.2\" compressionRatio=\"4.7\" kneeWidthDb=\"3.5\" lookaheadMs=\"2.3\" makeupGainDb=\"0\" releaseMs=\"0.2\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-37.7\"" },
118 /*i18n-hint: This is the name of an effect preset. SFX means sound effects.*/
119 { XO("Great Impact SFX"),
120 "Compressor:attackMs=\"172\" compressionRatio=\"24.6\" kneeWidthDb=\"5\" lookaheadMs=\"0.6\" makeupGainDb=\"8.3\" releaseMs=\"562.6\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-49.3\"" },
121 /*i18n-hint: This is the name of an effect preset. SFX means sound effects.*/
122 { XO("Great Body SFX"),
123 "Compressor:attackMs=\"74.6\" compressionRatio=\"2.4\" kneeWidthDb=\"0.3\" lookaheadMs=\"29.3\" makeupGainDb=\"8.6\" releaseMs=\"204.8\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-32.8\"" },
124 /*i18n-hint: This is the name of an effect preset. SFX means sound effects.*/
125 { XO("Great Tail SFX"),
126 "Compressor:attackMs=\"1.4\" compressionRatio=\"2.4\" kneeWidthDb=\"0.3\" lookaheadMs=\"0\" makeupGainDb=\"23.9\" releaseMs=\"199.6\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-55.4\"" },
127 /*i18n-hint: This is the name of an effect preset. SFX means sound effects.*/
128 { XO("Smack Explosion SFX"),
129 "Compressor:attackMs=\"155.5\" compressionRatio=\"5.9\" kneeWidthDb=\"24.4\" lookaheadMs=\"1.3\" makeupGainDb=\"7.1\" releaseMs=\"1.7\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-32.5\""}
130};
131
132const std::vector<SerializedPreset> serializedLimiterPresets {
133 /*i18n-hint: This is the name of an effect preset.*/
134 { XO("Master Limiter"),
135 "Limiter:kneeWidthDb=\"0.1\" lookaheadMs=\"0.1\" makeupTargetDb=\"-0.1\" releaseMs=\"0.1\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-0.1\"" },
136 /*i18n-hint: This is the name of an effect preset. SFX means sound effects.*/
137 { XO("SFX Limiter"),
138 "Limiter:kneeWidthDb=\"1\" lookaheadMs=\"1\" makeupTargetDb=\"-1\" releaseMs=\"1\" showActual=\"1\" showInput=\"0\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-3\"" },
139 /*i18n-hint: This is the name of an effect preset. VO means Voiceover.*/
140 { XO("VO Limiter"),
141 "Limiter:kneeWidthDb=\"0\" lookaheadMs=\"0.1\" makeupTargetDb=\"-1\" releaseMs=\"10.1\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-4\"" },
142 /*i18n-hint: This is the name of an effect preset.*/
143 { XO("Modern"),
144 "Limiter:kneeWidthDb=\"0\" lookaheadMs=\"1\" makeupTargetDb=\"-1.5\" releaseMs=\"5\" showActual=\"0\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-1.5\""},
145 /*i18n-hint: This is the name of an effect preset.*/
146 { XO("Modern Punch"),
147 "Limiter:kneeWidthDb=\"0\" lookaheadMs=\"1\" makeupTargetDb=\"-1.5\" releaseMs=\"5\" showActual=\"0\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-1.5\""},
148 /*i18n-hint: This is the name of an effect preset.*/
149 { XO("Modern Punch 2"),
150 "Limiter:kneeWidthDb=\"1\" lookaheadMs=\"1\" makeupTargetDb=\"-1.5\" releaseMs=\"2\" showActual=\"1\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-1\""},
151 /*i18n-hint: This is the name of an effect preset.*/
152 { XO("Play it Loud"),
153 "Limiter:kneeWidthDb=\"0\" lookaheadMs=\"1\" makeupTargetDb=\"-2.2\" releaseMs=\"5\" showActual=\"0\" showInput=\"1\" showOutput=\"1\" showTarget=\"0\" thresholdDb=\"-8.5\""},
154};
155} // namespace Detail
156} // namespace DynamicRangeProcessorUtils
XO("Cut/Copy/Paste")
Holds a msgid for the translation catalog; may also bind format arguments.
const std::vector< SerializedPreset > serializedLimiterPresets
const std::vector< SerializedPreset > serializedCompressorPresets
DYNAMIC_RANGE_PROCESSOR_API std::vector< CompressorPreset > GetCompressorPresets()
DYNAMIC_RANGE_PROCESSOR_API std::vector< LimiterPreset > GetLimiterPresets()