The rms power of asig can be interrogated, set, or adjusted to match that of a comparator signal.
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
balance 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 balance provide amplitude modification only - output signals are not altered in any other respect.
Here is an example of the balance opcode. It uses the files balance.orc and balance.sco.
Example 15-1. Example of the balance opcode.
/* balance.orc */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
; Generate a band-limited pulse train.
asrc buzz 30000, 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 balance a2, asrc
out afin
endin
/* balance.orc */
/* balance.sco */
; Table #1, a sine wave.
f 1 0 16384 10 1
; Play Instrument #1 for two seconds.
i 1 0 2
e
/* balance.sco */