/usr/share/SuperCollider/HelpSource/Classes/DetectSilence.schelp is in supercollider-common 1:3.8.0~repack-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | class:: DetectSilence
summary:: When input falls below a threshold, evaluate doneAction.
categories:: UGens>Synth control, UGens>Analysis>Amplitude
Description::
When input falls below a threshold, evaluate doneAction.
code::
// this frees after the Decay has become quiet enough for a long enough time
{ var signal = Decay.ar(Impulse.ar(0), 2, PinkNoise.ar(0.2)); DetectSilence.ar(signal, doneAction:2); signal }.play;
::
note::
If the input signal starts with silence at the beginning of the synth's duration, then DetectSilence will wait indefinitely until the first sound before starting to monitor for silence. To avoid a hanging silent sound where the input may remain zero, you can add an envelope to its input
::
classmethods::
method::ar, kr
argument::in
The input signal.
argument::amp
When input falls below this for long enough, evaluate
code::doneAction:: .
argument::time
The minimum duration for which input must fall below
code::amp:: before this triggers.
argument::doneAction
An integer representing the doneAction. See
link::Reference/UGen-doneActions:: for more detail.
returns::
This UGen outputs 1 if silence is detected, otherwise 0.
Examples::
code::
(
SynthDef("detectSilence-help", { arg out;
var z;
z = SinOsc.ar(Rand(400, 700), 0, LFDNoise3.kr(8).max(0)).softclip * 0.3;
DetectSilence.ar(z, doneAction:2);
Out.ar(out, z);
}).add;
)
Synth("detectSilence-help");
Synth("detectSilence-help");
Synth("detectSilence-help");
(
Task({
loop({
Synth("detectSilence-help");
[0.5, 1].choose.wait;
})
}).play;
)
::
|