balance

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

ares 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 file balance.csd.

Example 70. Example of the balance opcode.

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

<CsoundSynthesizer>
<CsOptions>
; 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
</CsOptions>
<CsInstruments>

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 balance a2, asrc
     outs afin, afin

endin

</CsInstruments>
<CsScore>
;sine wave.
f 1 0 16384 10 1

i 1 0 2
e

</CsScore>
</CsoundSynthesizer>


See Also

gain, rms