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.
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 88. Example of the balance2 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 balance2 a2, asrc outs afin, afin endin </CsInstruments> <CsScore> ;sine wave. f 1 0 16384 10 1 i 1 0 2 e </CsScore> </CsoundSynthesizer>