spsend

spsend — Génère des signaux de sortie basés sur un opcode space défini auparavant.

Description

spsend dépend de l'existence d'un space défini antérieurement. Les signaux de sortie de spsend sont dérivés des valeurs de xy et de réverbération données dans le space et sont prêts à être envoyés à des unités de réverbération locales ou globales (voir l'exemple ci-dessous).

Syntaxe

a1, a2, a3, a4 spsend

Exécution

La configuration des coordonnées xy dans l'espace place le signal de la manière suivante :

  • a1 est en (-1, 1)

  • a2 est en (1, 1)

  • a3 est en (-1, -1)

  • a4 est en (1, -1)

Ceci suppose une disposition des haut-parleurs où a1 est à l'avant-gauche, a2 à l'avant-droit, a3 à l'arrière-gauche et a4 à l'arrière-droite. Les valeurs supérieures à 1 donnent un son atténué, comme s'il était éloigné. space considère que les haut-parleurs sont à une distance de 1 ; on peut utiliser des valeurs de xy inférieures, mais space n'amplifiera pas le signal dans ce cas. Il équilibrera le signal cependant de manière à ce qu'il soit entendu comme s'il se trouvait à l'intérieur de l'espace des quatre haut-parleurs. x=0, y=1, place le signal entre les canaux avant gauche et droite, x=y=0 place le signal également entre les quatre canaux, et ainsi de suite. Bien que space fournisse quatre signaux en sortie, on peut l'utiliser dans un orchestre à deux canaux. Si les xy sont tels que y reste >= 1, il fonctionnera correctement pour faire des panoramiques et des localisations fixes dans un champ stéréophonique.

Exemples

instr 1
  asig    ;some audio signal
  ktime              line  0, p3, p10
  a1, a2, a3, a4     space asig,1, ktime, .1
  ar1, ar2, ar3, ar4 spsend        
  
  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
endin

Dans l'exemple ci-dessus, le signal asig est déplacé selon les données dans la Fonction n°1 indéxée par ktime. space envoie en interne la quantité appropriée du signal à spsend. Les sorties de spsend 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é.

space 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 en utilisant des valeurs xy provenant de la partition plutôt que d'une table de fonction.

instr 1
  ...
  a1, a2, a3, a4     space asig, 0, 0, .1, p4, p5
  ar1, ar2, ar3, ar4 spsend
  
  ga1 = ga1+ar1
  ga2 = ga2+ar2
                     outs  a1, a2
endin

instr 99 ; reverb....
  ....
endin

Quelques notes : p4 et p5 sont les valeurs de x et de y.

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

L'exemple suivant montre une utilisation intuitive simple des valeurs de distance retournées par spdist pour simuler un effet Doppler.

  ktime              line   0, p3, 10
  kdist              spdist 1, ktime
  kfreq = (ifreq * 340) / (340 + kdist)
  asig               oscili iamp, kfreq, 1
  
  a1, a2, a3, a4     space  asig, 1, ktime, .1
  ar1, ar2, ar3, ar4 spsend

Les mêmes fonction et valeurs temporelles sont utilisées pour spdist et pour space. Grâce à cela les valeurs de distance utilisées en interne par l'unité space seront les mêmes que celles retournées par spdist pour donner l'impression de l'effet Doppler !

Voir Aussi

space, spdist

Crédits

Auteur : Richard Karpen
Seattle, WA USA
1998

Nouveau dans la version 3.48 de Csound.