locsend

locsend — Distribue les signaux audio d'un opcode locsig précédent.

Description

locsend dépend de l'existence d'un locsig précédemment défini. Le nombre de signaux de sortie doit correspondre à celui du locsig précédent. Les signaux de sortie de locsend sont dérivés des valeurs de distance et de réverbération données dans le locsig et sont prêts à être envoyés à des unités de réverbération locale ou globale (voir l'exemple ci-dessous). Le taux de réverbération et la balance entre les 2 ou les 4 canaux sont calculés selon la description dans le livre de Dodge (un texte essentiel !).

Syntaxe

a1, a2 locsend
a1, a2,  a3, a4 locsend

Exemples

  asig ;some audio signal
  kdegree            line    0, p3, 360
  kdistance          line    1, p3, 10
  a1, a2, a3, a4     locsig  asig, kdegree, kdistance, .1
  ar1, ar2, ar3, ar4 locsend
  ga1 = ga1+ar1
  ga2 = ga2+ar2
  ga3 = ga3+ar3
  ga4 = ga4+ar4
                     outq    a1, a2, a3, a4
endin

instr 99 ; reverb instrument
  a1                 reverb2 ga1, 2.5, .5
  a2                 reverb2 ga2, 2.5, .5
  a3                 reverb2 ga3, 2.5, .5
  a4                 reverb2 ga4, 2.5, .5
                     outq    a1, a2, a3, a4
  ga1=0
  ga2=0
  ga3=0
  ga4=0

Dans l'exemple ci-dessus, le signal asig fait un tour complet sur un cercle pendant la durée de la note tout en « s'éloignant » de la position de l'auditeur. locsig envoie en interne à locsend la quantité de signal appropriée. Les sorties de locsend sont ajoutées à des accumulateurs globaux selon la manière habituelle dans Csound et les signaux globaux servent d'entrée aux unités de réverbération dans un instrument séparé. Pour un exemple, voir locsig.

locsig est utile pour les panoramiques quadro et stéréo ainsi que pour le placement fixe des sons n'importe où entre deux haut-parleurs. Ci-dessous un exemple de placement fixe de sons dans un champ stéréo. Il utilise le fichier locsend_stereo.csd.

Exemple 473. Exemple de l'opcode locsend.

Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac      ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o locsend_stereo.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

ga1 init 0
ga2 init 0

instr 1

krevsend  = p4
aout	  diskin2 "beats.wav", 1, 0, 1
kdegree	  line 0, p3, 180 ;left to right
kdistance line 1, p3, 30
a1, a2	  locsig aout, kdegree, kdistance, p4
ar1, ar2  locsend
ga1 = ga1+ar1
ga2 = ga2+ar2
          outs a1, a2

endin

instr 99 ; reverb instrument
a1	reverb2 ga1, 2.5, .5
a2	reverb2 ga2, 2.5, .5
	outs	a1, a2
ga1 = 0
ga2 = 0

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

i 1 0 4 .1	;with reverb
i 1 + 4 0	;no reverb
i99 0 7
e
</CsScore>
</CsoundSynthesizer>


Quelques notes:

  ; place le son dans le haut-parleur gauche et au premier plan :
  i1 0 1 0 1
  
  ; place le son dans le haut-parleur droit et à l'arrière plan :
  i1 1 1 90 25
  
  ; place le son au milieu gauche-droite et à mi-distance en profondeur :
  i1 2 1 45 12
  e

L'exemple suivant montre une utilisation intuitive simple de la valeur de distance pour simuler un effet Doppler. La même valeur est utilisée comme diviseur pour la fréquence et comme paramètre de distance pour locsig.

  kdistance          line    1, p3, 10
  kfreq = (ifreq * 340) / (340 + kdistance)
  asig               oscili  iamp, kfreq, 1
  kdegree            line    0, p3, 360
  a1, a2, a3, a4     locsig  asig, kdegree, kdistance, .1
  ar1, ar2, ar3, ar4 locsend

Voir aussi

locsig

Crédits

Auteur : Richard Karpen
Seattle, WA USA
1998

Nouveau dans la version 3.48 de Csound