Maxamp:
Filter:
Classes (extension) | Libraries > JoshUGens | UGens > Analysis:Synthesis

Maxamp : UGen : AbstractFunction : Object
ExtensionExtension

Tracks and prints amplitudes
Source: Maxamp.sc
 

Description

WARNING: Printing from the server is very expensive on the client side (lang). This CPU usage will not show up in your CPU usage on the server side.

Class Methods

Maxamp.ar(in, numSamps: 1000)

Arguments:

in

The input you would like to track.

numSamps

The period in which Maxamp will post amp information.

Inherited class methods

Instance Methods

Inherited instance methods

Examples

s.boot;

(
SynthDef(\sample, {|dur|
    Out.ar(0, SinOsc.ar(440, 0, LFNoise1.ar(0.5)) *
        EnvGen.kr(Env([0.01, 1, 1, 0.01], [0.01, dur - 0.02, 0.01]), doneAction: 2))
}).add;

SynthDef(\maxamptest, {|inbus|
    Maxamp.ar(In.ar(inbus, 1), SampleRate.ir / 10)
}).add;
)

s.sendBundle(0.1, [\s_new, \sample, -1, 0, 1, \dur, 4],
    // run maxamp test at the tail of group 1
    [\s_new, \maxamptest, -1, 1, 1, \inbus, 0]);

// run a couple more synths
s.sendBundle(0.1, [\s_new, \sample, -1, 0, 1, \dur, 2],
    [\s_new, \sample, -1, 0, 1, \dur, 3],
    [\s_new, \sample, -1, 0, 1, \dur, 4]);

// kill maxamptest
s.sendBundle(0.1, [\g_freeAll, 1]);

Here is a sample of what prints:

Maxamp from 1.8 to 1.9: 0.87646, Overall Maxamp at 1.89903: 0.87646
Maxamp from 1.9 to 2: 0.930082, Overall Maxamp at 1.999: 0.930082
Maxamp from 2 to 2.1: 0.930123, Overall Maxamp at 2.00011: 0.930123
Maxamp from 2.1 to 2.2: 0.88386, Overall Maxamp at 2.00011: 0.930123
Maxamp from 2.2 to 2.3: 0.837598, Overall Maxamp at 2.00011: 0.930123
Maxamp from 2.3 to 2.4: 0.791335, Overall Maxamp at 2.00011: 0.930123

The last line shows that the Maxamp from 2.3 - 2.4 seconds was 0.791335. The overall Maxamp occurred at 2.00011 seconds, with a value of 0.930123.

For NRTThis UGen can be particularly useful during NRT synthesis:

a = [
    [0, [\g_new, 1], [\s_new, \sample, -1, 0, 1, \dur, 4], [\s_new, \maxamptest, -1, 1, 1]],
    [6, [\s_new, \sample, -1, 0, 1, \dur, 2]],
    [8, [\s_new, \sample, -1, 0, 1, \dur, 3]],
    [11, [\c_set, 0, 0]]
    ]

// make sure the local server is not booted

Score.recordNRT(a, "/tmp/sc.sc", "test.aiff");