summaryrefslogtreecommitdiff
path: root/doc/classes/AudioEffectCompressor.xml
blob: fef594b13954191f57cb7fb16ca2f22d8d5d8f3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioEffectCompressor" inherits="AudioEffect" category="Core" version="3.0-beta">
	<brief_description>
		Adds a Compressor audio effect to an Audio bus.
		Reduces sounds that exceed a certain threshold level, smooths out the dynamics and increases the overall volume.
	</brief_description>
	<description>
		Dynamic range compressor reduces the level of the sound when the amplitude goes over a certain threshold in Decibels. One of the main uses of a compressor is to increase the dynamic range by clipping as little as possible (when sound goes over 0dB).
		Compressor has many uses in the mix:
		- In the Master bus to compress the whole output (Although a [AudioEffectLimiter] is probably better)
		- In voice channels to ensure they sound as balanced as possible.
		- Sidechained. Sidechained, which can reduce the sound level sidechained with another audio bus for threshold detection.. This technique is very common in video game mixing to download the level of Music/SFX while voices are being heard.
		- Accentuates transients by using a wider attack, making effects sound more punchy.
	</description>
	<tutorials>
	</tutorials>
	<demos>
	</demos>
	<methods>
		<method name="get_attack_us" qualifiers="const">
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_gain" qualifiers="const">
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_mix" qualifiers="const">
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_ratio" qualifiers="const">
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_release_ms" qualifiers="const">
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="get_sidechain" qualifiers="const">
			<return type="String">
			</return>
			<description>
			</description>
		</method>
		<method name="get_threshold" qualifiers="const">
			<return type="float">
			</return>
			<description>
			</description>
		</method>
		<method name="set_attack_us">
			<return type="void">
			</return>
			<argument index="0" name="attack_us" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_gain">
			<return type="void">
			</return>
			<argument index="0" name="gain" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_mix">
			<return type="void">
			</return>
			<argument index="0" name="mix" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_ratio">
			<return type="void">
			</return>
			<argument index="0" name="ratio" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_release_ms">
			<return type="void">
			</return>
			<argument index="0" name="release_ms" type="float">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_sidechain">
			<return type="void">
			</return>
			<argument index="0" name="sidechain" type="String">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_threshold">
			<return type="void">
			</return>
			<argument index="0" name="threshold" type="float">
			</argument>
			<description>
			</description>
		</method>
	</methods>
	<members>
		<member name="attack_us" type="float" setter="set_attack_us" getter="get_attack_us">
			Compressor's reaction time when the signal exceeds the threshold. Value can range from 20 to 2000. Default value: [code]20ms[/code].
		</member>
		<member name="gain" type="float" setter="set_gain" getter="get_gain">
			Gain applied to the output signal.
		</member>
		<member name="mix" type="float" setter="set_mix" getter="get_mix">
			Balance between original signal and effect signal. Value can range from 0 (totally dry) to 1 (totally wet). Default value: [code]1[/code].
		</member>
		<member name="ratio" type="float" setter="set_ratio" getter="get_ratio">
			Amount of compression applied to the audio once it passes the threshold level. The higher the ratio the more the loud parts of the audio will be compressed. Value can range from 1 to 48. Default value: [code]4[/code].
		</member>
		<member name="release_ms" type="float" setter="set_release_ms" getter="get_release_ms">
			Compressor's delay time to stop reducing the signal after the signal level falls below the threshold. Value can range from 20 to 2000. Default value: [code]250ms[/code].
		</member>
		<member name="sidechain" type="String" setter="set_sidechain" getter="get_sidechain">
			Reduce the sound level using another audio bus for threshold detection.
		</member>
		<member name="threshold" type="float" setter="set_threshold" getter="get_threshold">
			The level above which compression is applied to the audio. Value can range from -60 to 0. Default value: [code]0[/code].
		</member>
	</members>
	<constants>
	</constants>
</class>