1 <!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8">
5 <meta http-equiv=
"Content-Style-Type" content=
"text/css">
7 <meta name=
"Generator" content=
"Cocoa HTML Writer">
8 <meta name=
"CocoaVersion" content=
"824.42">
9 <style type=
"text/css">
10 p
.p1
{margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica
}
11 p
.p2
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica
; min-height: 14.0px}
12 p
.p3
{margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica
}
13 p
.p4
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; min-height: 12.0px}
14 p
.p5
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
}
15 p
.p6
{margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco
; color: #a71e12}
16 span
.s1
{color: #0019b7}
17 span
.Apple-tab-span
{white-space:pre
}
21 <p class=
"p1"><b>Limiter
<span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>peak limiter
</b></p>
22 <p class=
"p2"><br></p>
23 <p class=
"p3"><b>Limiter.ar(in, level, dur)
</b></p>
24 <p class=
"p2"><br></p>
25 <p class=
"p3">Limits the input amplitude to the given level. Limiter will not overshoot
</p>
26 <p class=
"p3">like Compander will, but it needs to look ahead in the audio. Thus there is a
<span class=
"Apple-converted-space"> </span></p>
27 <p class=
"p3">delay equal to twice the lookAheadTime.
</p>
28 <p class=
"p3">Limiter, unlike Compander, is completely transparent for an in range signal.
</p>
29 <p class=
"p2"><br></p>
30 <p class=
"p3"><b>in
</b> - the signal to be processed.
</p>
31 <p class=
"p3"><b>level
</b> - the peak output amplitude level to which to normalize the input.
</p>
32 <p class=
"p3"><b>dur
</b> - aka lookAheadTime. The buffer delay time. Shorter times will produce smaller delays
</p>
33 <p class=
"p3">and quicker transient response times, but may introduce amplitude modulation artifacts.
</p>
34 <p class=
"p4"><br></p>
36 <p class=
"p6">// example signal to process
</p>
37 <p class=
"p5"><span class=
"s1">Synth
</span>.play({
</p>
38 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"s1">var
</span> z;
</p>
39 <p class=
"p5"><span class=
"Apple-tab-span"> </span>z =
<span class=
"s1">Decay2
</span>.ar(
</p>
40 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s1">Impulse
</span>.ar(
8,
<span class=
"s1">LFSaw
</span>.kr(
0.25, -
0.6,
0.7)),
<span class=
"Apple-converted-space"> </span></p>
41 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>0.001,
0.3,
<span class=
"s1">FSinOsc
</span>.ar(
500));
</p>
42 <p class=
"p5">},
0.8)
</p>
44 <p class=
"p4"><br></p>
46 <p class=
"p5"><span class=
"s1">Synth
</span>.play({
</p>
47 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"s1">var
</span> z;
</p>
48 <p class=
"p5"><span class=
"Apple-tab-span"> </span>z =
<span class=
"s1">Decay2
</span>.ar(
</p>
49 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span><span class=
"s1">Impulse
</span>.ar(
8,
<span class=
"s1">LFSaw
</span>.kr(
0.25, -
0.6,
0.7)),
<span class=
"Apple-converted-space"> </span></p>
50 <p class=
"p5"><span class=
"Apple-tab-span"> </span><span class=
"Apple-tab-span"> </span>0.001,
0.3,
<span class=
"s1">FSinOsc
</span>.ar(
500));
</p>
51 <p class=
"p5"><span class=
"Apple-tab-span"> </span>[z,
<span class=
"s1">Limiter
</span>.ar(z,
0.4,
0.01)]
</p>
52 <p class=
"p5">},
0.5)
</p>