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

## locsig

locsig — Distribue le signal d'entrée entre 2 ou 4 canaux.

## Description

locsig distribue le signal d'entrée entre 2 ou 4 canaux en utilisant des valeurs en degrés pour calculer la balance entre les canaux adjacents. Il y a aussi des arguments pour la distance (pour atténuer les signaux qui doivent être perçus comme s'ils étaient plus éloignés que les haut-parleurs) et pour la quantité de signal qui sera envoyée aux unités de réverbération. Basé sur l'exemple du livre de Charles Dodge/Thomas Jerse, Computer Music, page 320.

## Syntaxe

    a1, a2 locsig asig, kdegree, kdistance, kreverbsend

    a1, a2,  a3, a4 locsig asig, kdegree, kdistance, kreverbsend

## Exécution

kdegree -- valeur entre 0 et 360 pour le placement du signal dans un espace à 2 ou 4 canaux configuré comme ceci : a1=0, a2=90, a3=180, a4=270 (kdegree=45 répartirera également le signal entre a1 et a2). locsig applique kdegree à des fonctions sin et cos pour obtenir les balances du signal (par exemple asig=1, kdegree=45, a1=a2=0.707).

kdistance -- valeur >= 1 pour atténuer le signal et calculer le niveau de réverbération pour simuler l'éloignement. Plus kdistance est important et plus le son sera adouci et quelque peu réverbéré (assumant l'utilisation de locsend dans ce cas).

kreverbsend -- le pourcentage de signal direct qui sera combiné avec les valeurs de distance et de degrés pour obtenir la quantité de signal qui sera envoyée à une unité de réverbération telle que reverb ou reverb2.

## Exemples

Voici un exemple de l'opcode locsig. Il utilise le fichier locsig_quad.csd.

Exemple 514. Exemple de l'opcode locsig.

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 locsig_quad.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    ga1 init 0
    ga2 init 0
    ga3 init 0
    ga4 init 0

    instr 1

    krevsend  = p4
    aout	  diskin2 "beats.wav", 1, 0, 1
    kdegree	  line 0, p3, 360 ;full circle
    kdistance line 1, p3 , 1
    a1, a2, a3, a4     locsig aout, kdegree, kdistance, krevsend
    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, 3.5, .5
    a2 reverb2 ga2, 3.5, .5
    a3 reverb2 ga3, 3.5, .5
    a4 reverb2 ga4, 3.5, .5
       outq	a1, a2, a3, a4

    ga1 = 0
    ga2 = 0
    ga3 = 0
    ga4 = 0

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

    i 1 0  14  .1	;with reverb
    i 1 14 14  0	;no reverb
    i99 0 36
    e
    </CsScore>
    </CsoundSynthesizer>

Dans l'exemple ci-dessus, le signal aout 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é.

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.

    instr 1
      a1, a2             locsig  asig, p4, p5, .1
      ar1, ar2           locsend
      ga1 = ga1+ar1
      ga2 = ga2+ar2
                         outs a1, a
    endin
    instr 99
      ; reverb....
    endin

A few 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

locsend

## Crédits

Auteur : Richard Karpen
Seattle, WA USA
1998

Nouveau dans la version 3.48 de Csound

Précédent | Niveau supérieur | Suivant
locsend | Sommaire | log