MixerReceive
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## MixerReceive

MixerReceive — Reçoit un signal de taux-a depuis un canal d'un bus.

## Syntaxe

    asignal MixerReceive ibuss, ichannel

## Description

Reçoit un signal de taux-a qui a été mélangé sur un canal d'un bus.

## Initialisation

ibuss -- Le numéro du bus, par exemple, le numéro de l'instrument recevant le signal.

ichannel -- Le numéro du canal. Chaque bus a `nchnls` canaux.

## Exécution

asignal -- Le signal qui a été mélangé sur le canal indiqué du bus.

L'utilisation du mélangeur nécessite que les instruments fixant les gains aient des numéros inférieurs à ceux des instruments envoyant des signaux, et que les intruments envoyant des signaux aient des numéros inférieurs à ceux des instruments recevant ces signaux. Cependant, un instrument peut avoir n'importe quel nombre de départs et de retours. Après la réception du dernier signal, il faut invoquer MixerClear pour réinitialiser les bus à 0 avant le k-cycle suivant.

## Exemples

    instr 220 ; Master output
        ; It applies a bass enhancement, compression and fadeout
        ; to the whole piece, outputs signals, and clears the mixer.
      a1  MixerReceive 220, 0
      a2  MixerReceive 220, 1
      ; Bass enhancement
      al1 butterlp a1, 100
      al2 butterlp a2, 100
      a1 = al1*1.5 + a1
      a2 = al2*1.5 + a2

      ; Global amplitude shape
      kenv   linseg 0., p5 / 2.0, p4, p3 - p5, p4, p5 / 2.0, 0.
      a1=a1*kenv
      a2=a2*kenv

      ; Compression
      a1 dam a1, 5000, 0.5, 1, 0.2, 0.1
      a2 dam a2, 5000, 0.5, 1, 0.2, 0.1

      ; Remove DC bias
      a1blocked dcblock    a1
      a2blocked dcblock    a2

      ; Output signals
      outs a1blocked, a2blocked
      MixerClear
    endin

Voici un exemple complet de l'opcode MixerReceive. Il utilise le fichier Mixer.csd

Exemple 537. Exemple complet de l'opcode MixerReceive.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    ; Audio out   Audio in
    -odac       ;   -iadc    ;;;RT audio out
    ; For Non-realtime ouput leave only the line below:
    ; -o Mixer.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    instr 1

    katt	expon 0.01, p3, 1		;create an attack
    aout	poscil .7, 440,1
    	MixerSetLevel	1, 3, katt	;impose attack on the gain level
    	MixerSend aout, 1, 3, 0		;send to channel 0
    endin

    instr 2

    aout	vco2 .5, 110			;saw wave
    	MixerSetLevel 2, 3, .25		;set level to .25 of vco2
    	MixerSend aout, 2, 3, 1		;send to channel 1
    endin

    instr 3	;mix instr.1 and 2 with reverb

    kgain1	MixerGetLevel	1,3		;get level form buss 3
    kgain2	MixerGetLevel	2,3		;get level form buss 3
    a1	MixerReceive	3,0		;receive channel 0
    a2	MixerReceive	3,1		;receive channel 1
    aout	= a1*kgain1+a2*kgain2		;mix them
    aoutL, aoutR reverbsc aout, aout,  0.85, 12000	;add a nice reverb
    	outs  aoutL, aoutR
    	MixerClear
    endin

    </CsInstruments>
    <CsScore>
    f1 0 4096 10 1

    i1 0 2
    i2 0 2
    i3 0 8	;reverb stays on for 8 sec.

    e
    </CsScore>
    </CsoundSynthesizer>

## Crédits

Michael Gogins (gogins at pipeline dot com).

Précédent | Niveau supérieur | Suivant
MixerSend | Sommaire | MixerClear