balance

Name

balance --  Adjust one audio signal according to the values of another.

Description

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

Syntax

ar balance asig, acomp [, ihp] [, iskip]

Initialization

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.

Performance

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.

Examples

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 */
        

See Also

gain, rms