balance2 — Adjust one audio signal according to the values of another.


The rms power of asig can be interrogated, set, or adjusted to match that of a comparator signal.


ares balance2 asig, acomp [, ihp] [, iskip]


ihp (optional) -- half-power point (in Hz) of a special internal low-pass filter. The default value is 10.

iskip (optional, default=0) -- initial disposition of internal data space (see reson). The default value is 0.


asig -- input audio signal

acomp -- the comparator signal

balance2 outputs a version of asig, amplitude-modified so that its rms power is equal to that of a comparator signal acomp. Thus a signal that has suffered loss of power (eg., in passing through a filter bank) can be restored by matching it with, for instance, its own source. It should be noted that gain and balance2 provide amplitude modification only - output signals are not altered in any other respect.

Note that balance2 is just like balance except the gain is recalculated for every sample rather than interpolating k-rate values.


Here is an example of the balance2 opcode. It uses the file balance2.csd.

Example 89. Example of the balance2 opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; Select audio/midi flags here according to platform
-odac     ;;;RT audio out
;-iadc    ;;;uncomment -iadc if RT audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o balance.wav -W ;;; for file output any platform

sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1

instr 1
; Generate a band-limited pulse train.
asrc buzz 0.9, 440, sr/440, 1

; Send the source signal through 2 filters.
a1 reson asrc, 1000, 100       
a2 reson a1, 3000, 500

; Balance the filtered signal with the source.
afin balance2 a2, asrc
     outs afin, afin


;sine wave.
f 1 0 16384 10 1

i 1 0 2


See also

Amplitude Modifiers and Dynamic processing


Author: Victor Lazzarini;
March 2018

New in Csound version 6.11